Jump to content

View more

Image of the Day

The night is still, but the invasion brings chaos. #screenshotsaturday #hanako #indiegame #gameart #ue4 #samurai https://t.co/cgILXuokoS
IOTD | Top Screenshots

The latest, straight to your Inbox.

Subscribe to GameDev.net Direct to receive the latest updates and exclusive content.


Sign up now

2D Lighting - texture problem

4: Adsense

Old topic!

Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.


  • You cannot reply to this topic
1 reply to this topic

#1 nRo   Members   

126
Like
0Likes
Like

Posted 06 September 2012 - 08:25 PM

Hi all!
I am trying to implement a lighting-shadow engine in my litte 2d java game.
I followed this tutorial.
http://www.gamedev.n...t-shadows-r2032
In contrary to the tutorial, I am using textures for my entites.
All my Z-values (Lights,Background and Entities) are 0.

[source lang="java"]function render(): clearZBuffer() fillZBuffer() foreach(light in lights) clearAlpha() glEnable(GL.GL_DEPTH_TEST); glDisable(GL.GL_BLEND); glColorMask(false, false, false, true); renderLightAlpha(light); glEnable(GL.GL_BLEND); glBlendFunc(GL.GL_ZERO, GL.GL_ONE_MINUS_SRC_ALPHA); renderShadows(light); glDisable(GL.GL_DEPTH_TEST); glEnable(GL.GL_DEPTH_TEST); glColorMask(true, true, true, false); renderBackgroundTexture(); if (light.DrawSource()) { renderLightSource(light); } renderEntities(); glDisable(GL.GL_DEPTH_TEST); glDisable(GL.GL_BLEND); function clearZBuffer() glClearDepth(1); glClearColor(0, 0, 0, 0); glClear(GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT|GL.GL_STENCIL_BUFFER_BIT); function fillZBuffer() glEnable(GL.GL_DEPTH_TEST); glDepthMask(true); glColorMask(false, false, false, false); renderBackgroundTexture(); renderEntities(); glDepthMask(false); glDisable(GL.GL_DEPTH_TEST);function clearAlpha() glColorMask(false, false, false, true); glClear(GL.GL_COLOR_BUFFER_BIT);[/source]
here is a picture of my output:
Posted Image
My Problem is, that the entity textures are not rendered correctly. It seems like black parts are not at all.
It works when I enable colorwriting in the fillZBuffer function:
Posted Image

Does anyone know how I can get the textures fully drawn without enabling colorwriting while filling the zBuffer?

#2 nRo   Members   

126
Like
0Likes
Like

Posted 07 September 2012 - 07:18 PM

It is working now. I forgot to enable writing to the depth buffer while clean it. And I had to enable GL_ALPHA_TEST to get the transparency of the textures while filling the depth buffer.

gl.glEnable ( GL2.GL_ALPHA_TEST ) ;
gl.glAlphaFunc ( GL.GL_GREATER, 0.1f) ;






Old topic!

Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.