查看: 1593|回复: 4

osg锐化效果

[复制链接]

该用户从未签到

发表于 2009-8-3 11:38:56 | 显示全部楼层 |阅读模式
在osg中如何加入锐化效果?opengl中有相关函数,glConvolutionFilter2D(GL_CONVOLUTION_2D,GL_RGBA,3,3,GL_LUMINANCE,GL_FLOAT,mSharppan);
                         glEnable(GL_CONVOLUTION_2D);
该如何加入?以Operation方式加入出现内存访问异常!

该用户从未签到

发表于 2009-8-3 12:30:39 | 显示全部楼层
出现内存访问异常的话,说明您的OpenGL程序有问题。您说的Operation是在哪里加入的?viewer.addUpdateOperation()吗?还是GraphicsContext::add()?
一定要注意是否在执行OpenGL函数之前启用了HGLRC设备。例如上面的两个函数,前者没有指定OpenGL设备,所以肯定出错;后者则指定了,也许可用。

也可以考虑作为Camera:: PreDrawCallback来设置,或者写一个Drawable派生类;更复杂一些的,可以自己派生一个新的StateAttribute

该用户从未签到

 楼主| 发表于 2009-8-6 09:29:51 | 显示全部楼层
请教ARRAY,如何派生一个StateAttribute呢?我派生了他不执行.除了派生一个类外还需要在OSG里更改哪一部分?

该用户从未签到

 楼主| 发表于 2009-8-6 10:26:08 | 显示全部楼层
另外,我该如何指定只锐化某一纹理贴图?ARRAY如何实现呢?

该用户从未签到

发表于 2009-8-6 13:50:56 | 显示全部楼层
派生StateAttribute类相当的复杂,,光执行还不够,,你得启用才会有作用,,就像材质之类的~~~
在Camera:: PreDrawCallback中设置锐化就很方便~~~~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

OSG中国官方论坛-有您OSG在中国才更好

网站简介:osgChina是国内首个三维相关技术开源社区,旨在为国内更多的技术开发人员提供最前沿的技术资讯,为更多的三维从业者提供一个学习、交流的技术平台。

联系我们

  • 工作时间:09:00--18:00
  • 反馈邮箱:1315785073@qq.com
快速回复 返回顶部 返回列表