如何向顶点着色器传颜色?

发布时间 2023-05-26 15:10:07作者: 2086nmj
            string vs =
                @"#version 330

                  layout(location = og_positionVertexLocation) in vec4 position;
                  uniform mat4 og_modelViewPerspectiveMatrix;

                  void main()                     
                  {
                        gl_Position = og_modelViewPerspectiveMatrix * position; 
                  }";

            string fs =
                @"#version 330
                 
                  out vec3 fragmentColor;
                  uniform vec3 u_color;

                  void main()
                  {
                      fragmentColor = u_color;
                  }";
            ShaderProgram sp = Device.CreateShaderProgram(vs, fs);
            ((Uniform<Vector3F>)sp.Uniforms["u_color"]).Value = new Vector3F(1, 0, 0);

参考1:https://www.khronos.org/opengl/wiki/Vertex_Shader#Input

参考2:https://www.cnblogs.com/virhuabbs/p/16624259.html

参考3:https://www.bilibili.com/read/cv17388210/