public SetUniform ( string varNameInShader, bool value ) : bool | ||
varNameInShader | string | |
value | bool | |
Результат | 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;
}
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 |
/// <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); } } }