2017-08-05 1 views
0

maintenant je travaille à une profondeur de champ shader. Voici comment cela fonctionne:LibGDX comment puis-je obtenir un depthbuffer à partir de FrameBuffer?

Je rends toute la scène à un FrameBuffer puis j'applique le shader. Mais, il y a un problème: Comment est-ce que je passe le depthbuffer comme uniforme au shader? Je ne le trouvais nulle part dans les méthodes de FrameBuffer.

Toute aide est appréciée.

+0

Vous souhaiterez peut-être publier votre code et passer en revue cet article: https://stackoverflow.com/help/how-to-ask – Aron

Répondre

0

Ce n'est pas un utilisateur de LibGDX (j'utilise LWJGL), mais dans OpenGL vous devez passer les framebuffers comme textures à un shader. Dans LibGDX, FrameBuffer s'étend GLFrameBuffer. Afin d'obtenir la texture de profondeur d'un FrameBuffer, vous devez appeler getDepthBufferHandle(), puis le traiter comme vous le feriez d'une texture.