다음과 같은 문제가 있다고 가정 해 봅니다. 이제 프레임 버퍼가 있고 텍스처에 이미 하나의 색상 구성 요소 (예 : GL_RED) 만 포함되어 있습니다. 이미 바인딩되어 있습니다. 조각 셰이더는 어떻게 생겼을까요? 내 대답은 :GLSL 프래그먼트 셰이더 출력 유형
... out float ex_color;
ex_color = ...;
내 질문은 다음과 같습니다. 쉐이더가 프레임 버퍼의 형식을 자동으로 감지하여 값을 쓸까요? 프래그먼트 셰이더가 부동 소수점 값을 출력하지만 프레임 버퍼 형식이 GL_RGBA 인 경우 어떻게합니까?
그런데 올바른 방법으로 텍스처를 만들려면 하나의 구성 요소 만 있습니까? 다음과 같은 샘플이있는 g-truc의 예제를 읽었습니다.
glTexImage2D (GL_TEXTURE_2D, 0, GL_RED, GLsizei (Texture.dimensions(). x), GLsizei (Texture.dimensions(). y), 0, GL_RGB, GL_UNSIGNED_BYTE, 0);
픽셀 데이터 형식으로 GL_RGB를 할당한다는 것은 무엇을 의미합니까?
'GL_RED'가 유효한 내부 형식이라고 생각하지 않습니다. 필요한 것은 실제 크기의 내부 형식 (아마도'GL_R8') 일 것입니다. –
그래서 여기는 혼란 스럽습니다. 그러나이 샘플은 모두 실행 한 후에도 잘 실행됩니다. glTexImage2D 함수에서 내부 형식, 형식 및 형식에 대해 더 자세히 설명 할 수 있습니까? – user2310794
* "여기가 내가 혼란 스럽다."* - 당신이 혼란스러워하는 유일한 것이 아닙니다. 하지만 지금 당장은 모든 것을 잘 설명 할 시간이 없으므로 * Nicol Bolas *, datenwolf * 또는 다른 누군가가 뛰어 들어 모든 사람에게 진정한 답을주기를 바랍니다. 그 질문들. –