查看: 1994|回复: 3

Navy02.03.05的疑问

[复制链接]

该用户从未签到

发表于 2009-1-6 21:06:39 | 显示全部楼层 |阅读模式
//从文件读取图片
        //需要 #include <osgDB/ReadFile>
        Image* klnFace = osgDB::readImageFile("KLN89FaceB.tga");
.tga文件格式是什么?
1.通过osgDB::readImageFile方法还能读取什么格式的文件?

//声明TexEnv实例,设置模式为BLEND
        //需要 #include <osg/TexEnv>
        /*enum Mode {
                DECAL     = GL_DECAL,
                MODULATE  = GL_MODULATE,
                BLEND     = GL_BLEND,  //纹理混合模式
                REPLACE   = GL_REPLACE,
                ADD       = GL_ADD
        };*/
        TexEnv* blendTexEnv = new TexEnv();
        blendTexEnv->setMode( TexEnv::BLEND );

2. DECAL,MODULATE,BLEND,REPLACE,ADD各自意义?

//问题多多的新的用户视图循环,会导致导入的模型不能正常显示
        //具体原因尚不明确
        ////添加视图的用户控制工具,即轨迹球漫游器
        ////需要 #include <osgGA/TrackballManipulator>
        ////viewer.addCameraManipulator( new osgGA::TrackballManipulator );
        //
        ////创建程序窗口并启动工作线程
        //viewer.realize();
        //
        ////进入仿真循环
        ////在用户按下ESC键之前,viewer.done()都会返回false
        ////用户也可以使用自己的键盘/鼠标事件处理器来替换缺省的处理器
        //while ( !viewer.done() )
        //{
        //        //执行新的一帧,其中封装了以下几种Viewer类操作:
        //        //advance()通知程序向前移动一帧
        //        //eventTraversal()收集事件并传递给事件处理器和回调
        //        //updateTraversal()用于调用更新回调
        //        //renderingTraversals()负责同步所有的渲染线程,并分配拣选,绘制和交换缓存
        //        viewer.frame();
        //}

3.有问题的工作循环,会导致导入模型不能正常显示,具体原因尚不明确
OSG中的文件读取插件,有没有适用于AutoCAD导出格式的?

一共三个问题,其实也是和之前的一个帖子类似了,但我也没有办法,我只能偶尔来到有网络的地方集中发帖子,所以可能给咱们的论坛增加了很听的冗余信息,
还请斑竹能理解~
都是问一些小儿科的问题,我也挺不好意思的~

该用户从未签到

发表于 2009-1-6 22:36:35 | 显示全部楼层
1、基本上您常见的各种图像和高清图(HDR)格式都可以支持,这正是OSG的强大之所在。

2、这个麻烦您参看下《OpenGL编程指南》这本书,第九章“纹理映射”,9.8节“纹理组合函数”,里面有详细的讲解。简单地说就是设置多个纹理的叠加方式。

3、您的“有问题的工作循环”代码中没有更多的信息。不过第一个函数应该是setCameraManipulator才对。假设其它数据加载和执行流程都正确的话,这段代码本身也不会有什么问题。DXF文件读取插件也许可以满足您的要求,不过不要期望太高,它已经很久没有更新过了。

该用户从未签到

 楼主| 发表于 2009-1-6 22:52:24 | 显示全部楼层
哦,真是很感谢您回答了这么多的问题.
我其实也是偷了懒,跳过了OpenGL,直接就OSG了~呵呵~回头去补~

还是关于第三个问题,我现在手头有的模型,就只有他们用AutoCAD的制作的模型了,而我需要做的,却正是想办法将其导入到咱们OSG的场景中来的~而且有可能还要做碰撞检测等功能,不知道斑竹有没有什么意见?
我猜想有没有能将AutoCAD导出格式转换成其他也许OSG支持的更好的格式的工具或者方法?

该用户从未签到

发表于 2009-1-6 23:16:21 | 显示全部楼层
可以转换成其它的格式,例如3ds,obj等。当然也可以选择在3dsmax中使用osgExp插件直接导出为.osg或者.ive格式。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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