OpenGL: Stencil Buffer y reflejos

Una de los posibles usos del Stencil Buffer en OpenGL, es en la de añadir objetos reflejados, por ejemplo, en un suelo.

La estrategia a seguir es la siguiente: para simular un reflejo en OpenGL emplearemos un plano que actúe como suelo, y dibujaremos los objetos de nuestra escena dos veces, una de ellas boca abajo empleando un escalado (1,-1,1), que son los que actuarán como reflejo. Para que el reflejo no se salga del suelo haremos un recortado 2D empleando el Stencil Buffer, y para que el reflejo no esté nunca por encima del suelo haremos un recortado 3D con la ecuación del plano (0,-1,0,0).

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS