[Coin-discuss] How to use multiple SoTexture3 nodes for a SoShaderProgram

Reynolds, Nathaniel nathaniel.reynolds at istb.unibe.ch
Fri Jan 15 08:59:36 EST 2010


Hi,

I don't have any previous OpenGL experience, and now I'm trying to create a shader program (using glsl) that utilizes 3 different SoTexture3 nodes. I know I have to set a unique texture unit value for each of these nodes, but SoTextureUnit doesn't seem to accomplish this. How else can I do this? I've been trying something like...

Separator{
    TextureUnit{ value 0 }
    Texture3{  }
    TextureUnit{ value 1 }
    Texture3{  }
    TextureUnit{ value 2 }
    Texture3{  }
    ShaderProgram {
      shaderObject [
        VertexShader {
          sourceProgram "myvertexshader.glsl"
        }
        FragmentShader {
          sourceProgram "myfragmentshader.glsl"
          parameter [
            ShaderParameter1i { name "sameAsInGlslCode0" value 0 }
            ShaderParameter1i { name "sameAsInGlslCode1" value 1 }
            ShaderParameter1i { name "sameAsInGlslCode2" value 2 }
          ]
        }
      ]
    }
    Cube { }
  }

Any help would be much appreciated.

Thanks
Nat




More information about the Coin-discuss mailing list