Jump to content

  • Log In with Google      Sign In   
  • Create Account


Member Since 06 Sep 2012
Offline Last Active Sep 28 2012 04:12 AM

Topics I've Started

2D Lighting - texture problem

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.
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?