2007年08月04日
导读:
在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之前我费尽心思成功的把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...)|编辑
导读:
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...)|编辑
导读:
最近学了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++做底层的工作,然后让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...)|编辑
导读:
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...)|编辑
2005年08月01日
[最新]微软正版计划盗版在线升级可用秘籍!————不看后悔。8月1日已经测试通过。阅读全文>
发表于 @ 2005年08月01日 19:47:00|评论(loading...)|编辑
2005年07月26日
庆祝!发表在CodeProject上的文章被评为Prize winner: June, 2005阅读全文>
发表于 @ 2005年07月26日 13:43:00|评论(loading...)|编辑