C++开发之—内存对齐

网络数据协议的定义:

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

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

Read more

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

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

Utils.h

Utils.cpp

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

Read more

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

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

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

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

Read more

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

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

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

初始化,获得程序对象

绘制函数

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

Read more

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

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

具体的步骤:

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

Read more

Cocos OpenGL/ES学习之一—你好,三角形(2)着色器GLSL

在上一篇介绍在cocos中如果使用自定义shader,通过OpenGL ES绘制一个三角形,下面来对其实现进行分析一下。

初始化部分加载一个顶点着色器和一个片段着色器,下面对两个着色器做一个简单的注解:

顶点着色程序:

[……]

Read more

Cocos OpenGL/ES学习之一—你好,三角形(1)概览

cocos 版本为3.13.1,后续可能会根据cocos版本的升级变的不同。

本篇基于cocos引擎,使用OpenGL/ES实现一个三角形。

先看一下效果图:
triangle

函数声明:

函数实现:
[crayon-5bc[……]

Read more

CocosShader 开源项目

为了深入学习OpenGL/ES,从入门到实战,一款开源的基于基开发的游戏引擎是一个很好平台。过去几年中一直使用的cocos是一个好的选择,减少学习的时间,同时也将以前积累的做个汇总。因此创建CocosShader开源项目。

在这个项目中,包含使用OpenGL/ES 2.0的Shader、特效及[……]

Read more