SetUniform() public method

public SetUniform ( string uniformName, bool v0 ) : int
uniformName string
v0 bool
return int
 public override void SetUniform(ShaderProgram program)
 {
     if (glActiveTexture == null)
     { glActiveTexture = OpenGL.GetDelegateFor<OpenGL.glActiveTexture>(); }
     for (int i = 0; i < this.value.Length; i++)
     {
         glActiveTexture(this.value[i].ActiveTextureIndex);
         //OpenGL.BindTexture(OpenGL.GL_TEXTURE_2D, this.value[i].TextureId);
         OpenGL.BindTexture(this.value[i].target, this.value[i].TextureId);
         // TODO: assign the first location or last?
         this.Location = program.SetUniform(VarName, this.value[i].activeTextureIndex);
     }
 }
Example #2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="arg"></param>
        public void Render4Picking(RenderEventArgs arg)
        {
            if (!this.IsInitialized)
            {
                this.Initialize();
            }

            UpdatePolygonMode(arg.PickingGeometryType);

            ShaderProgram program = this.Program;

            // 绑定shader
            program.Bind();
            program.SetUniform("pickingBaseId",
                               (int)this.PickingBaseId);
            UniformMat4 uniformmMVP4Picking = this.uniformmMVP4Picking;

            {
                mat4 projection = arg.Camera.GetProjectionMatrix();
                mat4 view       = arg.Camera.GetViewMatrix();
                mat4 model      = this.GetModelMatrix().Value;
                uniformmMVP4Picking.Value = projection * view * model;
            }
            uniformmMVP4Picking.SetUniform(program);

            PickingStateesOn();

            this.vertexArrayObject.Render(arg, program);

            PickingStateesOff();

            //if (mvpUpdated) { uniformmMVP4Picking.ResetUniform(program); }

            // 解绑shader
            program.Unbind();
        }
Example #3
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="program"></param>
 public override void SetUniform(ShaderProgram program)
 {
     this.Location = program.SetUniform(VarName, this.Value.Array);
 }
Example #4
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="program"></param>
 public override void SetUniform(ShaderProgram program)
 {
     this.Location = program.SetUniform(VarName, value.x, value.y, value.z, value.w);
 }
Example #5
0
 public override void SetUniform(ShaderProgram program)
 {
     this.Location = program.SetUniform(VarName, value.x, value.y);
 }
Example #6
0
        public override void SetUniform(ShaderProgram program)
        {
            vec2 value = this.value;

            program.SetUniform(VarName, value.x, value.y);
        }
Example #7
0
 public override void SetUniform(ShaderProgram program)
 {
     program.SetUniform(VarName, value);
 }
Example #8
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="program"></param>
 public override void SetUniform(ShaderProgram program)
 {
     this.Location = program.SetUniform(VarName, value.x ? 1 : 0, value.y ? 1 : 0, value.z ? 1 : 0);
 }