Jump to content

  • Log In with Google      Sign In   
  • Create Account

Interested in a FREE copy of HTML5 game maker Construct 2?

We'll be giving away three Personal Edition licences in next Tuesday's GDNet Direct email newsletter!

Sign up from the right-hand sidebar on our homepage and read Tuesday's newsletter for details!


We're also offering banner ads on our site from just $5! 1. Details HERE. 2. GDNet+ Subscriptions HERE. 3. Ad upload HERE.


nRo

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

PARTNERS