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!
Werbeanzeige
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
IDirect3DTexture9* d3dTexture = 0; D3DFORMAT d3dFormat = D3DFMT_D32; // Format fuer eine Depth-Texture DWORD d3dUsage = D3DUSAGE_DEPTHSTENCIL; bool MipMaps = true; int Width = 256, Height = 256; HRESULT d3dError = pDirect3DDevice_->CreateTexture( Width Height, MipMaps ? 0 : 1, d3dUsage | (MipMaps ? D3DUSAGE_AUTOGENMIPMAP : 0), d3dFormat, D3DPOOL_MANAGED, &d3dTexture, 0 ); if (d3dError) MessageBox(0, TEXT("Could not create Direct3D9 texture"), TEXT("Error"), MB_OK | MB_ICONERROR); // Kommt leider immer, wenn ich ein anderes Format as "D3DFMT_A8R8G8B8" nehme :-( |
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »LukasBanana« (16.06.2010, 15:13)
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 |
glTexImage2D( GL_TEXTURE_2D, 0, // (MIP-Level) GL_DEPTH_COMPONENT, // Hier setzte ich normaler Weise immer nur 1, 2, 3 oder 4 ein. Wann muss man hier die GL macros verwenden?? Width, Height, 0, // (Border) GL_LUMINANCE, // Was muss ich hier als Format nehmen, damit ich eine TiefenTexture bekommen?? GL_UNSIGNED_BYTE, ImageBuffer // (unisgned char* ImageBuffer) ); |
Ab wann wird es wichtig, dass man die OpenGL macros (z.B. GL_RGB oder GL_DEPTH_COMPONENT) verwendet?
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »dot« (17.06.2010, 12:16)
Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von »dot« (17.06.2010, 12:43)
Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von »dot« (17.06.2010, 13:04)
Ich möchte einfach möglichst viele PixelFormate in meiner 3D Engine zur Verfügung stellen =)
Gibt's auch sowas wie eine Stencil Texture? In Direct3D9 gibt's das afaik. Ich vermute mal, dass das auch wirgendwie über GL_DEPTH_COMPONENT läuft.
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
GLuint DepthTexID; glGenTextures(1, &DepthTexID); glBindTexture(GL_TEXTURE_2D, DepthTexID); glTexImage2D( GL_TEXTURE_2D, 0, GL_DEPTH_COMPONENT32, Width, Height, 0, GL_DEPTH_COMPONENT, GL_FLOAT, 0 // Float da Tiefen-Informationen in 4 byte floating-point genauer sind und 0 als ImageBuffer da es ja als FrameBufferObject genutzt wird ); glGenFramebuffersEXT(1, &FrameBufferID); glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, FrameBufferID); glFramebufferTexture2DEXT(GL_FRAMEBUFFER_EXT, GL_DEPTH_ATTACHMENT_EXT, GL_TEXTURE_2D, DepthTexID, 0); // Das funktioniert bei mir nur mit GL_COLOR_ATTACHMENT0_EXT glFramebufferRenderbufferEXT(GL_FRAMEBUFFER_EXT, GL_DEPTH_ATTACHMENT_EXT, GL_RENDERBUFFER_EXT, DepthBufferID); glGenRenderbuffersEXT(1, &DepthBufferID); glBindRenderbufferEXT(GL_RENDERBUFFER_EXT, DepthBufferID); glRenderbufferStorageEXT(GL_RENDERBUFFER_EXT, GL_DEPTH_COMPONENT24, Width, Height); |
Werbeanzeige