CSharpGL.Renderer.SetUniform C# (CSharp) Méthode

SetUniform() public méthode

public SetUniform ( string varNameInShader, bool value ) : bool
varNameInShader string
value bool
Résultat bool
        public bool SetUniform(string varNameInShader, bool[] value)
        {
            //if ((!this.Initialized) && (!this.Initializing)) { this.Initialize(); }

            bool gotUniform = false;
            bool updated = false;
            if (value.Length <= 0) { return updated; }

            foreach (UniformVariable item in this.uniformVariables)
            {
                if (item.VarName == varNameInShader)
                {
                    (item as UniformBoolArray).Value = new NoisyArray<bool>(value);
                    updated = true;
                    gotUniform = true;
                    break;
                }
            }

            if (!gotUniform)
            {
                //int location = Program.GetUniformLocation(varNameInShader);
                //if (location < 0)
                {
                    //throw new Exception(string.Format(
                    //"niform variable [{0}] not exists! Remember to invoke RendererBase.Initialize(); before this method.", varNameInShader));
                }

                var variable = GetVariableArray(value, varNameInShader) as UniformBoolArray;
                variable.Value = new NoisyArray<bool>(value);
                this.uniformVariables.Add(variable);
                updated = true;
            }

            return updated;
        }

Same methods

Renderer::SetUniform ( string varNameInShader, float value ) : bool
Renderer::SetUniform ( string varNameInShader, CSharpGL.mat2 value ) : bool
Renderer::SetUniform ( string varNameInShader, mat3 value ) : bool
Renderer::SetUniform ( string varNameInShader, CSharpGL.mat4 value ) : bool
Renderer::SetUniform ( string varNameInShader, samplerValue value ) : bool
Renderer::SetUniform ( string varNameInShader, vec2 value ) : bool
Renderer::SetUniform ( string varNameInShader, vec3 value ) : bool
Renderer::SetUniform ( string varNameInShader, vec4 value ) : bool

Usage Example

Exemple #1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="arg"></param>
        public override void Render(RenderEventArg arg)
        {
            Renderer renderer = this.Renderer;

            if (renderer != null)
            {
                mat4 projection, view, model;
                if (this.TryGetMatrix(arg, out projection, out view, out model))
                {
                    renderer.SetUniform(strprojection, projection);
                    renderer.SetUniform(strview, view);
                    renderer.SetUniform(strmodel, model);
                    renderer.Render(arg);
                }
            }
        }
All Usage Examples Of CSharpGL.Renderer::SetUniform