2016-07-11 2 views

답변

3

텍스처 개체를 쿼리하여 what its texture target is을 찾을 수 없습니다. 그게 당신이 기억해야 할 것입니다. 그래서 텍스처가 주어졌고 그것이 GL_TEXTURE_2D_MULTISAMPLE인지 여부를 모르는 경우 유일한 방법은 모든 텍스처 타겟을 바인딩하려고 시도하는 것입니다. 각 바인딩 후에 OpenGL 오류가 있는지 확인하십시오. 이 아닌 경우 올바른 대상입니다.

목표가 무엇인지 알았 으면 GL_TEXTURE_SAMPLES 열거 형을 사용하여 밉맵 레벨 0에 대해 glGetTexLevelParameter의 샘플 수를 쿼리 할 수 ​​있습니다.

위의 모든 내용은 ARB_direct_state_access/OpenGL 4.5에 액세스 할 수없는 경우에 해당됩니다. 새로운 API를 사용하면 텍스처의 타겟을 더 이상 알 필요가 없습니다. 텍스처 객체 자체에 glGetTextureLevelParameter을 호출하면됩니다. GL_TEXTURE_SAMPLES 매개 변수가 0이면 다중 샘플 이미지가 아닙니다.

+0

이 경우에는 필요없는 것처럼 보이지만, OpenGL 4.5에서는 텍스처 타겟이'glGetTextureLevelParameter (GL_TEXTURE_TARGET, ...)'로 쿼리 될 수 있다는 것을 알아 냈습니다. –

+0

@RetoKoradi : ARB_direct_state_access는 'GL_TEXTURE_TARGET' 쿼리를 도입하고 동시에 무의미한 API를 도입했습니다. 아이러니, 네 이름은 ARB이다. –

+0

이전 글에서'glGetTextureParameteriv (GL_TEXTURE_TARGET, ...)'이되어 있었음에 틀림 없다. 유용하지 않은 경우도있을 수 있습니다. –

관련 문제