Posts

【cocos2d-x 2.x 学习与应用总结】10: cocos2d-x自带的shader及其使用

15 Jan 2016

#前言 本文介绍了cocos2d-x中自带的shader代码, 及其在引擎中的使用情况。作者的引擎版本是2.2.3,在这个版本的cocos中有9种自带的shader,详情请见下文。

自带的shaders

cocos2d-x自带的shaders定义在cocos2dx\shaders\ccShaders.hcocos2dx\shaders\ccShaders.cpp这对文件中,下面是ccShaders.h的内容: 每个自带的shader源代码都被定义成一个字符串: const GLchar*类型的变量, 如下: ...

阅读全文 ...


OpenGL ES 2.0 Programming Guide 术语

08 Jan 2016

作者是现在对相关知识理解还不是很深入,后续会不断完善。因此文中内容仅供参考,具体的知识点请以OpenGL的官方文档为准

前言

本文列举了《OpenGL ES 2.0 Programming Guide》书中的一些术语的含义。

Rendering Related

Words Meaning
obscure 掩盖,“遮挡”
   
   
   
   
  • mitigate

参考


在这里也能看到这篇文章:github博客, CSDN博客, 欢迎访问 ...

阅读全文 ...


【C++ OpenGL ES 2.0编程笔记】1: OpenGL ES 2.0 渲染管线和EGL

07 Jan 2016

作者是现在对相关知识理解还不是很深入,后续会不断完善。因此文中内容仅供参考,具体的知识点请以OpenGL的官方文档为准

前言

本文介绍了OpenGL ES 2.0的渲染管线:Graphics Pipeline和作为OpenGL API和本地窗口之间接口的EGL.

渲染管线总览 Graphics Pipeline

es2_pipeline.png ...

阅读全文 ...


【个人吐槽慎入】:如果现在不开始那就很可能永远都不会开始

07 Jan 2016

完美主义之弊

你是否经常碰到这种情况,想做一件事情,但是觉得自己还没考虑清楚,虽然可以开始做,但是做出来的效果肯定很难让自己满意,甚至很有可能被别人笑话,或者说自己很害怕失败,怕自己完成不了这个事情。 “我想开始写作,写博客,但是我的文笔好差,还是先多读点东西,看别人怎么写的然后我再开始吧。” “我想总结一下网络编程中的某个技术点,但是我可能总结的很不到位,我了解的还不够深入,写出来在行家眼里会被笑话,还是再学习一段时间再说吧。” “我想加入公司的篮球社团,跟大家一起玩、锻炼身体,可是我的技术好差,带球都会丢,先别去丢人了,自己练练先。” …… 于是你就不开始,你想再酝酿一下,你想再准备一下,这时候其它的事情也在消耗着你的精力,没开始的那件事就被一拖再拖,即使不是最终被你彻底遗忘,你在想起这件事的时候还是会觉得没把握,还是不能开始,因为放了那么久甚至没有刚想做它的时候那么熟悉它,这件事就这样被你无限期的往后放,可能就永远没有了开始的机会。问题的根源在哪里?谁说刚开始做就一定要做好了,你对自己的要求太高了,人和事情不是一开始就是完美的。 ...

阅读全文 ...


【C++ OpenGL ES 2.0编程笔记】8: 使用VBO和IBO绘制立方体

05 Jan 2016

作者是现在对相关知识理解还不是很深入,后续会不断完善。因此文中内容仅供参考,具体的知识点请以OpenGL的官方文档为准

前言

本文介绍了OpenGL ES 2.0 中的顶点缓冲对象(VBO: Vertex Buffer Object)和索引缓冲对象(IBO: Indice Buffer Object)的用法, 在之前的文章中图元的绘制没用使用VBO, 要绘制的顶点数据是以顶点数组的形式保存在客户端的内存中的,在每次调用glDrawArrays或者glDrawElements的时候,顶点数组都会被从客户端内存copy到显卡内存。 VBO的作用,就是把这份每次都要copy的顶点数组缓存在显卡的内存中,VBO使得我可以直接在显卡内存中分配并缓存顶点数据。这样就避免了每次调用draw的时候的copy操作,从而提高了渲染性能同时降低了内存带宽和设备的电量消耗。 IBO跟VBO的原理类似,只不过IBO是缓存了VBO绘制时候的Indices. 根据OpenGL ES 2.0 “Golden Book”的建议,要想获得最好的性能,就要尽可能使用VBO和IBO来完成绘制任务。 下面以一个具体的例子来展示如何使用VBO和IBO完成一个正方体的绘制。

效果图

...

阅读全文 ...