표준 OpenGL 텍스처의 경우 필터링 상태는 텍스처의 일부이므로 텍스처를 만들 때 정의해야합니다. 이는 다음과 같은 코드로 연결됩니다.멀티 샘플 텍스처를 올바르게 생성
glGenTextures(1,&_texture_id);
glBindTexture(GL_TEXTURE_2D,_texture_id);
glTexParameterf(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_NEAREST);
glTexParameterf(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_NEAREST);
glTexImage2D(...);
이것은 완벽하게 작동합니다. 다중 샘플 텍스처 (FBO에서 사용하기 위해)를 만들려고합니다. 내가 디버그 컨텍스트를 사용하고
glGenTextures(1,&_texture_id);
glBindTexture(GL_TEXTURE_2D_MULTISAMPLE,_texture_id);
glTexParameterf(GL_TEXTURE_2D_MULTISAMPLE,GL_TEXTURE_MIN_FILTER,GL_NEAREST);
glTexParameterf(GL_TEXTURE_2D_MULTISAMPLE,GL_TEXTURE_MAG_FILTER,GL_NEAREST);
glTexImage2DMultisample(...);
,이 코드를 처음 glTexParameterf(...)
호출이 발생합니다 : 코드는 매우 유사하다
GL_INVALID_ENUM 오류가 발생. 멀티 샘플 텍스처 타겟이 샘플러 상태를 지원하지 않습니다.
이것이 무엇을 의미하는지 알지 못합니다. 멀티 샘플 텍스처는 가장 가까운 필터링 만 지원합니다. 나는 이것을 지정하고있다. 일부 호출 (특히 glTexParameterf(...)
)에 대해 GL_TEXTURE_2D_MULTISAMPLE
은 설명서에 나열된 입력이 아니라는 사실을 알게되었습니다. 실제로는 유효하지 않은 열거 형 오류를 설명 할 수 있습니다. 그러나 받아 들여지지 않으면 가장 가까운 필터링을 어떻게 설정해야합니까?
필자는 멀티 샘플 텍스처를 사용하지 않았지만 가장 가까운 필터링 만 지원되므로 설정하지 않아도됩니다. 코드가'glTexParameterf' 호출없이 작동합니까? – GuyRT
있습니다. 출처를 찾을 수 있으면 답변으로 게시하고 동의 할 것입니다. – imallett