Cocos creator 2.1以后引入了3D渲染的底层,所以引入了Shader和材质系统,比如精灵,下面有一个材质, 材质又选了一个Shader;

1: 什么是Shader和材质?

Shader是一种给显卡GPU执行的程序, 是一种绘制算法,显卡的渲染流水线加载Shader代码后,就能够在绘制的时候执行Shader的代码。Cocos 有自己的一个Shader的结构,Shader的开发语言cocos使用的是GLSL编程语言。

材质是一种配置文件,选好一个Shader,并指定好这个Shader所需要的参数;

2: cocos 物体是如何绘制的?

以Sprite组件为例,它有一个材质,这个时候绘制图片的时候,就使用这个材质,通过材质渲染管道准备好算法,和参数,这样,渲染管道就绘制出来。

2: 完整的Shader渲染流程(pass)

3: cocos Shader的结构

1: 描述部分

顶点shader在哪里,着色shader在哪里?材质上的参数定义哪些,这个是描述部分。

2: 顶点Shader部分:

3: 着色Shader部分:

4: GLSL常用的概念:

GLSL变量精度级别: highp, mediump, lowp (高, 中, 低)

attribute: 渲染管道传过来的数据, 只能在顶点Shader中使用;

varying: vectex Shader, frag Shader 的传递变量

uniform: 外部程序可以来设置的变量;

如果需要完整告诉模糊Shader的同学,可以进入学习小组学习

Cocos Creator教程:Shader与材质相关推荐

  1. Cocos Creator 教程:生成二维码

    一般做应用推广时,都会做一个自己的推广二维码.由于每个人的推广二维码都不一样,这就需要前端用代码生成属于用户个人的推广二维码.话不多说,下面讲解如何用Creator 生成用户专属推广二维码,文章最后会 ...

  2. 快速入门 Cocos Creator 3D Shader 上篇

    前言 Shader,又名着色器,是控制 GPU 绘制的指令集.从某种意义来说,着色器是一个把输入转换到输出的程序,为图形渲染管线的某个特定部分而运行.图形渲染管线是渲染的核心组件.通过给定虚拟相机.3 ...

  3. Cocos Creator教程 ——(一)Hello World

    目录 一.新建项目 二.资管管理器 三.层级编辑器 四.属性检查器 五.内容来源 一.新建项目 我们先通过一个简单的项目了解Cocos的基本结构: 打开cocos creator,在下面界面中选择&q ...

  4. cocos creator 使用shader 不要勾选项目设置的动态图集和图片的自动合批

    学习链接  https://forum.cocos.org/t/creator-shader-2019-10-22-2-2-0/82548 因为主要目的是为了避开cocos creator Mask的 ...

  5. Cocos Creator教程 ——(二)UI系统介绍(上)

    目录 前言 一.Sprite(精灵) 二.Label(文字) 三.Weight(对齐挂件) 四.Layout(自动布局) 前言 这里会通过一个demo项目去介绍现在的UI系统有生产什么游戏的能力,以及 ...

  6. cocos creator教程【打造路径编辑系统】

    路径编辑系统在地图里面是非常重要的一项技术,他可以给NPC或怪物编辑地图路径,比如塔防游戏的地图路径,比如捕鱼达人的 鱼阵路径,那么cocos creator如何实现了,今天分享一个技巧使用动画编辑器 ...

  7. cocos creator | 为什么 shader 效果在编辑器中显示正常,运行后却显示异常? 合图纹理的uv计算

    获取源码,请关注公众号: 感谢QQ群(521643513)内 honmono 大佬的指导 01 uv 坐标 之后的文章中,我们再详细介绍顶点着色器,片段着色器,纹理等知识 这里简单了解下基本概念 渲染 ...

  8. cocos creator 3d 3.0《懒猫跑酷》 实战开发教程

    文章目录 01搭建开发环境hello world 02 导入3D资源,搭建游戏场景 03 控制猫移动 04生成无缝地图 05生成障碍物和鱼 06 碰撞检测+动画编辑器 07 UI模块和UI适配(位图字 ...

  9. cocos creator粒子不变色_隐秘的物理粒子系统与渲染 !Cocos Creator LiquidFun !

    让 cocos Q弹起来!物理流体之 LiquidFun 流体纹理 shader ! 效果预览 让 Cocos Q弹起来吧! 原理 物理粒子系统 引擎内置的 box2d.js 其实已经携带了 goog ...

最新文章

  1. 如何判断轮廓是否为圆?
  2. 有什么事是你当了程序员才知道的? | 每日趣闻
  3. DL之DilatedConvolutions:Dilated Convolutions(膨胀卷积/扩张卷积)算法的简介(论文介绍)、架构详解、案例应用等配图集合之详细攻略
  4. 综合应用题:多线程复制文件(知识点:多线程、随机读写流)
  5. QML笔记-QML基本数据类型的使用
  6. mybatis update 返回值
  7. 正确使用日志的10个技巧(转)
  8. TensorFlow 中的 tf.train.exponential_decay() 指数衰减法
  9. 微信小程序教程笔记5
  10. Atitit. 数据约束 校验 原理理论与 架构设计 理念模式java php c#.net js javascript mysql oracle
  11. 华硕电脑键盘灯不亮怎么办
  12. 移动端html页面显示图表,HTML5移动端数据图表组件调研
  13. 单片机定时器TMOD与TCON
  14. Huginn实现自动通过slack推送豆瓣高分电影
  15. index函数c语言,C语言数据结构中定位函数Index的使用方法
  16. Windows Server 2008 R2使用WDS服务实现批量安装操作系统演示
  17. 聚合支付是下一个财富蓝海!
  18. 深入理解DSP中的重要概念(FT、DTFT、DFT、DFS、ZT、FFT)
  19. mysql查看用户购买_mysql查询——购买所有产品的客户
  20. 调用浏览器局部打印,空白、只有一页问题、火狐兼容

热门文章

  1. 【技术之外】关于一位业余天文爱好者:这次聊一下兴趣
  2. 针对win10的WiFi网络显示“未连接,连接不可用”,系统诊断修复无效
  3. Win10打字输入法不显示输入框怎么办?
  4. Android Linux Alarm 对功耗的影响
  5. 安川机器人第二原点位置
  6. 【扬尘监测系统】让扬尘管理迈向“智慧化”
  7. PCA-ANN-小麦分类
  8. php 图片添加超链接,百度帖吧图片加“超链接”引流量的实现方法
  9. CSS布局系列一:标准、浮动、定位
  10. 计算机专业考研调剂的大学,【计算机考研调剂院校公告】2018年湖北工业大学考研调剂公告(第二批)...