Ejemplo n.º 1
0
        private Uniform Add(string typeString, string name, OpenTK.Graphics.OpenGL.ActiveUniformType type, ISampler sampler)
        {
            var uniform = new Uniform(name, -1, 1, type);

            uniform.Sampler = sampler;
            sb.Append("uniform ").Append(typeString).Append(" ").Append(name).Append(";\n");
            uniform.TextureUnitIndex = samplers.Count;
            samplers.Add(uniform);
            samplerDictionary[name] = uniform;
            return(uniform);
        }
Ejemplo n.º 2
0
        public string TypeStr(OpenTK.Graphics.OpenGL.ActiveUniformType type)
        {
            switch (type)
            {
            case OpenTK.Graphics.OpenGL.ActiveUniformType.Int:          return("int  ");

            case OpenTK.Graphics.OpenGL.ActiveUniformType.UnsignedInt:  return("uint ");

            case OpenTK.Graphics.OpenGL.ActiveUniformType.Float:        return("float");

            case OpenTK.Graphics.OpenGL.ActiveUniformType.FloatVec2:    return("vec2 ");

            case OpenTK.Graphics.OpenGL.ActiveUniformType.FloatVec3:    return("vec3 ");

            case OpenTK.Graphics.OpenGL.ActiveUniformType.FloatVec4:    return("vec4 ");

            case OpenTK.Graphics.OpenGL.ActiveUniformType.FloatMat4:    return("mat4 ");

            default: throw new ArgumentOutOfRangeException();
            }
        }
Ejemplo n.º 3
0
        public string TypeStr(OpenTK.Graphics.OpenGL.ActiveUniformType type)
        {
            switch (type)
            {
            case OpenTK.Graphics.OpenGL.ActiveUniformType.Int:          return("int  ");

            case OpenTK.Graphics.OpenGL.ActiveUniformType.UnsignedInt:  return("uint ");

            case OpenTK.Graphics.OpenGL.ActiveUniformType.Float:        return("float");

            case OpenTK.Graphics.OpenGL.ActiveUniformType.FloatVec2:    return("vec2 ");

            case OpenTK.Graphics.OpenGL.ActiveUniformType.FloatVec3:    return("vec3 ");

            case OpenTK.Graphics.OpenGL.ActiveUniformType.FloatVec4:    return("vec4 ");

            // \todo !!! XXX FIXME HACK type (mat4) not implemented in uniform blocks
            case OpenTK.Graphics.OpenGL.ActiveUniformType.FloatMat4:    return("vec4 ");

            default: throw new ArgumentOutOfRangeException();
            }
        }