查看: 498|回复: 0

(内附代码)新人疑问,自行new Camera还需要设置什么才可以和MainCamera表现一致

[复制链接]

该用户从未签到

发表于 2023-1-6 13:55:18 | 显示全部楼层 |阅读模式
下面的代码中,放开1,注释2
然后注释1,放开2
编译后的表现不一致.后者渲染有点问题,比如glider会透视,然后cow.osg也会有黑色的面

目前我只懂得要设置 setProjectionMatrixAsPerspective 和 setClearColor


int main(int argc, char **argv) {

    double wnd_width = 960, wnd_height = 540;
    osgViewer::Viewer vi;

    osg::Camera *test_cam = vi.getCamera();    // 1
    // osg::Camera *test_cam = new osg::Camera;   // 2

    test_cam->setProjectionMatrixAsPerspective(
        30.0, wnd_width / wnd_height, 1, 10000
    );
    test_cam->setClearColor(osg::Vec4(0.2, 0.2, 0.4, 1.0f));

    vi.setCamera(test_cam);

    vi.setUpViewInWindow(0, 0, wnd_width, wnd_height);
    vi.setSceneData(osgDB::readNodeFile("glider.osg"));

    vi.realize();
    return vi.run();
}
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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