OpenGL + GLSL 셰이더로 텍스처에 렌더링하려고합니다. 시작을 위해 흰색으로 30x30 텍스처의 모든 픽셀을 채우려고합니다. 텍스처의 각 픽셀을 나타내는 0에서 899까지의 버텍스 쉐이더 인덱스로 전달합니다. 이 올바른지? 버텍스 쉐이더 :OpenGL GLSL이 텍스처로 렌더링됩니다.
flat in int index;
void main(void) {
gl_Position = vec4((index % 30)/15 - 1, floor(index/30)/15 - 1, 0, 1);
}
조각 쉐이더 :
out vec4 color;
void main(void) {
color = vec4(1, 1, 1, 1);
}
텍스처의 모든 단일 픽셀의 색상을 변경할 수 있고 GL_POINTS를 사용하고 있기 때문에 900 개의 꼭지점을 렌더링하려고합니다. – user1760770
@ user1760770 : 음, 그 쿼드 앱솔루트를 사용하여 모든 단일 포인트의 색상을 변경할 수도 있습니다. 조각 쉐이더는 모든 단일 조각에 대해 호출됩니다. 프래그먼트 쉐이더로 데이터를 가져 오는 방법에 대해 걱정하는 경우 : 텍스처가 스탠드 래드 응답입니다. TBO를 사용하여 FS의 일부 버퍼 객체에 직접 액세스 할 수도 있습니다. – derhass
조각 쉐이더에서 조각의 위치를 얻는 방법을 잘 모르겠습니다. – user1760770