BL_Shader.setUniformEyef(name)
authorBenoit Bolsee <benoit.bolsee@online.be>
Thu, 9 Jun 2016 22:28:19 +0000 (00:28 +0200)
committerBenoit Bolsee <benoit.bolsee@online.be>
Sat, 11 Jun 2016 20:24:18 +0000 (22:24 +0200)
commitc0bf881ebfa93784946ee3d03ccf15122c1b74c3
tree5a3f2e87a27ea5837913d684b2bae113226025d2
parentfa9bb2ffe97334a5c686b954673af118c41d1a6d
BL_Shader.setUniformEyef(name)

    defines a uniform that reflects the eye being rendered in stereo mode:
    0.0 for the left eye, 0.5 for the right eye.
    In non stereo mode, the value of the uniform is fixed to 0.0.
    The typical use of this uniform is in stereo mode to sample stereo textures
    containing the left and right eye images in a top-bottom order.

    python:
      shader = obj.meshes[0].materials[mat].getShader()
      shader.setUniformEyef("eye")

    shader:
      uniform float eye;
      uniform sampler2D tex;
      void main(void)
      {
         vec4 color;
         float ty, tx;
         tx = gl_TexCoord[0].x;
         ty = eye+gl_TexCoord[0].y*0.5;
         // ty will be between 0 and 0.5 for the left eye render
         // and 0.5 and 1.0 for the right eye render.
         color = texture(tex, vec2(tx, ty));
         ...
      }
doc/python_api/rst/bge_types/bge.types.BL_Shader.rst
source/gameengine/Ketsji/BL_Shader.cpp
source/gameengine/Ketsji/BL_Shader.h