楼主: ly0914

如何实现OSG+MFC 控制

[复制链接]

该用户从未签到

 楼主| 发表于 2010-3-30 15:50:16 | 显示全部楼层
本帖最后由 ly0914 于 2010-3-30 15:53 编辑

30# array
我重新编译这几个工程时,是在批生成里选中他们的Debug和Release版,再重新编译INSTALL时是不是要选择也要选择Debug和Release。我发现开始编出来的好多lib文件都缺少相应的Release版(少了后面带字母d的那个)。这样在批生成中选中是不是所有工程都会重新生成?

该用户从未签到

发表于 2010-3-30 17:10:43 | 显示全部楼层
我不知道您的意思,要使用Debug还是Release版,这完全取决于您自己。如果您保留了上次编译的中间文件,那么重新生成时只会编译那些改动的文件和库,因此会节省大量的时间

该用户从未签到

 楼主| 发表于 2010-3-31 10:55:55 | 显示全部楼层
本帖最后由 ly0914 于 2010-3-31 12:25 编辑

32# array 您好,又花了10个小时,编译成功了。开始不能用,运行书上例子时还是出现上次像那样无法解析的外部符号这样的错误,后来又不知怎么能用了。但运行控制台程序时又出现了这样的警告:Could not find plugin to read objects from file "D:program Files\OSG-2.8.2\Date\fonts\arial.ttf".  Windows Error #127:[Screen #0]ChooseMatchingPixelFormat<>- wglChoosePixelFormatARB extension not found, trying GDI. Reason:找不到指定的程序。
是不是编译时还有哪个地方不对?  顺便再请问一下,SVN是什么,怎么用?要下载安装吗?

该用户从未签到

发表于 2010-3-31 12:17:28 | 显示全部楼层
我不知道您为什么会花费那么长时间,在一台市面上比较常见的计算机上,OSG的全部功能编译不会超过3个小时。
Could not find plugin to read objects from file
,这说明读入文件所需的插件没有放在正确的位置上,或者根本就没有生成。ttf格式需要osgdb_freetype插件来读取,这个插件依赖于第三方库FreeType。也许您需要设置FreeType的头文件和库文件路径并重新生成这个插件

Windows Error #127:[Screen #0]ChooseMatchingPixelFormat
看起来您的显示驱动需要更新一下

该用户从未签到

发表于 2010-4-1 15:12:28 | 显示全部楼层
array老大已经说的很明白了,照着他的做,错不了 33# ly0914

该用户从未签到

 楼主| 发表于 2010-4-4 11:40:03 | 显示全部楼层
34# array 您好,你能指点一下除了MFC外VC的哪个模块开发OSG程序比较容易吗?哪有相应的例子,谢谢``

该用户从未签到

发表于 2010-4-4 22:05:34 | 显示全部楼层
VC的哪个模块?我想您需要首先把VC这个概念抛开,它本身只是一个IDE工具而已,可用可不用~~

开发OSG程序只需要标准C++和OpenGL,除此之外的所有都是您自己给这个工程设置的附加品,例如MFC库。因此开发OSG程序的一切前提就是可以使用标准C++以及OpenGL编程,除此之外,在Windows/Linux/MacOSX/FreeBSD/Solaris/iPhone上开发?使用gcc/VC/MinGW/Intel编译器?是否结合Qt/MFC/ActiveX/wxWidgets/GTK/Fox/FLTK?或者更多的设想,这都取决于您自己

该用户从未签到

 楼主| 发表于 2010-4-6 12:29:46 | 显示全部楼层
37# array 谢谢您的回答。我现在要做一个仿真,其中应该会有很多控件的使用。用MFC做起来可能会麻烦许多,我想请问一下如果我用CLR或者MFC基于对话框开发会不会更快一点。但是我不知道如何使用OSG使图形只渲染一个小窗口或者一个关于图形的控件,书上讲的例子大部分是在控制台上运行的。你能指点一下哪有相关的例子吗?

该用户从未签到

发表于 2010-4-6 14:33:25 | 显示全部楼层
如何使用OSG使图形只渲染一个小窗口
这简单的很,正确设置GraphicsContext就可以了。

想要在MFC下实现OSG窗口的话,参考一下osgviewerMFC例子就可以了

该用户从未签到

 楼主| 发表于 2010-4-12 11:05:40 | 显示全部楼层
39# array 版主您好,又有一个问题要请教你了。关于界面库的使用问题,我现在所学的例子都是使用MFC的,我们要做一个加工仿真,如果用MFC可能会使我们的进度可能慢很多,难度也会加大。您能否给我一个建议,使用一种界面库,就像使用c++ builder那样,直接可能添加拖拉某个控件,并且可以在某个关于图形的控件上实现仿真。还有使用OSG能否对图形实现切削效果,就是刀具走过以后,工件上相应的部分被切掉不显示。这两个问题关于我们开发使用工具的问题了,如果这些不行的话我们上级就可能要我们换另外一种工具而不用OSG进行开发了。但我也看了这么久的OSG了,不想丢掉它,所以我急需拿出东西说服我上级不要换别的工具。

该用户从未签到

发表于 2010-4-12 11:18:09 | 显示全部楼层
使用一种界面库,就像使用c++ builder那样,直接可能添加拖拉某个控件
这事实上不是界面库的工作,而是有没有人愿意开发一种辅助工具来实现界面的布局。Qt Creator可以按照您所述的方式为Qt GUI的程序设计界面,不过我个人完全不推荐这种仅仅为了“傻瓜化”而导致结构混乱的做法

还有使用OSG能否对图形实现切削效果……如果这些不行的话我们上级就可能要我们换另外一种工具而不用OSG进行开发了
有些不客气地说,目前没有任何一种工具,能够直接地实现您所说的做法。三维空间的几何布尔运算是几乎无法实时做到的,惟有自行采用各种模拟的算法和手段:例如使用模板缓存+CSG,但这样也只是显示,并不能取得精确的几何信息!

如果您对于这方面的研究感兴趣,那么推荐一下OpenCSG,它应当是目前世界上最好的三维布尔运算模拟的解决方案之一;不过请注意,它不关心其他场景图形相关的内容,并且它是GPL协议,不允许您用作商业用途。除此之外,无论OSG还是别的渲染引擎,都有可能实现您所说的工作,但是必须自己仔细考虑算法
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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