shader语言

lzy18lzy 2010-09-28 03:40:28


请教,opengl 2.0如何用shader语言实现抗锯齿,简单的直线也可以。。。

最好能给代码,原理也行...
...全文
388 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
GPU程序设计——3.7 反锯齿技术

GeForce FX和 GeForce 6系列拥有功能强大的反锯齿引擎。启用反锯
齿引擎能够获得最佳的显示质量,所以建议您启用反锯齿功能。
如果您没有反锯齿功能,又需要使用这项功能,请与我们联系,我们将
非常乐意与您共同探讨这个问题并帮助您找到解决方案。

一个问题是使用具有后处理效果的反锯齿技术,目前,这一问题在缓存
复制到具有多重采样的脱屏场景中。

例如,如果在一个 100X100后台缓存区启用 4倍多重采样,处理器实
际上在内部创建了一个 200X200后台缓存区和深度缓存区来实现反锯
齿效果。如果创建一个 100X100的脱屏场景,StretchRect()指令会将
整个后台缓存放置到脱屏表面(off-screen surface),图形芯片就可以
把消除锯齿后的缓存过滤到脱屏缓存区。
然后就在 100X100场景上进行渲染和进行其他的后处理,然后回到后
台主缓存区。
您无法将多重采样的 Z缓存应用到非多重采样的渲染对象上,其原因
是,200X200后台缓存区显示分辨率和 100X100处理后的显示分辨率
不匹配。

-----------------------------------------------------
nv的胃口真不小。
huazai434 2010-10-01
  • 打赏
  • 举报
回复
反走样算法一般通过硬件实现。
不要做伸手党,这个算法在一般的计算机图形学课本上能找到。
  • 打赏
  • 举报
回复
又见思密达抢分,大家捂紧口袋。

个人意见:share的优势在于区域处理,也就是类并行的机理,如果你它让去描边,势必会影响到它的效率,当然做试验另当别论。

张赐 2010-09-30
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 lzy18lzy 的回复:]
引用 5 楼 zhangci226 的回复:
如果不行自己写代码也可以,在shader里,利用几个像素混合


请教原理,谢谢。。。
[/Quote]

原理就是用一个像素周围的几个像素的平均来作为该像素的值
  • 打赏
  • 举报
回复
我晕,shader的任务只是填空,至于填进的是水泥还是棉花,它是不管的。
lzy18lzy 2010-09-29
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 zhangci226 的回复:]
如果不行自己写代码也可以,在shader里,利用几个像素混合
[/Quote]

请教原理,谢谢。。。
gamemagic 2010-09-28
  • 打赏
  • 举报
回复
opengl es运行的移动平台能支持大量的shader计算么
张赐 2010-09-28
  • 打赏
  • 举报
回复
如果不行自己写代码也可以,在shader里,利用几个像素混合
gamemagic 2010-09-28
  • 打赏
  • 举报
回复
opengl es 貌似精简了很多有用的功能呢

还是opengl舒服啊
xingzhe2001 2010-09-28
  • 打赏
  • 举报
回复
详细你可以参考这个NVIDIA的pdf
http://developer.nvidia.com/object/gdc_ogl_multisample.html
lzy18lzy 2010-09-28
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 xingzhe2001 的回复:]
用不着shader,线用glHint(GL_LINE_SMOOTH_HINT)就可以。
另外可以用GL_ARB_multisample打开multisample
[/Quote]

用的是opengl es 好像没有GL_LINE_SMOOTH_HINT这个操作...
xingzhe2001 2010-09-28
  • 打赏
  • 举报
回复
用不着shader,线用glHint(GL_LINE_SMOOTH_HINT)就可以。
另外可以用GL_ARB_multisample打开multisample

8,305

社区成员

发帖
与我相关
我的任务
社区描述
游戏开发相关内容讨论专区
社区管理员
  • 游戏开发
  • 呆呆敲代码的小Y
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧