2010-03-08 15 views
10

glBindTexture()를 사용하여 이전에 만든 텍스처를 바인딩합니다. glBindTexture() 호출 후 glTexParameteri()를 사용하여 MIN 및 MAG 필터를 설정합니다. 지금까지 문제 없습니다.텍스처 매개 변수의 지속성

glTexParameteri()를 사용하여 설정 한 매개 변수가 텍스처 자체에 바인딩되었거나 다른 텍스처를 바인딩하면 손실됩니다. 다시 설정해야합니까?

glGenTexture(1, &tex1); 
glGenTexture(1, &tex2); 

/* bind tex1 and set params */ 
glBindtexture(GL_TEXTURE_RECTANGLE_ARB, tex1); 
glTexImage2D(GL_TEXTURE_RECTANGLE_ARB, ...); 
glTexParameteri(GL_TEXTURE_RECTANGLE_ARB, GL_TEXTURE_MIN_FILTER, GL_LINEAR); 
glTexParameteri(GL_TEXTURE_RECTANGLE_ARB, GL_TEXTURE_MAG_FILTER, GL_LINEAR); 

/* do something */ 

/* bind tex2 and set params */ 
glBindtexture(GL_TEXTURE_RECTANGLE_ARB, tex2); 
glTexImage2D(GL_TEXTURE_RECTANGLE_ARB, ...); 
glTexParameteri(GL_TEXTURE_RECTANGLE_ARB, GL_TEXTURE_MIN_FILTER, GL_LINEAR); 
glTexParameteri(GL_TEXTURE_RECTANGLE_ARB, GL_TEXTURE_MAG_FILTER, GL_LINEAR); 

/* do something */ 

/* bind tex1 again */ 
glBindtexture(GL_TEXTURE_RECTANGLE_ARB, tex1); 

/* do i have to set the parameters from above again or are they stored with tex1? */ 

답변

10

glBindTexture()에 대한 매뉴얼 페이지는 말한다 : 텍스처가 결합되어

있지만, 대상에 작업이 그 이 바운드 GL은 결합 조직에 영향을 미칩니다. glTexParameter()의 최초의 파라미터가 목표이기 때문에

, 그들은 단지 glTexImage()처럼 결합 된 객체에 적용된다.

+0

설명해 주셔서 감사합니다. :) – fen

관련 문제