作者StubbornLin (Victor)
看板GameDesign
标题Re: [程式] OpenGL 用3D Render 2D
时间Sun Jun 25 20:34:16 2006
※ 引述《StubbornLin (Victor)》之铭言:
: ※ 引述《StubbornLin (Victor)》之铭言:
: : 我刚刚用我的NB试了一下= ="
: : 果然是这样....
: : NB用的是显示晶片,我在想
: : 可能是某种功能显示晶片不支援才会这样
: 除了贴图的问题,我还发现在旧晶片有种问题
: 那就是,GL_QUADS的四个点的颜色
: 当图片的最上边,超过画面时,图片会变暗
: 不知道为什麽会这样= ="
: 然後当我改成两张三角形去拼出一个矩形时这个问题好像就不见了
: 还有一个问题也很令我头痛,就是撕裂的问题
: 因为Windows为了要全萤幕所以是自己建立的
: 而更新画面放在WinMain的回圈里,更新时如果没有跟垂直同步那一刻进行
: 就会产生撕裂,因为以前硬体都帮我处理好= ="
: 所以我不知道要怎样解决,谁来告诉我该怎麽做 囧rz
: 看来= ="
: 要把2D引擎写成旧硬体也能跑还有得奋战 囧rz
关於没有支援non-power-of-two的videocard的解决方法
除了之前说的直接把图改成power of two以外
我个人的想法是,在读入图档时,自动补足成power of two
然後,多出来的部份,如果可以的话,可以收资多出来空间的资讯
当程式发现新读入的图可以放进某个图旁边的空间时
就将图塞进去,然後更新可用空间的资料
然後,在贴图时,使用Texture的矩阵,去变换座标,甚至旋转
来切换到要贴图的位置
当然,如果美工尽量都能做power of 2的图是最好啦
以上,请问这种做法效率,和可行方面上来讲如何?
--
VICTOR工作室 |
PTT游戏设计版隆重开幕!
|
不管是新手老手,程式美工音乐企划....
URL :
http://www.kinmen.info/vic/ |
都欢迎来游戏设计版参与讨论 XD
|
战略高手>
C/C++ |
GameTopics>
Visual Basic 6.0 |
GameDesign
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.116.66.105