簡體   English   中英

是否需要為GL_TEXTURE_2D的每個綁定設置紋理參數?

[英]Is setting the texture parameters for each binding of GL_TEXTURE_2D neccessary?

我正在閱讀一些基本的opengl教程,並想知道是否可以使此代碼更好。

我的問題是c ++,但我相信這會延續到其他使用不同語言的opengl實現中。

這是代碼:

glGenTextures(1, &texture1);
glBindTexture(GL_TEXTURE_2D, texture1);

glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_NEAREST);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
//load the data for the texture, apply it, the free the data

glGenTextures(1, &texture2);
glBindTexture(GL_TEXTURE_2D, texture2);
//Now the question.

綁定texture2之后,如果我想對兩個圖像都具有相同的效果,那么是否有必要重復glTexParameteri行?

紋理參數是紋理對象狀態的一部分。 設置紋理參數時,就是在該對象中設置狀態。 因此,您的問題大致相當於“如果我做xv = 5; yv這是否意味着如果xy是同一類型,則yv也為5?”

當您將對象綁定到上下文,然后在該綁定點上調用狀態設置函數時,您正在對象中設置狀態,就像xv = 5會將狀態設置到對象x OpenGL只是對此概念有一個不尋常的拼寫(有時,如果不查找函數是將狀態設置為對象還是上下文,很難不知道就很難知道),但這兩種方法都是一樣的。

因此,不,在一個對象上設置狀態不會將該狀態轉移到恰好綁定到該綁定點的另一狀態。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM