Re: [程式] OpenGL 用3D Render 2D
看板GameDesign (遊戲設計)作者StubbornLin (Victor)時間18年前 (2006/06/25 16:50)推噓6(6推 0噓 5→)留言11則, 3人參與討論串5/7 (看更多)
※ 引述《StubbornLin (Victor)》之銘言:
: ※ 引述《StubbornLin (Victor)》之銘言:
: : 圖片:
: : http://www.kinmen.info/vic/image/opengl_2d_engine.jpg
: : 程式:
: : http://www.kinmen.info/vic/files/opengl_2d_engine.zip
: : 做差不多了,用3D來Render 2D真的輕鬆太多了
: : 想起我以前用Direct Draw一個一個Pixel去做Alpha blending真的會吐血
: : 現在只要輕鬆打幾行程式它的Alpha blending就出來了
: : 而且,又有Linear可以用,在放大縮小時效果還是很棒
: : 不過用Linear有個缺點,就是圖的邊緣如果很複雜,放大縮小時會有白邊出現
: : 但是,因為以圖通常四週都是整個全透明或半透明來思考的話
: : 其實這樣的問題沒什麼大礙
: : 等我把這個東西完成後,有空的話我來寫幾篇OpenGL 3D 擬 2D經驗的文章
: : 好來拋磚引玉,讓真正的高手出來寫文章,不然這個版都沒有什麼人氣
: 我剛剛用我的NB試了一下= ="
: 果然是這樣....
: NB用的是顯示晶片,我在想
: 可能是某種功能顯示晶片不支援才會這樣
我發現原因了
原因出在兩張圖的長寬都不是2的次方
改成2的次方後就OK了
較舊的顯示卡或晶片好像都不支援非2次方的貼圖= ="
這是為什麼?
還有,因為舊顯示卡的使用者還是很多
所以為了能夠讓更多的使用者也能夠玩
必需修改成能讓舊的晶片也能跑
因此要修改這引擎= ="
請問應該用什麼方案來解決呢?
我目前想到的方案,是將非2次方的圖片
切割成幾張2次方的圖片,然後在材質貼圖時組合起來
不知道有沒有更好的方式可以提出來
除了貼圖的問題,我還發現在舊晶片有種問題
那就是,GL_QUADS的四個點的顏色
當圖片的最上邊,超過畫面時,圖片會變暗
不知道為什麼會這樣= ="
然後當我改成兩張三角形去拼出一個矩形時這個問題好像就不見了
還有一個問題也很令我頭痛,就是撕裂的問題
因為Windows為了要全螢幕所以是自己建立的
而更新畫面放在WinMain的回圈裡,更新時如果沒有跟垂直同步那一刻進行
就會產生撕裂,因為以前硬體都幫我處理好= ="
所以我不知道要怎樣解決,誰來告訴我該怎麼做 囧rz
看來= ="
要把2D引擎寫成舊硬體也能跑還有得奮戰 囧rz
--
VICTOR工作室 | PTT遊戲設計版隆重開幕!
| 不管是新手老手,程式美工音樂企劃....
URL : http://www.kinmen.info/vic/ | 都歡迎來遊戲設計版參與討論 XD
| 戰略高手>
C/C++ | GameTopics>
Visual Basic 6.0 | GameDesign
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.116.66.105
→
06/25 17:54, , 1F
06/25 17:54, 1F
→
06/25 19:04, , 2F
06/25 19:04, 2F
→
06/25 19:04, , 3F
06/25 19:04, 3F
推
06/25 19:29, , 4F
06/25 19:29, 4F
推
06/25 19:32, , 5F
06/25 19:32, 5F
推
06/25 19:35, , 6F
06/25 19:35, 6F
推
06/25 19:38, , 7F
06/25 19:38, 7F
→
06/25 19:40, , 8F
06/25 19:40, 8F
推
06/25 19:42, , 9F
06/25 19:42, 9F
→
06/25 19:43, , 10F
06/25 19:43, 10F
推
06/25 19:47, , 11F
06/25 19:47, 11F
討論串 (同標題文章)
GameDesign 近期熱門文章
PTT遊戲區 即時熱門文章