Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Suchergebnisse

Suchergebnisse 1-9 von insgesamt 9.

Werbeanzeige

12.11.2015, 00:02

Forenbeitrag von: »Norwido«

Game/Engine Basis-Aufbau

Hallo, ich hoffe das ist der richtige Bereich für die folgende Diskussion. Nach diversen OpenGL Demos (Windows - C++ | Android - Java | Browser - JavaScript) möchte ich nun ein paar Sachen zum Aufbau klären. In so gut wie jedem Tutorial hat man folgenden Aufbau: Quellcode 1 2 3 4 5 6 7 8 9 10 RenderWindow window; GameScene scene; while(window.isOpen()) { scene.update(); window.update(); } window.destroy(); Man erstellt ein Fenster und einen OpenGL-Context, anschließend hat man seine "Main-Game-L...

12.09.2015, 15:27

Forenbeitrag von: »Norwido«

OpenGL Isometric/Diamond Map

Hallo, ich möchte ein Spiel mit isometrischer Ansicht, Pre-Rendered und animierten Grafiken machen. Mein bisheriger Vorgang bei einer reinen 3D-Tilemap war: - Erstellen einer Perspective Projection Matrix - Erstellen einer View Matrix durch Matrix.setLookM() - Multiplizieren der beiden Matrizen und Übergabe an den Shader. - Iteration durch die Tilemap und gruppieren gleicher Tiles um Draw-Calls zu sparen. - ViewMatrix passt ihre Position der Spielfigur an und guckt auf diese. Wenn ich nun die Sp...

27.05.2015, 22:12

Forenbeitrag von: »Norwido«

DirectX 11 Offscreen Rendering in Memory

Zitat von »Legend« Wozu hat deine Capture Texture CPU_ACCESS_WRITE? Und mit Pech synct deine CPU zur GPU wenn du D3DX11SaveTextureToMemory direkt hinter CopyResource aufrufst. D.h. die Funktion wartet bis der Kopiervorgang auch wirklich abgeschlossen ist. Das kann ich aber nicht mit Sicherheit sagen. Und in dem Fall wäre ein memcpy direkt hinterher auch nicht schneller. CPU_ACCESS_WRITE war ein Überbleibsel aus einem Test, mit nur Read macht es auch keinen Unterschied. Ich hatte gelesen dass so...

27.05.2015, 19:11

Forenbeitrag von: »Norwido«

DirectX 11 Offscreen Rendering in Memory

Ich möchte das Abgreifen des Bildes beschleunigen. Wenn sich jemand mit DirectX 11 auskennt und mir vielleicht helfen könnte. Hier mein bisheriger Code: ## INIT ## C-/C++-Quelltext 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 ID3D11Texture2D *backBufferTexture; swapChain->GetBuffer(0, __uuidof(ID3D11Texture2D), (LPVOID*)&backBufferTexture); ID3D11RenderTargetView *backBuffer; device->CreateRenderTargetView(backBufferTexture, NULL, &backBuffer); deviceContext->OMSetRenderTargets(1, &backBuffer, N...

25.05.2015, 11:56

Forenbeitrag von: »Norwido«

DirectX 11 Offscreen Rendering in Memory

Also irgendwas mache ich gewaltig falsch. Ich habe eine Demo erstellt, in ActionScript 3, mit der AIR Runtime und der Away3D Engine. Ich lasse einen texturierten Würfel rotieren und habe die maximale FPS auf 120 gesetzt. - Bei einer Kamera, einer View und dem Auslesen der BitmapData aus der View habe ich 100 - 120 FPS. - Bei vier Kameras, vier Views und auslesen der BitmapData der jeweiligen Kameras habe ich 70 - 100 FPS. (Mehr als vier Views kann ich nicht erstellen da ich sonst zu viele Stage3...

24.05.2015, 21:17

Forenbeitrag von: »Norwido«

DirectX 11 Offscreen Rendering in Memory

Zitat von »dot« Zitat von »Norwido« Wenn ich das Programm ohne CopyResource ausführe und mit Open Broadcaster Software aufnehme ist der FPS-Verlust minimal. Wie minimal denn? Von 13.000 runter auf 12.900, statt von 13.000 runter auf 1.300. Ich möchte mehrere Kameras erstellen, das Bild jeweils abgreifen und im Arbeitsspeicher ablegen, da werde ich wohl um CopyResource() so oder so nicht herumkommen. Bei 20x CopyResource() habe ich immer noch konstant 80 fps, dazu kommt dann später ja noch das S...

24.05.2015, 16:03

Forenbeitrag von: »Norwido«

DirectX 11 Offscreen Rendering in Memory

Ich zeichne ein Rechteck, welches seine Farbe bei jedem Rendern ändert und erhalte folgende FPS Werte: Start: ~13.000 FPS + "CopyResource": ~1.500 FPS + "D3DX11SaveTextureToFile": ~26 FPS Letzteres kann ignoriert werden, da auf die HDD geschrieben wird. Wie man sieht ist der FPS-Verlust von 13.000 auf 1.500 enorm. Wenn ich das Programm ohne CopyResource ausführe und mit Open Broadcaster Software aufnehme ist der FPS-Verlust minimal. Ich bin davon ausgegangen dass wenn ich das "Bild" so früh wie ...

23.05.2015, 22:50

Forenbeitrag von: »Norwido«

DirectX 11 Offscreen Rendering in Memory

Ja das meinte ich mit dem Render to Texture, ich hatte das bereits ausprobiert und mit D3DX11SaveTextureToFile probeweise mal auf die HDD geschrieben. Da war der Aufbau: D3D11CreateDeviceAndSwapChain -> BackBuffer Texture erstellen -> CreateRenderTargetView basierend auf der BackBuffer Texture -> CaptureTexture erstellen -> mappen -> RSSetViewports -> Present Meine Frage ist, ist das der schnellste Weg ? - So wie ich das verstehe wird zuerst in die BackBufferTexture gerendet und dann in die Capt...

23.05.2015, 19:04

Forenbeitrag von: »Norwido«

DirectX 11 Offscreen Rendering in Memory

Hallo, ich habe von Render to Texture gelesen bei dem man mit einem zweiten Buffer, eine Texture als Renderziel nimmt. Für diese Texture habe ich aber keine Verwendung, das gerenderte Bild soll auf dem Computer nie angezeigt werden. Mein derzeitiger Aufbau ist: D3D11CreateDeviceAndSwapChain -> CreateRenderTargetView -> OMSetRenderTargets -> RSSetViewports -> Present In Zukunft möchte ich ohne SwapChain arbeiten, nur mit D3D11CreateDevice und D3D11CreateDevice::Flip. Im Grunde möchte ich das gere...

Werbeanzeige