查看: 709|回复: 1

渲染到纹理的问题

[复制链接]

该用户从未签到

发表于 2014-6-5 16:19:09 | 显示全部楼层 |阅读模式
本帖最后由 becky 于 2014-6-6 15:38 编辑

在看osgdistortion例子时,对渲染到纹理这种方法很困惑。希望各位大神能帮我解决我的困惑,感激不尽!

例子中的一段程序如下:

  for(i=0;i<noSteps;++i)
        {
            osg::Vec3 cursor = bottom+dy*(float)i;
            osg::Vec2 texcoord = bottom_texcoord+dy_texcoord*(float)i;
            for(j=0;j<noSteps;++j)
            {
                vertices->push_back(cursor);
                texcoords->push_back(osg::Vec2((sin(texcoord.x()*osg:: PI-osg:: PI*0.5)+1.0f)*0.5f,(sin(texcoord.y()*osg:: PI-osg:: PI*0.5)+1.0f)*0.5f));
                colors->push_back(osg::Vec4(1.0f,1.0f,1.0f,1.0f));

                cursor += dx;
                texcoord += dx_texcoord;
            }
        }

  polyGeom->setVertexArray(vertices);

  polyGeom->setColorArray(colors);

  polyGeom->setTexCoordArray(0,texcoords);

我的理解是:这种方法可以把图像渲染到纹理上,而不是屏幕上,通过使纹理形变来达到distortion的目的。最后屏幕上显示的即是纹理的图像。我的理解对吗? 是不是vertices中保存的是原始的点,texcoords中保存的是形变后的点呢?

该用户从未签到

发表于 2014-6-25 17:02:15 | 显示全部楼层
您发的这段代码中,看不出任何与渲染到纹理有关的东西
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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