2012年7月25日
摘要: 1.在keySwitchManipulator中加入一个NodeTrackerMainipulator(自己继承了个类,重新写了computeHomePosition方法),想实现按 “m”可以实现在不同模型之间切换视角的效果,方法很简单,只要改变NodeTrackerManipulator的setTrackerNode就可以了,但是注意,在加入keySwitchManipulator之前一定要设置一个非空的Node,否则无效,原因还不明了。2.为小车模型找到了4个DOF轮子(MatrixTransform类型),想通过为其添加AnimationPathCallback来实现轮子转动的动画效果 阅读全文
posted @ 2012-07-25 11:36 筋肉强打 阅读(920) 评论(0) 推荐(0) 编辑
  2012年7月13日
摘要: 代码osg::ref_ptr<osg::Group> createParticle(osg::ref_ptr<osg::Group> root){ //osg::ref_ptr<osg::Group> root = new osg::Group() ; //创建粒子系统模板 osgParticle::Particle ptemplate; //设置生命周期 ptemplate.setLifeTime(2); //设置粒子大小变化范围 ptemplate.setSizeRange(osgParticle::rangef(0.01f, 1.0f)); ... 阅读全文
posted @ 2012-07-13 11:53 筋肉强打 阅读(2261) 评论(0) 推荐(1) 编辑
  2012年7月7日
摘要: 这个问题可能是初学者都会碰到的问题,如何在地形上或者另外一个物体上放置其他的模型呢? 主要是用到了线交测绘的方法。 目的:在场景中我们已经有了一个地形 terrain,在这上面我们要放一辆坦克,该如何操作呢? 原理如下:我们假设有一条线 起点是 (x,y,-999 ) ,终点是 (x,y, 999)。如果这条线和terrain有交点,我们可以得到交点(x, y ,z) ,也即是说这个点一定会是附在terrain上,至于是正面还是负面,取决于你的起点和终点的设置。得到了这个点,我们将它设置给模型就OK了。#include <osgDB/ReadFile>#include <os 阅读全文
posted @ 2012-07-07 16:14 筋肉强打 阅读(1386) 评论(0) 推荐(0) 编辑
  2012年7月2日
摘要: Win7 64 bit 下osg vs2010环境搭建一.相关准备a) Osg源码当前最新版:OpenSceneGraph的3.0.0.zip下载链接:http://www.openscenegraph.org/downloads/stable_releases/OpenSceneGraph-3.0/source/OpenSceneGraph-3.0.0.zipb) Osg第三方库3rdParty_VC10_x86_x64.ziphttp://members.iinet.net.au/~bchrist/3rdParty_VC10_x86_x64.zipc)数据包当前最新版:OpenScene. 阅读全文
posted @ 2012-07-02 20:17 筋肉强打 阅读(1303) 评论(0) 推荐(0) 编辑
摘要: 1.系统:64位win7旗舰版2.编译工具:vs2008+sp1补丁(必须是vs2008,与他的依赖库成版本对应);Cmake2.8;3.源码下载:我们可以用TortoiseSVNcheckout下地址http://svn.osgeo.org/ossim/trunk/指定目录,就可以把源代码下载下来了!4.依赖项:我们需要下载一个依赖库,http://download.osgeo.org/ossim/dependencies/windows_vcexpress2008/(这个依赖库是和vs的版本对应的,这也是为什么我们要用vs2008了,我曾经尝试用vs2010来编译,但是会提示缺少头文件,而 阅读全文
posted @ 2012-07-02 20:16 筋肉强打 阅读(1782) 评论(0) 推荐(0) 编辑
摘要: 这两天着手学习OSG,因为看过一些VP的资料,所以看起来还好,不是很费力,但很多地方还是不得要领,今天想把这两天看的东西做个小的demo出来,结果撞了一下午的墙,主要还是在坐标系上出了问题。我的参考资料主要是《OpenSceneGraph 三维渲染引擎编程指南》 。好吧,下面是我的想法,我想在一个Terrain上添加一个cow,但是cow是浮在空中的,虽然我知道应该是地形的世界坐标出了问题,但是我想到了这样一个问题,在使用Vega prime 的时候,它的坐标是相对的,也即是说, 如果cow是Terrain的子节点,那么cow的坐标是相对与Terrain的,在OSG是否也是这样呢?进行了下.. 阅读全文
posted @ 2012-07-02 20:13 筋肉强打 阅读(1863) 评论(0) 推荐(0) 编辑
  2011年7月26日
摘要: #pragma once#include "afxwin.h"class CSplashWnd : public CWnd{public: CSplashWnd(void); ~CSplashWnd(void); CBitmap mBitmap;//初始画面位图 static CSplashWnd* c_pSplashWnd; //指向初始画面窗口的指针/* c_pSplashWnd为静态成员变量,应在类的实现文件(.cpp)开头说明:*/ // CSplashWnd* CSplashWnd::c_pSplashWnd; static void ShowSplashScre 阅读全文
posted @ 2011-07-26 18:59 筋肉强打 阅读(383) 评论(0) 推荐(0) 编辑
  2011年7月17日
摘要: 在很久以前,就因为项目的需求,接触到了组件的概念,但是由于各种原因(主要还是自己太懒...)没有系统的学习和理解组件.进几天项目空闲下来,我魔兽世界也85了..所以安心的把组件的知识梳理一遍,当然只是很基础很基础的东西,里面还参杂了一些自己的理解,写下来,可以让自己以后复习,也希望高手能指点,我的主要参考资料是《com技术内幕》,csdn上有下载。什么是com组件?什么是com技术?这些有许多解释,我个人的理解就是控件咯,类咯,dll咯,总之就是个黑盒子,我不知道它是用啥实现的,只要给我接口,知道咋用就行了——这就是我理解的组件。那么如何实现组件呢?我们可以用c++的虚类来理解接口.每个接口实 阅读全文
posted @ 2011-07-17 14:37 筋肉强打 阅读(447) 评论(0) 推荐(0) 编辑
  2011年7月12日
摘要: IDC_:控件的ID命名前缀(Control)IDM_:菜单的ID命名前缀(Menu)IDD_:对话框的ID命名前缀(Dialog)IDR_:资源的ID命名前缀(Resource)IDS_:字符串的ID命名前缀(String)IDB_:位图资源的ID命名前缀(Bitmap) 阅读全文
posted @ 2011-07-12 15:40 筋肉强打 阅读(571) 评论(0) 推荐(0) 编辑
  2011年7月10日
摘要: // ForChypre.cpp : 定义控制台应用程序的入口点。///*假定文本文件a1.txt中是某高校所有参加住宅小区挑房职工的信息, 请编写程序,读出文件中的内容,再按挑房的先后次序排队后将排序号和 姓名以文本方式存放到文件a2.txt中。排队原则:先按职称排,同职称按 分房工龄排,同工龄按年龄排。职称编号:校级干部 0教授、正处 级 1副教授、副处级 2讲师、科级 3其他 */#include "stdafx.h"#include <iostream>#include <fstream>#include <sstream>#in 阅读全文
posted @ 2011-07-10 17:06 筋肉强打 阅读(2349) 评论(1) 推荐(0) 编辑