自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 收藏
  • 关注

原创 ogre中的材质脚本

     资源组管理器初始化完毕时,装载材质脚本,OGRE会自动的在组相关的资源位置查找".materal”扩展名的文件,并对这些脚本进行语法解析。手动解析可以通过MaterialSerializer::parseScript()。但是注意的是:解析脚本时并没有对脚本中定义的全部纹理等资源进行加载,所以,在我们访问一个材质的时候,一定要确保它已经装载,或者,我们手动将此材质Load()一次再进行访

2009-10-22 22:46:00 2058 1

原创 ogre中的资源

比如下面的代码: mSceneMgr->setSkyDome(true, "Examples/CloudySky", 5, 8); // Create shared node for 2 fountains mFountainNode = static_cast(mSceneMgr->getRootSceneNode()-

2009-10-22 16:01:00 748

原创 c++类型转化的比较

== ============================================= dynamic_cast .vs. static_cast == ===========================================class B { ... }; class D : public B { ... }; void f(B* pb) {

2009-10-20 21:19:00 600

原创 c++中类型转化

C 风格(C-style)强制转型如下: (T) exdivssion // 把exdivssion转化为T类型比如: int a = (int)3.2;  函数风格(Function-style)强制转型使用这样的语法: T(exdivssion) // cast exdivssion to be of type T  这两种形式之间没有本质上的不同,它纯粹就是一

2009-10-20 20:59:00 504

原创 ogre中显式写入日志文件

LogManager::getSingletonPtr()->logMessage("*** Initializing OIS ***"); 这句代码会把***    Intiializing OIS   ****写入到ogre.log中。

2009-10-20 20:41:00 585

原创 ogre中显示FPS框

用向导生成的程序,默认显示FPS框,而且屏幕右边有个Ogre的图片,我自己比较讨厌这个图片~~~ 那如何控制是否显示这些信息呢? 在ogre中,这些信息放在Media/packs/OgreCore.zip中的OgreDebugPanel.overlay中, 在帧侦听器中,通过mDebugOverlay = OverlayManager::getSingleton().g

2009-10-20 20:21:00 2366

原创 ogre中设置纹理滤波方式

ogre中设置滤波方式的代码:  if( mKeyboard->isKeyDown(OIS::KC_T) && mTimeUntilNextToggle <= 0 ) { switch(mFiltering) { case TFO_BILINEAR: mFiltering = TFO_TRILINEAR; mAniso = 1;

2009-10-20 20:06:00 1000

原创 关于纹理滤波方式

1、 为什么在纹理采样时需要texture filter       我们的纹理是要贴到三维图形表面的,而三维图形上的pixel中心和纹理上的texel中心并不一至(pixel不一定对应texture上的采样中心texel),大小也不一定一至。当纹理大于三维图形表面时,导至一个像素被映射到许多纹理像素上;当维理小于三维图形表面时,许多个象素都映射到同一纹理。 当这些情况发生时,贴图

2009-10-20 20:00:00 1601

原创 ogre中截屏方法

截取渲染场景放在图形文件中,主要是通过窗口的方法实现的,下面为实现代码:  std::ostringstream ss; ss << "screenshot_" << ++mNumScreenShots << ".png"; mWindow->writeContentsToFile(ss.str()); mTimeUntilNextToggle = 0.5;

2009-10-20 19:45:00 1054 1

原创 ogre中获取摄像机位置和方位

ogre中获取摄像机位置和方位方法如下:位置信息应该是世界坐标系中的三维坐标,方位信息是单位化的方向向量。  mDebugText = "P: " + StringConverter::toString(mCamera->getDerivedPosition()) + " " + "O: " + StringConverter::toString(mCamera->

2009-10-20 19:42:00 864

原创 ogre中显示模型线框

ogre中,显示三维物体可以有实体(solid)方式,线框(wireframe),以及点(point)方式,...原来是通过摄像机相关方法设置的: case 0 : mCamera->setPolygonMode(PM_SOLID); break; case 1 : mCamera->setPolygonMode(PM_WIREFRAME); break; cas

2009-10-20 19:35:00 1676 1

原创 c++面试题目(1)

如果int a= 5, b=3; 执行语句"!a&&b++"后,a、b的值分别为: A. 5, 3    B. 0, 1   C. 0, 3  D. 5, 4 答案是什么呢?就是A,有人可能会选D,因为考虑的j++的自增操作。实际上,c++在计算表达式值时,使用一种“逻辑短路”的方法,一旦确定表达式中的值,表达式中余下部分就不会再计算了,比如上面的表达式,!a = 0,所以整个

2009-10-03 09:04:00 520

原创 字符串最常公共子序列

 int Commlen(string s1, string s2){//假设s1[0], s2[0]都没有保存实际字符,只是压入一个空值。 int l1,l2,i,j; l1 = s1.size(); l2 = s2.size(); vector l(l1+1, 0); vector r(l1+1, 0); for(j = 1; j<l2; j++)

2009-10-01 13:43:00 513

原创 全排列问题

道富恒天2010招聘题目出现了全排列问题,以前做过,竟然忘了,郁闷,不过经过这次考试,我想这类问题,我应该不会再忘了~~~ 设R={r1, r2,...,rn},R的全排列为Perm(R), Ri=R-{ri},则Perm(R) = r1Perm(R1},r2Perm(r2),...,rnPerm(Rn); 比如R={a,b,c},则Perm(R)=aPerm({b,c}),bPe

2009-10-01 13:05:00 678

原创 道富恒天2010一道笔试题

 杭州出租车的计价表位:打表一次收起步价10元,3公里之内只收起步价,3公里~10公里按2元收费,10公里以上按3元一公里收费。加入市政府规定消费者有权在行驶途中让司机多次打表计费,那么预计行程大于____公里,消费者为了省钱会选择多次打表。(3分) 老狼我的解法: 10 + 2*7 + (z-10)*3 = 10 + 2*x+ 10 +2*y;z = x+3 + y +3;

2009-09-30 08:56:00 2741 2

原创 IT面试算法题(3)

写一算法检测单向链表中是否存在环(whether there is a loop in a link list), 要求算法复杂度(Algorithms complexity是O(n)) 并只使用常数空间(space is O(c)).注意,你只知道一个指向单向链表头的指针。链表的长度是不定的,而且环出现的地方也是不定的,环有可能在头,有可能在中间。而且要求是检测, 不能破坏环的结构。 

2009-09-29 09:23:00 867

原创 IT面试算法题(2)

1、请编写一个 C 函数,该函数将给定的一个数字字符串转换成整数。int StrToNum(char*str){ int num = 0; while(*str!=/0) { num = 10*num + (*str - 0); str = str +1; } return num;} 2、请编写一个 C 函数,该函数将给定的一个

2009-09-28 22:17:00 776

原创 IT面试算法题(1)

请编写一个 C 函数,该函数给出一个字节中被置 1 的位的个数,并请给出该题的至少一个不同解法。下面是我写的几个函数:int Test1NumofOne(unsigned char c){ int num=0; int i; for(i = 0; i < 8; i++) { if(c&0x01) num++; c = c>>1;

2009-09-28 21:30:00 824

原创 linux进程操作(1)

1、linux中进程的概念 进程是具有一定功能的程序关于一个数据集合的一次运行活动,是处于活动状态的计算机程序。 进程在生存期间可能处于三种基本状态:运行态、就绪态、等待态。 在多处理操作系统中,进程具有独立的权限和职责。如果系统中某个进程崩溃,不会影响到其他的进程。每个进程运行在各自的虚拟地址空间中,通过一定的通信机制,他们之间才能发生联系。 2、linux中每个

2009-09-20 18:37:00 476

原创 优先队列的用法

#include "stdafx.h" #include #include #include using namespace std; //看看priority_queue的声明,模板的第三个参数就是比较规则,规则可以是个函数,也可是个仿函数 //template , // class Compare =

2009-09-20 11:16:00 689

原创 字符串替换函数

字符串替换函数:#include "stdafx.h"#include #include using namespace std; string replaceAll(string s1, string s2, string s3){ string str1(s1); string::size_type st = str1.find(s2);

2009-09-19 10:05:00 499

原创 kruscal最小生成树算法

下面是kruscal最小生成树算法,用了并查集和优先队列: // kruscal.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include #include #include #include using namespace std;class UFset{public: vector parent

2009-09-14 10:13:00 696

原创 Prim算法代码

今天整理调试的prim算法代码:#include "stdafx.h"#include #include #include using namespace std; const int MAXINT = numeric_limits::max(); template void Prim(int n, Type** c)

2009-09-13 21:14:00 1375

原创 Dijkstra算法代码

今天写了Dijkstra单源最短路径的代码,贴出来...  #include "stdafx.h"#include #include #include using namespace std;const int MAXINT = numeric_limits::max(); template void Dijkstra(int n, int

2009-09-12 11:26:00 5536 1

原创 c++中头文件

在c++中要防止头文件循环包含和多重包含,这就需要定义定义头文件时,加上 #ifndef _XXX_H#define _XXX_H....#endif  另外还有一种forward reference. 如果要引用一个类,但不能包含其头文件(比如,该类依赖于你正在编写的类),可以简单的告诉编译器存在该类就可以了,比如与引用

2009-09-10 20:13:00 576

原创 c++中使用变长参数列表

       C++是C的超集,但C中的几个隐含特性C++中却找不到对应的“替代品”,... c++以及c中函数传递参数时(按值传递),参数从左到右入栈,看下面的代码:#include "stdafx.h"#include using namespace std;void fun(int a, ...){ int *temp= &a; int i;

2009-09-10 19:07:00 1241

原创 openGL中的抗锯齿实现

           图形绘制到屏幕时,光栅化图像通过离散的像素点来表示,因此所绘制的图元(比如直线)会产生锯齿,这种锯齿也称作走样。消除锯齿的技术称为反走样,也叫做抗锯齿,通过这种处理可在一定程度上消除锯齿的影响,增强显示效果。在OpenGL中,可通过函数glHint()来对图像质量和绘制速度之间的权衡作一些控制,其函数形式为:    void glHint(GLenum targe

2009-08-18 21:05:00 17289

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除