텍스처 유닛을 끄거나 최소한 텍스처를 바인딩 할 때 상태 유닛이 변경되지 않도록하려면 어떻게합니까? 나는 쉐이더를 사용하고있어 glDisable이 없다고 생각하지 않는다. 텍스처 2의 생성 있기 때문에 텍스처 유닛의 상태와 관련된 될 것, 이것이 가능하지 않은 것,OpenGL, 텍스처 유닛 glActiveTexture 및 glBindTexture를 비활성화합니다.
Create texture 1 (implies binding it)
Use texture 1 with texture unit 1
Create texture 2 (implies binding it)
Use texture 2 with texture unit 2
하지만, 주어진 glActiveTexture 의미 : 문제는 일련의 사건은 다음과 같이 보일 수 있다는 것입니다 1, 마지막 단위 인 glActiveTexture를 호출했습니다.
Create texture 1
Create texture 2
Use texture 1 with texture unit 1
Use texture 2 with texture unit 2
나는 과정의 예를 단순화했습니다
하지만 텍스처를 생성하고 바인딩 부수적 만의 일환으로 텍스처를 결합하더라도 현재 활성화 된 텍스처 유닛에 영향을 미칠 수 있다는 사실을 : 즉, 당신이 작성해야 창조 과정은 나를 다소 불편하게 만듭니다. 물론 여기에 오류가 발생하지 않았다면 현재 glActiveTexture에서 상태 변경을 사용하지 못하게 할 수있는 방법이 있습니까?
도움을 주셔서 감사합니다.
방금 EXT_direct_state_access가 완성 된 기사가 아닌 것을 읽고 있었기 때문에 나는 그것을 피할 것이라고 생각합니다. 하지만 전체적으로는 텍스처 생성과 바인딩을 그렇게 할 생각은 없지만, 어느 시점에서 검은 색 표면을 얻고이를 추적하는 데 어려움을 겪을 것이라고 생각하게 만듭니다! – Robinson