Exemplo n.º 1
0
 public void setUniform(UniformData ud)
 {
     currentUniformData++;
     myUniforms[currentUniformData] = ud;
 }
Exemplo n.º 2
0
        public void setUniform(UniformData uni)
        {
            Uniform uniform = null;

            for (int i = 0; i < myUniforms.Count; i++)
            {
                int loc = (i + myNextSearchUniform) % myUniforms.Count;
                if (myUniforms[loc].location == uni.location)
                {
                    myNextSearchUniform = loc + 1;
                    uniform             = myUniforms[loc];
                    break;
                }
            }

            if (uniform != null)
            {
                switch (uni.type)
                {
                case Uniform.UniformType.Bool:
                    uniform.setValue((bool)uni.data);
                    break;

                case Uniform.UniformType.Int:
                    uniform.setValue((int)uni.data);
                    break;

                case Uniform.UniformType.Float:
                    uniform.setValue((float)uni.data);
                    break;

                case Uniform.UniformType.Vec2:
                    uniform.setValue((Vector2)uni.data);
                    break;

                case Uniform.UniformType.IVec2:
                    uniform.setValue((Vector2)uni.data);
                    break;

                case Uniform.UniformType.Vec3:
                    uniform.setValue((Vector3)uni.data);
                    break;

                case Uniform.UniformType.IVec3:
                    uniform.setValue((Vector3)uni.data);
                    break;

                case Uniform.UniformType.Vec4:
                    uniform.setValue((Vector4)uni.data);
                    break;

                case Uniform.UniformType.IVec4:
                    uniform.setValue((Vector4)uni.data);
                    break;

                case Uniform.UniformType.Color4:
                    uniform.setValue((Color4)uni.data);
                    break;

                case Uniform.UniformType.Mat4:
                    uniform.setValue((Matrix4)uni.data);
                    break;

                case Uniform.UniformType.Mat4Array:
                    uniform.setValue((Matrix4[])uni.data);
                    break;
                }

                uniform.apply();
            }
        }