22 Jan 2016
#前言
本文介绍了如何解决使用命令行工具进行的提交没有在github个人主页上显示出来的问题。
如果不希望听那么多废话,请直接通过目录跳转到解决方法
部分。
问题描述, 为了不让你的粉丝离开你,让自己“绿起来”
经常使用github的人大概都知道,在你的个人资料主页贡献图(Your Profile Contributions)上,记录着你使用github的贡献行为。你今天有“贡献”,那么代表今天的那个小格子就会变成绿色,否则就是一个空白。下图是一个例子:
...
阅读全文 ...
20 Jan 2016
#前言
本文介绍了如何在cocos2d-x中使用自定义shader来实现混合颜色矩形的绘制。文中继续使用前一篇文章中定义的CustomDrawNode类来实现绘制过程,在其基础上派生出ColorfulRectangle
类,使用一对新的shader。
绘制的效果图如下所示:
...
阅读全文 ...
18 Jan 2016
#前言
本文总结了如何借助CCGLProgram来实现自定义绘制的节点类,使用自定义的顶点着色器和片段着色器,实现一个绘制彩色矩形的节点类。
绘制的效果图如下所示:
...
阅读全文 ...
17 Jan 2016
#前言
本文把cocos2d-x 2.x版本中预定义的所有shader源码贴出来,便于集中参考。作者的引擎版本是2.2.3.
预定义shaders总览
cocos中的预定义shader是定义在ccShaders.h/cpp这对文件中的,下面是所有预定义shader的名字:
...
阅读全文 ...
16 Jan 2016
#前言
本文介绍了cocos2d-x中CCGLProgram这个类, 这篇文章假设读者已经了解OpenGL ES程序的基本渲染流程:顶点和片段着色器的源代码的编写、着色器的创建、program的创建、源代码绑定、编译、链接、OpenGL客户端-服务端传值等。CCGLProgram这个类正是对OpenGL ES渲染流程中涉及到着色器的编译、链接、传值等部分的抽象。
本文先总起介绍CCGLProgram所做的工作,然后分析其源代码中的关键实现,最后给出CCGLProgram的使用实例。
总体上认识CCGLProgram
CCGLProgram, 人如其名,它是一个OpenGL Program,通过一个顶点着色器和一个片段着色器代码(对于不支持shader即时编译功能的显卡,传入编译好的二进制着色器数据)来创建一个CCGLProgram.
CCGLProgram内部做下面这些工作:
-
compileShader方法,内部调用glCreateShader, glShaderSource, glCompileShader等OpenGL API创建建顶点和片段着色器, 并编译
-
调用glCreateProgram等OpenGL API完成program创建
-
link方法调用glLinkProgram完成program的链接
-
use方法调用glUseProgram以启用program
-
定义了8个预定义的uniform,
...
阅读全文 ...