上一页 1 2 3 4 5 6 7 8 ··· 14 下一页
  2012年10月16日
摘要: #include <cassert>template <typename T> class Singleton{ static T* ms_Singleton;public: Singleton( void ) { assert( !ms_Singleton ); int offset = (int)(T*)1 - (int)(Singleton <T>*)(T*)1; ms_Singleton = (T*)((int)this + offset); } ~Singleton( void ) { assert( ms_Singleton ); ms_Sing 阅读全文
posted @ 2012-10-16 11:14 jackdesk 阅读(142) 评论(0) 推荐(0) 编辑
  2012年10月11日
摘要: 什么是对齐,以及为什么要对齐: 现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定变量的时候经常 在特定的内存地址访问,这就需要各类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放,这就是对齐。 对齐的作用和原因:各个硬件平台对存储空间的处理上有很大的不同。一些平台对某些特定类型的数据只能从某些特定地址开始存取。其他平台可能没有这 种情况,但是最常见的是如果不按照适合其平台要求对数据存放进行对齐,会在存取效率上带来损失。比如有些平台每次读都是从偶地址开始,如果一个int型 (假设为32位系统)如果存放在偶.. 阅读全文
posted @ 2012-10-11 13:13 jackdesk 阅读(621) 评论(0) 推荐(0) 编辑
  2012年10月10日
摘要: Computing Tangent Space Basis Vectors for an Arbitrary MeshModern bump mapping (also known as normal mapping) requires that tangent plane basis vectors be calculated for each vertex in a mesh. This article presents the theory behind the computation of per-vertex tangent spaces for an arbitrary trian 阅读全文
posted @ 2012-10-10 15:18 jackdesk 阅读(610) 评论(0) 推荐(0) 编辑
摘要: //letP=v1-v0D3DXVECTOR3P=v1.pos-v0.pos;//letQ=v2-v0D3DXVECTOR3Q=v2.pos-v0.pos;floats1=v1.s-v0.s;floatt1=v1.t-v0.t;floats2=v2.s-v0.s;floatt2=v2.t-v0.t;//weneedtosolvetheequation//P=s1*T+t1*B//Q=s2*T+t2*B//forTandB//thisisalinearsystemwithsixunknownsandsixequatinos,forTxTyTzBxByBz//[px,py,pz]=[s1,t1]* 阅读全文
posted @ 2012-10-10 15:15 jackdesk 阅读(904) 评论(0) 推荐(0) 编辑
  2012年9月18日
摘要: 源代码下载下载luahttp://www.lua.org/download.html我拿到的版本是5.1.4下载luabindhttp://sourceforge.net/projects/luabind/我拿到的版本是0.7下载boosthttp://sourceforge.net/projects/boost/最新版本是1.36.0,我网络比较慢,就先用已有的1.35.0了boost可以不需要编译的,luabind编译时仅仅需要其头文件建立项目分别给lua和luabind建立VC项目文件>新建>从现有代码创建项目,然后跟着向导走,选静态库项目lua建立项目为Lua,精确到lua 阅读全文
posted @ 2012-09-18 23:48 jackdesk 阅读(1356) 评论(0) 推荐(0) 编辑
  2012年9月11日
摘要: Lambert模型(漫反射)环境光:Iambdiff = Kd*Ia其中Ia 表示环境光强度,Kd(0<K<1)为材质对环境光的反射系数,Iambdiff是漫反射体与环境光交互反射的光强。方向光:Ildiff = Kd * Il * Cos(θ)其中Il是点光源强度,θ是入射光方向与顶点法线的夹角,称入射角(0<=A<=90°),Ildiff是漫反射体与方向光交互反射的光强,若 N为顶点单位法向量,L表示从顶点指向光源的单位向量(注意顶点指向光源),则Cos(θ)等价于dot(N,L),故又有:Ildiff = Kd * Il * dot(N,L)最后综合环境 阅读全文
posted @ 2012-09-11 22:09 jackdesk 阅读(640) 评论(0) 推荐(0) 编辑
  2012年9月7日
摘要: 原文:http://blog.csdn.net/aurora_mylove/archive/2007/07/20/1700540.aspx混合是什么呢?混合就是把两种颜色混在一起。具体一点,就是把某一像素位置原来的颜色和将要画上去的颜色,通过某种方式混在一起,从而实现特殊的效果。假设我们需要绘制这样一个场景:透过红色的玻璃去看绿色的物体,那么可以先绘制绿色的物体,再绘制红色玻璃。在绘制红色玻璃的时候,利用“混合”功能,把将要绘制上去的红色和原来的绿色进行混合,于是得到一种新的颜色,看上去就好像玻璃是半透明的。要使用OpenGL的混合功能,只需要调用:glEnable(GL_BLEND);即可。 阅读全文
posted @ 2012-09-07 16:41 jackdesk 阅读(26029) 评论(1) 推荐(0) 编辑
  2012年9月5日
摘要: 几种阴影类型enum ShadowTechnique{ SHADOWTYPE_NONE, // 无阴影 SHADOWTYPE_STENCIL_MODULATIVE, // 模版调制阴影 SHADOWTYPE_STENCIL_ADDITIVE, // 模版叠加阴影 SHADOWTYPE_TEXTURE_MODULATIVE, // 纹理调制阴影};Ogre:: SceneManager 类中有一群阴影相关的方法,下面逐一列举并简单说明:设置/获取阴影技术virtual void setShadowTechnique (ShadowTechnique technique)virtual Shado 阅读全文
posted @ 2012-09-05 10:27 jackdesk 阅读(445) 评论(0) 推荐(0) 编辑
  2012年8月23日
摘要: http://www.cppblog.com/lxyfirst/archive/2008/10/29/65447.htmllua作为小巧精悍的脚本语言,易于嵌入c/c++中 , 广泛应用于游戏AI ,实际上在任何经常变化的逻辑上都可以使用lua实现,配合c/c++实现的底层接口服务,能够大大降低系统的维护成本。下面对lua和c/c++的交互调用做一个实例分析:lua提供了API用于在c/c++中构造lua的运行环境,相关接口如下://创建lua运行上下文lua_State* luaL_newstate(void) ;//加载lua脚本文件int luaL_loadfile(lua_State 阅读全文
posted @ 2012-08-23 18:02 jackdesk 阅读(736) 评论(1) 推荐(0) 编辑
摘要: 1.去官方下载lua源码http://www.lua.org/download.html本人使用的是5.1.42.通过vs2008的命令提示行。进入:解压的源码如:我将lua解压到e:\lua中。及通过 e: cd e:\lua定位到etc上级目录中。3.输入etc/luavs.bat4:编译完成后就会在src目录下生成:lua51.dll, lua51.lib, lua.exe, and luac.exe文件 阅读全文
posted @ 2012-08-23 16:45 jackdesk 阅读(532) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 ··· 14 下一页