hesicong的专栏

梦想的天空 DreamWorld

2007年08月04日

原创 OpenSceneGraph 笔记--如何导出三角形数据

导读: 在OpenSceneGraph开发中,为了方便会经常使用到一些不是三角形片的数据,比如四边形等数据。例如画一个管子用四边形带比用三角形片好计算得多。比如现在我们要画一个由两个平面组成的面,我可以这样做:         osg::Geode* geode=new osg::Geode;         osg::Geometry* polyGeom = new osg::Geometry;         osg::Vec3 myCoords[]= {         osg::Vec3(0,1,0),         osg::Vec3(0,0,0), &阅读全文>

发表于 @ 2007年08月04日 23:28:00|评论(loading...)|编辑

原创 OpenSceneGraph 笔记--世界如此之美好!

导读: 在用OpenSceneGraph之前我费尽心思成功的把3DS模型里面的层次关系导入到我的程序中,学到了不少的东西。昨天在研究OpenSceneGraph的3DS插件的时候发现插件并没有我想象当中那么完美,在调入文件的时候丢失了所有的层次结构,这令我很懊恼。在尝试了修改3DS插件以后,觉得要解决这个问题还需要重新写一个新的插件。当然,这会带来巨大的工作量,不合算。 今天在吃饭的时候突然想到了OpenSceneGraph自己有一个数据结构,扩展名叫.osg,而且有3DS MAX的导出插件,是不是这个数据结构能够提供更多的信息呢? 带着试一试的心理下载了OSGExp插件,晕,第一次安装竟然不行,提示找不到3DS MAX~~想想我装的3DS MAX 9是中文版的,是不是要原版的才能用哦。遂安装了英文原版的。呵呵,这下就对了。 从3DS MAX里面打开做的机床的MAX模型文件,然后导出,很快的就导出了一个osg文件。用osgDirector一看,哇!强悍,所有的层次都保留,层与层之间的变换矩阵也很好用!特别是之前很懊恼的3DS模型里面的pivot属性也越过了。 最后我在阅读全文>

发表于 @ 2007年08月04日 23:28:00|评论(loading...)|编辑

原创 OpenSceneGraph 笔记--窗体模式运行

导读: 1.使用osgViewer::Viewer代替原来的osgProducer::Viewer 2.先熟悉设计模式,比如最常用的Visitor设计模式。要不然看不懂程序不说,而且更写不出程序。 3.窗体模式运行参考Example osgWindows,重点在于:         osg::ref_ptr<osg::GraphicsContext::Traits> traits = new osg::GraphicsContext::Traits;         traits->x = 640 traits->y = 0 traits->width = 640 traits->height = 480 traits->windowDecoration = true traits->doubl阅读全文>

发表于 @ 2007年08月04日 23:28:00|评论(loading...)|编辑

原创 梦想天空

导读: .NET/.NET CF/Mobile Phones HP1937,Siemens M55,Siemens CXV65,Nokia 6021 PDU,SMS,Data Cabel,IrDA,Bluetooth and so on.         本文转自 http://www.cnblogs.com/hesicong/archive/2007/04/01/699914.html 阅读全文>

发表于 @ 2007年08月04日 23:28:00|评论(loading...)|编辑

原创 OpenSceneGraph 笔记--C++/CLI写托管Scene类

导读: 最近学了C++/CLI,也写了一些小玩意儿体验了它的强大,昨天开始筹划将以前的弯管机的模拟程序用C++/CLI重写。 基本思路是将底层3D部分和上层GUI图形界面部分大体分离。最原始的做法是写一个C++的类,然后定义一些接口,然后用C++/CLI写一个 Wrapper,然后用C#进行调用。这种做法其实不是很好,增加了很大的工作量,而且在写Wrapper的时候难免有很多重复性的赋值代码。 第二种思路就是直接用C++/CLI开始写,将Native部分和Managed部分合并在一块儿写。当然C++/CLI有一些限制,不能在托管类里面直接嵌套非托管类,只能有非托管类的指针等等。这个限制带来的最大的不好是osg::ref_ptr,也就是OpenSceneGraph里面的智能指针无法使用了,因为他是一个类型,不能直接嵌入到托管类里面,所以类似下面的语法是错误的: ref class ManagedClass {         osg::ref_ptr<osg::Node> no阅读全文>

发表于 @ 2007年08月04日 23:27:00|评论(loading...)|编辑

原创 [导入]C++ OpenGL底层和C# GUI无缝联合!

导读:         一直有一种想法就是让C++做底层的工作,然后让C#进行GUI界面的书写。经过一番尝试,终于能够把我的管子生成程序和C#界面融合了。         使用的技术是C++的IJW技术。通过Managed C++做了一个Wrapper,这样C#就可以间接调用C++的东西了。OpenGL是渲染到C#的一个窗体中的。 具体的技术过段时候在写,现在有些累了,呵呵~~~ 关于IJW技术有一些参考,沐枫小筑的这篇博客给了我巨大的帮助: http://blog.csdn.net/Muf/archive/2006/04/10/656920.aspx 文章来源:http://www.hesicong.net/pjblog/default.asp?id=221         本文转自 http://www.cnblogs阅读全文>

发表于 @ 2007年08月04日 23:27:00|评论(loading...)|编辑

原创 终于把Carbide.c++ 1.2配置好了

导读: S60开发不容易啊,下载了S60 3rd SDK,还有Carbide.c++ 1.2 OEM Edition,弄了一上午才终于能够在BUILD和DEBUG了。Carbide.c++ 1.2整合了OEM, Professional, Developer, Express四个版本,通过licence区分各个版本。OEM版本功能最强大,包括了在线调试的功能。 昨天重装系统之前我安装了1.2版,也能成功调试了,但是重装系统之后,竟然编译都无法通过!难道真正是人品用完了? 重装SDK和Carbide,也不行。后来才想到,是不是选择Carbide的安装版本时选成了Professional(我觉得这个版本已经够我用了),而下载的破解的licence是OEM的缘故。然后又重装一次,选成了OEM,结果就对了。 呵呵,真是神奇啊~ 应广大网友要求,特放出OEM的破解,请用于学习和研究用途,不要用于任何法律允许范围之外的任何场合,本人不对由此引发的任何后果负责。谢谢您的配合。 下载地址:http://www.hesicong.net/pjblog/article.asp?id=2阅读全文>

发表于 @ 2007年08月04日 23:24:00|评论(loading...)|编辑

原创 公告:此博客开始更新

由于以前CSDN的博客系统做得很不令人满意,所以将博客迁移到了CNBLOGS。然而一直以来CSDN博客的不断更新让我觉得应该重返这个土地,毕竟在这里可以和更多人进行交流。博客文章不定期更新,最新的文章请见:http://www.hesicong.nethttp://hesicong.cnblogs.com.阅读全文>

发表于 @ 2007年08月04日 23:21:00|评论(loading...)|编辑

Csdn Blog version 3.1a
Copyright © hesicong