我使用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? */
Run Code Online (Sandbox Code Playgroud)
unw*_*ind 10
他们被保留了下来.glBindTexture()的手册页说:
绑定纹理时,绑定到的目标上的GL操作会影响绑定纹理.
由于第一个参数glTexParameter()是目标,因此它们适用于绑定对象glTexImage().
| 归档时间: |
|
| 查看次数: |
1024 次 |
| 最近记录: |