C++开发之—内存对齐

网络数据协议的定义:

WORD为两个字节,BYTE是一个字节,但是sizeof(tagInfo)大小却是4

在头文件的开头和结尾处分别设置,然后sizeof(t[……]

Read more

C++开发之—单例类的实现

单倒模式是一种常见的设计模式,在cocos2d很多地方都使用到。下面贴出来我的一种方式。

Utils.h

Utils.cpp

原理都是类似的,使用类的静态[……]

Read more

C++研究之—C++11 新特性

总结C++11新特性的功能用法和注意事项

  • auto
    功能:类型说明符,用于自动获取表达式所属的类型
  • long long 类型
    C++语言规定,一个int至少和一个short一样大,一个long至少和一个int[……]

Read more

C++研究之—virtual 解析

OO编程有三大特性:封装,继承,多态

在C++中,从绑定时间来看,可以分成静态多态和动态多态,也称为编译期多态和运行期多态。静态多态即函数重载,在同一类内相同的函数名,不同的参数列表。相对简单,现在重点分析动态多态。

虚函数

C++中的虚函数的作用主要是实现了多态的机制。关于多态,[……]

Read more

OpenGL ES学习实践—Shader实现不显示图片4个角

前一段时间遇到一个问题,如果在程序中不改变图片的情况下,把图片4个角去掉。在看到这个题目的时候,想到通过UV坐标可以实现,但具体的细节不甚明白。如下图

如何过滤斜线覆盖的坐标呢?

这个问题就要用数学来解决了:假设截取的长度为e,因UV坐标的范围是[0,1],图中标出边界点的坐标,[……]

Read more

OpenGL ES学习之四—你好三角形(顶点缓冲区对象)

加载顶点属性的方式二:顶点缓冲区对象(VBO)

使用缓冲区对象,减少客户内存和图像内存之间数据的复制,提高性能(CPU到GPU数据复制)

预定义宏

用户数据结构
[crayon-5ba5d88fe5b1e178656[……]

Read more

OpenGL ES学习之三—你好三角形(顶点属性数组)

加载顶点属性的方式一:顶点属性数组

结合绘制三角形的实例,介绍使用定义顶点属性及其赋值的方法。

初始化,获得程序对象

绘制函数

使用常量指定顶点[……]

Read more

Cocos OpenGL/ES学习之一—你好,三角形(3)OpenGL ES 着色器与程序

OpenGL ES使用着色器渲染需要创建着色器对象程序对象。着色器对象负责加载、编译着色器程序源码,程序对象负责连接着色器对象,可以连接多个着色器对象。在OpenGL ES中程序对象只能并且至少连接一个顶点着色器对象和一个片段着色器对象。

具体的步骤:

  1. 创建一个顶点着色器对象和一个[……]

Read more