C/C++
sydnash
这个作者很懒,什么都没留下…
展开
-
VS编译动态库的时候没有生成对应的lib文件
由于windows在动态链接的时候,必须从dll文件对应的lib文件里面寻找可链接程序的标志符,因此当你编译生成一个动态库的时候,必须生成相应的lib文件。 有两种方法,一种是1、在命令行执行: dumpbin /exports yourdll.dll > yourdll.def 2、编辑 yourdll.def 文件,使之格式与原创 2012-01-13 20:33:42 · 17629 阅读 · 1 评论 -
calcHist的使用
opencv提供了calcHist函数来计算图像直方图。 其中C++的函数原型如下:void calcHist(const Mat* arrays, int narrays, const int* channels, InputArray mask, OutputArrayhist, int dims, const int* histSize, const float**原创 2012-04-11 20:21:28 · 39539 阅读 · 5 评论 -
cocos2d-x 2.0+eclipse+winxp配置
配置cocos2d-xandroid开发环境。1、在andorid developer官网下载adt-bundle-windows-x86-20131030.zip该文件继承了eclipse和CDT ADT以及android sdk,这个文件直接解压,不要移动解压之后的文件的位置。加压完成之后进入加压目录会有eclipse和sdk两个目录。进入eclipse目录启动ecl原创 2014-04-02 08:53:58 · 1832 阅读 · 0 评论 -
cocos2d的armature绑定到其他armature骨骼上的bug
在armature的骨骼上可以绑定另外的armature,在我的项目中使用了该功能来完成骑乘功能,但是在使用过程发现了如下的bug,特写在这里做一下记录。首先说说cocos2dx的代码。在cocos2dx的骨骼的update函数中有如下代码用于骨骼的矩阵更新。 if (_boneTransformDirty) { if (_dataVersion >= VER原创 2015-06-08 22:55:16 · 1776 阅读 · 0 评论 -
cocos2dx clippingNode的实现原理
clippingNode是利用opengl的裁剪缓冲区实现的,因为最近有使用这个功能需要,顺便把这部分实现看看了看。 opengl的裁剪主要有以下几个步骤:1、开启裁剪缓冲区2、设置裁剪缓冲区中的mask。3、正常绘制图形,这个时候会根据裁剪缓冲区的值和设置好的比较函数进行计算,根据通过与否选择是否会知道framebuffer4、绘制完成之后关闭裁剪缓冲区这几个步骤在c原创 2015-07-04 13:57:58 · 4849 阅读 · 6 评论 -
C++可变参数
这个东西很少用,每次都要到处找,所以这里做个记录。 可变参数值得是类似c语言里的printf(const char* format, ...)这样的参数,其中...表示参数个数可变。 宏也同样支持这样使用: 宏中的用法:#define LOG_OUT(format, ...) printf(format, __VA_ARGS__) 其中__VA_原创 2015-07-04 08:27:37 · 760 阅读 · 0 评论 -
opengl VAO and VBO
VBO用于存储顶点数据,包括顶点颜色、坐标、法线,以及顶点的indices。VAO则用于存储图形处理器将怎么使用VBO里面的数据,及顶点数据中哪些是坐标、哪些是颜色、哪些是法线等信息。之前对于这些总是不是太明白,因此我猜测也有一部分跟我一样不明白,所以我准备通过Cocos2d-x的renderer代码来说明有VAO和没有VAO的时候的区别,来加深对VAO的理解。首先我们来看初始原创 2015-08-08 09:29:20 · 5485 阅读 · 0 评论 -
在cocos2dx中,横版游戏关于相机移动的方式整理
在做横版游戏的时候,不可避免的要使用到相机移动,并且一般在2D横版游戏中为了能够模拟一些3D的效果,会使用分层移动的方式(即每一层的移动速度有一定的区别,以模拟3D中的物体越远移动越缓慢的效果。 在cocos2d中,提供了parallaxNode来实现不同层次有不同的移动速度的功能。这个node通过对加入的物体设置一个移动的scale来控制其移动速度,其实现原理是当对paral原创 2015-08-02 13:31:05 · 7951 阅读 · 1 评论