作者littleshan (我要加入劍道社!)
看板GameDesign
標題Re: [程式] 關於Open GL裡面, Blending 執行速度的 …
時間Wed Aug 9 19:30:18 2006
※ 引述《elfria (elfria)》之銘言:
: 我剛剛在看 NEHE 的Open GL教學....
: 我就一直在想...他幾行我覺得可有可無...
: 然後,當我去掉的時候,果然還能執行...但是速度馬上變慢, 為本來的1/5
: 像是這個
: http://nehe.gamedev.net/data/lessons/vs_net/lesson08.zip
: 我把lesson8.cpp 改
: 第166行:
: glBindTexture(GL_TEXTURE_2D, texture[filter]);
: 把它除掉加上註解...馬上變超慢的
: 不然就是把fileter改成 1或2...也會變慢一些...
: 但是,只有執行的效率改變了,執行的結果卻都一樣....
: 不知道這個是做什麼用的...
glBindTexture 是讓你選擇目前要使用的 texture
你可以把許多 texture 放進 texture memory 中並在其中切換使用
這樣要使用不同的 texture 時就不須要再傳一次
(在 PCI-E 出現之前 把資料傳到顯示卡上的速度並不快)
這個 demo 只是在顯示不同的 texture filter 會有怎樣的影響
不同的 filter 結果應該是不一樣的
不過也可能因為 texture 本身就很 smooth 所以你看不出差異
filter 使用 1 時是 bilinear interpolation
使用 2 時是選最接近的 mipmap 做 bilinear interpolation
兩者都會比 nearest 還要慢
如果你直接把那一行 glBindTexture 註解掉
那麼它用的 texture 就是最後一次使用 glBindTexture 所選的那張
也就是第 92 行
glBindTexture(GL_TEXTURE_2D, texture[2]);
所選用的
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.62.3.35
推 elfria:good job..簡單易懂 08/09 19:35
推 StubbornLin:OpenGL應該是狀態機器,沒記錯的話 XD 08/09 22:59