2010-12-04 5 views
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); \ 
} \ 
"; 

텍스처를 표시하지 않으려면 어떻게 조각 쉐이더를 수정해야합니까? (나의 영어를 위해 유감스럽게 생각한다).

감사합니다.

답변

2

변경

gl_FragColor = texture2D(texSampler2D, texCoord); 

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

에 대신 질감의 화이트 색상을 그릴 것입니다.

+1

원하는 경우 texCoord 및 texSampler2D에 대한 모든 참조를자를 수 있음을 의미합니다. 그러나 컴파일러는 자동으로 어쨌든이를 제거합니다. – Tommy

관련 문제