【步兵 shader】封装篇

【步兵 shader】封装篇 By EOS.

上篇介绍了基础,这篇先介绍下ShaderTools的封装,为以后打好基础。
注:这篇文章是基于cocos2dx的
文中有不懂的地方可去回顾上篇:《【步兵 shader】基础篇》


几个相关的类

首先介绍几个类

GLProgram     //shaderProgram
GLProgramCache//可以存放已经链接过的shaderProgram
GLProgramState//这个类是基于Program的封装,为了更方便的传参

有了这几个类就基本OK了,本身shader的难度就不是在这些地方,可能一直没接触,
所以会显得很神秘。值得注意的一点,shaderProgram每次链接都是一次很大的开销,
所以如果每次都创建链接的话,效率会非常低,所以一定要使用GLProgramCache


源码部分

ShaderTools={}
local cls = ShaderTools --个人习惯,避免复制拷贝忘记改类名
stl = ShaderTools

--往GLProgramCache添加编译过的shaderProgram

local glProgramCache = cc.GLProgramCache:getInstance()
function cls.add(key, vert, frag)
    if vert == nil 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值