Esempio n. 1
0
        public bool SetUniform(ShaderProgram shaderProgram, int location, ShaderUniformName dataName)
        {
            switch (dataName)
            {
            case ShaderUniformName.LightPositionOrDirection:
                shaderProgram.SetVec3Uniform(location, GetPosDir());
                break;

            case ShaderUniformName.LightColor: shaderProgram.SetVec3Uniform(location, color);
                break;

            case ShaderUniformName.LinearAttenuation:
                shaderProgram.SetFloatUniform(location, linearAttenuation);
                break;

            case ShaderUniformName.QuadraticAttenuation:
                shaderProgram.SetFloatUniform(location, quadraticAttenuation);
                break;

            default:
                return(false);
            }
            return(true);
        }
Esempio n. 2
0
        public bool SetUniform(ShaderProgram program, int location, ShaderUniformName name)
        {
            switch (name)
            {
            case ShaderUniformName.DiffuseColor:
                program.SetVec3Uniform(location, light.color);
                break;

            case ShaderUniformName.Alpha:
                program.SetFloatUniform(location, 1.0f);
                break;

            default:
                return(false);
            }
            return(true);
        }
Esempio n. 3
0
        public bool SetUniform(ShaderProgram program, int location, ShaderUniformName name)
        {
            switch (name)
            {
            case ShaderUniformName.ViewMatrix:
                viewMatrix.Matrix = GetViewMatrix();
                viewMatrix.SetToShader(program, location);
                break;

            case ShaderUniformName.ProjectionMatrix:
                projectionMatrix.SetToShader(program, location);
                break;

            case ShaderUniformName.CameraPosition:
                program.SetVec3Uniform(location, Position);
                break;

            default:
                return(false);
            }
            return(true);
        }