음, 텍스처의 색상을 일정한 색상으로 결합하는 것입니다. 따라서 그레이 스케일 텍스처가 있습니다 (동일한 값을 갖는 색상의 모든 구성 요소가있는 GL_RGB
텍스처이거나 단지 GL_LUMINANCE
텍스처). 두 색상의 실제 조합은 OpenGL ES 버전에 따라 다릅니다.
ES 1에서 당신은 개체의/정점 '컬러 텍스처 색상 (중 조명이 비활성화 된 경우, 귀하의 경우 보인다 조명에 의해 계산 또는 glColor
또는 glColorPointer
설정)을 증식하기 위해 GL_MODULATE
텍스처 환경을 사용 :
이 물론 ES 2에서
glColor(...);
glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
//draw a textured object
는 프레 그먼트 쉐이더에서 스스로해야 할 일 : 모든 일이 당신에게 아무 말도하지 않은 경우 (버전에 따라)
uniform sampler2D tex;
uniform vec4 color;
varying vec2 texCoord;
void main()
{
gl_FragColor = color * texture2D(tex, texCoord).r;
}
, 당신해야 아마 델를 OpenGL ES의 기초를 조금만 드러내고 텍스처를 일정한 색상과 결합하는 것이 가장 중요한 문제입니다.
아, 지금은 효과가 있지만, 질감이 주로 검은 색이어서 색상이별로 효과가없는 것으로 보입니다. 더 강한 색상을 만들 수있는 다른 환경 변수 또는 블렌드 함수가 있는지 궁금하거나 브러시 그레이 스케일 마스크를 밝게해야합니까? –
@TomPennetta 음, 물론 색상은 브러시가 흰색 인 곳입니다. 브러쉬가 검은 색으로 표시되면 (이미지라고도 함) 색을 전환해야합니다. 또한 밝기를 원하면 밝게해야합니다. 정확한 색상은 완전히 흰색 부분에서만 나타납니다. 나머지는 모두 어두울 수 있습니다. 알파 블렌딩을 사용하여 추가 효과 (브러시로 한 번 이상 칠한 부분이 더 밝음)를 얻으려고 시도 할 수 있지만, 원하는지 알 수 없습니다. –
Photoshop에서는 브러시가 어두울수록 색상이 더 강해지는 것으로 익숙합니다. 정보 주셔서 감사합니다! –