推 elfria:good job..簡單易懂 08/09 19:35
推 StubbornLin:OpenGL應該是狀態機器,沒記錯的話 XD 08/09 22:59
> -------------------------------------------------------------------------- <
作者: elfria (elfria) 看板: GameDesign
標題: Re: [程式] 關於Open GL裡面, Blending 執行速度的 …
時間: Sat Aug 12 16:30:54 2006
※ 引述《littleshan (我要加入劍道社!)》之銘言:
: ※ 引述《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放到 texture memory...
我想知道,到底可以放多少的texture進texture memory?
有多少就放多少也可以囉?
主要是我寫的程式
讀入BMP之後,就載入到 char* Bits
等到用到其中之一個texture就
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 64, 64, 0, GL_BGRA_EXT,
GL_UNSIGNED_BYTE, Bits);
之後就可以show出這張圖片了....
這樣子不知道會不會比較慢?
: 這樣要使用不同的 texture 時就不須要再傳一次
: (在 PCI-E 出現之前 把資料傳到顯示卡上的速度並不快)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.118.107.212
> -------------------------------------------------------------------------- <
作者: littleshan (我要加入劍道社!) 看板: GameDesign
標題: Re: [程式] 關於Open GL裡面, Blending 執行速度的 …
時間: Sun Aug 13 00:35:58 2006
※ 引述《elfria (elfria)》之銘言:
: ※ 引述《littleshan (我要加入劍道社!)》之銘言:
: : glBindTexture 是讓你選擇目前要使用的 texture
: : 你可以把許多 texture 放進 texture memory 中並在其中切換使用
: 喔....
: 我可以把許多texture放到 texture memory...
: 我想知道,到底可以放多少的texture進texture memory?
: 有多少就放多少也可以囉?
從 OpenGL API 的設計來看
比較像是你想放多少就可以放多少
而顯示卡的 driver 應該在 texture memory 不足時
自動把最久沒用到的 texture 砍掉以清出空間
類似 OS 中 paging 的原理...
不過老實說 我不知道現在 driver 實作的情況是怎樣
也許自己管理 texture 並且避免 texture memory 爆炸是比較保險的作法
: 主要是我寫的程式
: 讀入BMP之後,就載入到 char* Bits
: 等到用到其中之一個texture就
: glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 64, 64, 0, GL_BGRA_EXT,
: GL_UNSIGNED_BYTE, Bits);
: 之後就可以show出這張圖片了....
: 這樣子不知道會不會比較慢?
會 這樣表示每次使用時都必需從 main memory 傳到顯示卡
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.62.3.35
※ 編輯: littleshan 來自: 61.62.3.35 (08/13 00:39)
推 StubbornLin:OpenGL有提供texture memory記憶體剩於大小的函數嗎? 08/13 00:53
→ StubbornLin:我想知道一下@@" 我也想自己實作 08/13 00:53
推 elfria:不知道.... >__< 08/14 02:16
> -------------------------------------------------------------------------- <
作者: barroslee (很久沒寫Hspice 我早忘了) 看板: GameDesign
標題: Re: [程式] 關於Open GL裡面, Blending 執行速度的 …
時間: Sat Aug 19 20:06:39 2006
※ 引述《littleshan (我要加入劍道社!)》之銘言:
: ※ 引述《elfria (elfria)》之銘言:
: : 喔....
: : 我可以把許多texture放到 texture memory...
: : 我想知道,到底可以放多少的texture進texture memory?
: : 有多少就放多少也可以囉?
: 從 OpenGL API 的設計來看
: 比較像是你想放多少就可以放多少
: 而顯示卡的 driver 應該在 texture memory 不足時
: 自動把最久沒用到的 texture 砍掉以清出空間
: 類似 OS 中 paging 的原理...
: 不過老實說 我不知道現在 driver 實作的情況是怎樣
: 也許自己管理 texture 並且避免 texture memory 爆炸是比較保險的作法
補充一下
可以使用 glPrioritizeTextures()
去設定 priority
: : 主要是我寫的程式
: : 讀入BMP之後,就載入到 char* Bits
: : 等到用到其中之一個texture就
: : glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 64, 64, 0, GL_BGRA_EXT,
: : GL_UNSIGNED_BYTE, Bits);
: : 之後就可以show出這張圖片了....
: : 這樣子不知道會不會比較慢?
: 會 這樣表示每次使用時都必需從 main memory 傳到顯示卡
--
我的遊戲引擎圖
http://www.wretch.cc/album/album.php?id=barroslee&book=1
我的 blog
http://barroslee.blogspot.com/
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.135.20.103