自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 手动推导旋转矩阵

在矩阵变换中,旋转矩阵是相对与复杂的。下图手动推导了绕z轴旋转的情况。

2021-03-20 23:31:42 130

原创 c语言实现小根堆

/*** 小根堆的实现** 逻辑模型是一个完全二叉树 存储模型是给vector** 索引下标从0开始**(1)如果i=0,结点i是根结点,无父结点;否则结点i的父结点为结点(i-1)/2;**(2)如果2i+1>n-1,则结点i无左子女;否则结点i的左子女为结点2i+1;**(3)如果2i+2>n-1,则结点i无右子女;否则结点i的右子女为结点2i+2** 插入一个元素:新元素被加入到heap的末尾,然后更新树以恢复堆的次序。从下往上调整** 删除一个元素:为了便于重建堆,实际的

2021-03-14 20:46:48 640 2

原创 从反汇编看引用的本质

#include <iostream>namespace refTest {void test(){int a = 10;int& b = a;int &&c = 1;const int &d = 1; //const 引用可以绑定到一个右值身上int &&mf = std::move(a);}}上面一段引用的测试用例,我们使用vs2017的反汇编看下引用到底做了什么操作/*** 00ADB23D call ..

2021-03-14 20:42:56 83

原创 cocosstudio 自定义控件

1 复制E:\cocos\Documents\Cocos\CocosStudio2\Samples目录,为了有重来的机会。2 设置工程的输出目录为E:\cocos\Documents\Cocos\CocosStudio2\Addins_pugna,复制的是E:\cocos\Documents\Cocos\CocosStudio2\Addins,为了有重来的机会3 使用vs2017编译,报错,因为E:\cocos\Documents\Cocos\CocosStudio2\Samples_pugna\Add

2021-03-11 23:38:43 477

原创 cocos2dx的shader的工作流程

本篇文章旨在记录cocos2dx中的shader文件是如何组织和编译的,理清脉络后,更容易对shader进行扩展和自定义。shader使用的文件包括GLProgram 、GLProgramState、GLProgramCache、GLProgramStateCacheGLProgramCache文件中的reloadDefaultGLPrograms()函数会编译所有的cocos内置的shadercocos的shader文件定义在cocos/renderer下面,是用const char定义的全局变量,

2021-03-11 23:36:17 538

原创 lua中通用数据类型的实现

/*** Union of all Lua values** lua中所有的数据类型*/typedef union { GCObject *gc; //需要垃圾回收的数据 void *p; //轻量数据 lua_Number n; //lua_number int b; //bool数据} Value;这个联合体中包含了lua中所有的数据,从这里也可以看出来轻量数据是不放在gc数据中的,它的生命期是用户自己控制的,这个数据由下面的宏进行赋值的。//** lua的数据类

2021-03-11 23:17:05 142

空空如也

空空如也

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

TA关注的人

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