【发布时间】:2014-05-18 04:20:27
【问题描述】:
所以我有一个在对象上绘制一组的 opengl 程序。当我绘制这些对象时,我想使用我的着色器程序是一个顶点着色器和一个专门的顶点着色器。基本上,我的目标是根据纹理计算调整顶点着色器内模型的高度。就是这样。否则,我希望像使用裸 openGL(无着色器)一样绘制对象。我不想实现片段着色器。
但是我还没有找到如何制作它,所以我可以拥有一个只有顶点着色器而没有其他任何东西的着色器程序。忘记了关于调整模型高度的部分,到目前为止我有:
gl_FrontColor = gl_Color;
gl_Position = modelViewProjectionMain * Position;
它可以将对象转换到正确的位置,但是当我这样做时,我会丢失纹理坐标和光照信息(法线丢失)。我错过了什么?如何编写“无所事事”的顶点着色器?也就是说,一个顶点着色器你可以在用法线绘制带纹理的 .obj 时关闭和打开,不会有区别吗?
【问题讨论】:
-
你的 "do nothing" 顶点着色器实际上是
gl_Position = ftransform ();。当然,这已被弃用,但你的问题让我相信这并不重要。
标签: opengl glsl vertex-shader