1

頂点シェーダーとフラグメント シェーダーがあり、テクスチャではなくソリッド カラーを表示したいと考えています。

次の頂点シェーダーとフラグメント シェーダーがあります。

static const char* meshVertexShader = " \
  \
attribute vec4 vertexPosition; \
attribute vec4 vertexNormal; \
attribute vec2 vertexTexCoord; \
 \
varying vec2 texCoord; \
varying vec4 normal; \
 \
uniform mat4 modelViewProjectionMatrix; \
 \
void main() \
{ \
   gl_Position = modelViewProjectionMatrix * vertexPosition; \
   normal = vertexNormal; \
   texCoord = vertexTexCoord; \
} \
";


static const char* fragmentShader = " \
 \
precision mediump float; \
 \
varying vec2 texCoord; \
varying vec4 normal; \
 \
uniform sampler2D texSampler2D; \
 \
void main() \
{ \
   gl_FragColor = texture2D(texSampler2D, texCoord); \
} \
";

テクスチャを表示しないようにフラグメント シェーダを変更するにはどうすればよいですか? (私の英語でごめんなさい)。

ありがとう。

4

1 に答える 1

3

変化する

gl_FragColor = texture2D(texSampler2D, texCoord);

gl_FragColor = vec4(1,1,1,1);

テクスチャの代わりに白い色を描画します。

于 2010-12-04T17:50:26.857 に答える