09 2016 档案

摘要:这一节说明了三种运动,直线运动,弹性运动和万有引力下运动。本节对三种运动在每个点上力做了分析。 Physics.h文件中定义了四个类,Vector3D类重载了基本的操作运算符和求解法向量函数。Mass类有基本的质量m、位置position、速率velocity和力force,及牛顿第一定律。Simu 阅读全文
posted @ 2016-09-27 15:50 clairvoyant 阅读(213) 评论(0) 推荐(0)
摘要:未贴图前,每个蝴蝶都是由两个三角形组成,于对角线折叠,相当于翅膀扇动,每次变换对角顶点的坐标就可以。 这次是加载资源文件,加载过后, 下面为代码, #ifndef GL_FRAMEWORK_INCLUDED #define GL_FRAMEWORK_INCLUDED #include <window 阅读全文
posted @ 2016-09-26 11:12 clairvoyant 阅读(224) 评论(0) 推荐(0)
摘要:卡通人物的贴图及阴影实现。 在抗锯齿方面,OpenGL中只需glEnable(GL_LINE_SMOOTH)。 对于一个向量的旋转,直接乘以旋转矩阵可以得出。下面为代码, 灯光设置为Z轴正方向(0,0,1),然后计算其法向量normal,接着再和旋转后的向量来个点积得到shade值。若小于零,就设置 阅读全文
posted @ 2016-09-25 17:42 clairvoyant 阅读(323) 评论(0) 推荐(0)
摘要:这种效果由ambient、position、diffuse和specular几种光在其背景贴图上实现。 在RenderToTexture()函数中ProcessHelix()函数为实现弹簧的光线效果,而在Draw()函数中的ProcessHelix()函数为实现弹簧实体。 RenderToTextu 阅读全文
posted @ 2016-09-24 12:01 clairvoyant 阅读(236) 评论(0) 推荐(0)
摘要:世界坐标中的一个点乘以一个四维矩阵,可以实现平移,旋转和缩放等等。 平移就是,旋转和缩放就是(M分别是对应的旋转缩放矩阵) 当中为0时,是向量,为1时,是坐标。 平移, 旋转, 缩放, 世界坐标中的一个点乘以一个四维矩阵,可以实现平移,旋转和缩放等等。 平移就是,旋转和缩放就是(M分别是对应的旋转缩 阅读全文
posted @ 2016-09-18 19:16 clairvoyant 阅读(12176) 评论(0) 推荐(0)
摘要:STL是CAD软件中出来的一种3D模型文件格式,wiki已经解释的很清楚了。 STL文件两种格式,ASCII STL和Binary STL。 ASCII STL,每一个facet由7行数据组成,outer loop后面三个顶点的顺序沿法线矢量逆时针排序,格式如下: Binary STL,起始有80个 阅读全文
posted @ 2016-09-17 16:27 clairvoyant 阅读(9473) 评论(0) 推荐(1)
摘要:AVI视频文件读取,首先得建个AVI(AVISTREAMINFO)文件流指针,具体的结构, 在flipIt函数__asm关键字用于调用内联汇编程序,在C/C++语法合法时出现,不能单独出现,后跟汇编指令,一组大括号中的命令或至少时空括号。 在OpenAVI函数中,AVIFileInit()函数初始化 阅读全文
posted @ 2016-09-15 15:57 clairvoyant 阅读(241) 评论(0) 推荐(0)
摘要:漂亮的地图如何加载? 以二进制格式读取raw文件1024*1024个unsigned char,假定读进指针变量pHeightMap。 颜色比例, 高度比例类似(最后便是越高越亮), 点击屏幕后会由QUADS切换为LINES,原因在WndProc()函数中, gluLookAt()函数设置camre 阅读全文
posted @ 2016-09-07 18:25 clairvoyant 阅读(121) 评论(0) 推荐(0)
摘要:这一篇主要讲的是TGA文件的加载,TGA文件分为压缩与未压缩的两种。 uncompressed和compressed的标头是不一样, 未压缩的TGA文件,在最后直接读取imageData就可以了,期间在将RGB转换为BGR时,做了加速。如下, 压缩过的TGA文件,在读取数据时,需要对每个像素点处理。 阅读全文
posted @ 2016-09-06 19:49 clairvoyant 阅读(252) 评论(0) 推荐(0)
摘要:在linux下经常遇到这个问题。 首先需要检查的是\lib下是否有libxxx.a文件,若是没有那肯定就是没有安装mingw32-libxxx包了。 在\lib下查询有libxxx.a文件,但还是会提示的话,你需要自建链接器。 这个问题已经由非常明确的答案ld cannot find an exis 阅读全文
posted @ 2016-09-05 21:25 clairvoyant 阅读(187) 评论(0) 推荐(0)
摘要:一个射击类的小demo。分为三个文件,Previous.h、Previous.cpp和Main.cpp。 在Previous.cpp的CreateWindowGL中新增了AdjustWindowRectEx()函数,可以根据客户端的期望大小计算窗口大小,矩形通过函数创建一个理想大小的窗口。 Choo 阅读全文
posted @ 2016-09-04 23:37 clairvoyant 阅读(208) 评论(0) 推荐(0)