课程概述
“Cocos2d-X的shader”课程概述
从OpenGL ES2.0开始,增加了shader的概念,开始了可编程图形处理,本节课将介绍Cocos2d-X中的shader。
课程笔记
EGL相关
在(Cocos2d-X的渲染系统(1))一节中,我们讲到了Cocos2dxGLSurfaceView,在Cocos2dxGLSurfaceView中设置了surface和对应的context,取代了原来EGL的相关命令,并讲和Cocos2dxRenderer设置为Cocos2dxGLSurfaceView的绘制对象。
状态相关
设置blendfunc、depth test、投影矩阵、clearcolor。
顶点数据相关
使用VBO、IBO、VAO的技术来存储顶点位置坐标、颜色、纹理坐标的数据,并将数据通过API传输到GPU。使用uniform存储顶点的矩阵,并将数据通过API传输到GPU。
shader相关
使用GLProgram的createWithFilenames方法创建program,使用GLProgramState的create方法,创建ProgramState,并通过node的setGLProgramState将其设置为Node的program。
原文地址:
http://www.geekfaner.com/cocos2d-x/ReadCocos2dxSourceCode18.html