作者dontpkme (别PK我)
看板GameDesign
标题[请益] OpenGL GL_POLYGON_SMOOTH 的问题
时间Thu Jan 13 05:08:33 2011
我想这对各位版上神人来说应该是新手题,
不过我实在是Google不到这怪现象的解答,
来到贵宝地向各位神人求助
=====================问题分隔线====================
我在练习反锯齿功能,
试过 GL_POINT_SMOOTH, GL_LINE_SMOOTH 都可以对点和线做出柔边,
使用的混色模式是 glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA)
但是当我对一个面做反锯齿的时候, 他的四个边有被柔化没错, 但是中间却出现裂缝!?
以一个正方形来说(测试过GL_QUADS和GL_POLYGON)
原本的图形是
┌──┐
│ │
│ │
└──┘
做出来的结果变成
┌──┐
│\ │
│ \│
└──┘
明显被切割成两个三角形,
更别说对一个外部载入的3d模型去做SMOOTH, 做完被切割的支离破碎...OTZ
我看到书上说在做POLYGON的SMOOTH时,
混色模式要使用 GL_SRC_ALPHA_SATURATE, GL_ONE
我置换了此模式结果画面上的东西全都不见了...
所以我还是用前述的 GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA 模式去做混色
不过两天下来这个令人头大的问题始终无法解决...
另外一个奇怪的事情是我把compile完的执行档拿去同学的电脑run
结果SMOOTH的效果完全没出来, 他们的显卡都比我还高阶的说,
网路上实在找不到有人讨论过这样的问题,
不晓得有没有大大了解的,
还是会是我手上的OpenGL版本问题? 我使用的是Delphi的VCL来实作,
恳请大大们赐教
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 203.145.202.83
1F:→ dontpkme:不晓得是不是大大们没碰过这状况, 我想了解一下我的用法 01/14 04:17
2F:→ dontpkme:跟各位前辈们在做smooth的时候是否相同, 或是我少了设定 01/14 04:17
3F:→ dontpkme:某些功能,刚发现打开深度测试再设glDepthFunc(GL_LEQUAL) 01/14 04:19
4F:→ dontpkme:有让裂缝变细小一点, 但还是存在, 不晓得我是不是有类似 01/14 04:19
5F:→ dontpkme:的状况没有排除才会发生这种问题 01/14 04:20
6F:→ dontpkme:更新了OpenGL版本...换了一套SDK...还是不行QQ 01/16 23:26
7F:推 elvis31:如果你是想要达到多边型反锯齿的效果的话 01/28 10:32
8F:→ elvis31:请使用glEnable(GL_MULTISAMPLE) 01/28 10:34
9F:推 elvis31:详细的原因牵涉到点线还有三角形再做反锯齿的实做方法不同 01/28 10:37