首页 > 其他分享 >Cocos Creator Shader与材质

Cocos Creator Shader与材质

时间:2023-11-21 11:14:56浏览次数:27  
标签:GLSL Cocos 渲染 Creator Shader 材质 绘制

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:  外部程序可以来设置的变量;

 

 

 

      

 

标签:GLSL,Cocos,渲染,Creator,Shader,材质,绘制
From: https://www.cnblogs.com/rainy1unity/p/17846153.html

相关文章

  • 大话Unity Shader,带你带你从0开始了解
    前言Shader,一款中文名为着色器的东西,对于很多开发者来言它是一个神秘的存在,想学但是又不知道如何去学,或者学了一段时间又发现Get不到它的点,始终感觉游离在外,不得其法。那么本文今天就来给大家讲解一下如何从零基础入门Shader,目的在于让初学Shader的程序员或者美术er可以快速进入......
  • Cocos Creator Shader与材质
    Cocoscreator2.1以后引入了3D渲染的底层,所以引入了Shader和材质系统,比如精灵,下面有一个材质,材质又选了一个Shader;给大家推荐一个cocoscreator学习+交流 411232577 1:什么是Shader和材质?Shader是一种给显卡GPU执行的程序,是一种绘制算法,显卡的渲染流水线加载Shad......
  • 细数creator 1.x与2.x的重大区别
    Cocoscreator从1.x到2.x还是有很多改动,今天我总结了一些他们的主要差别。1:取消了DrawNode,取而代之的是cc.Graphic组件:将DrawNode改成了cc.Graphic,这样更贴近组件化开发一些;2:摄像机改动比较大:x默认没有摄像机,而2.x必须要有一个摄像机才能显示;摄像机的实现也做了很......
  • cocos如何绑定参数到编辑器
    很多cocos creator同学不知道如何绑定组件属性到编辑器上,今天我们来教大家如何绑定  1:基本数据属性绑定到编辑器   这个非常简单,模板是属性名字: 默认的值;Is_debug:false,speed:100,2:系统组件类型与节点绑定到编辑器属性名字: {   type:组件类型(cc......
  • cocos专栏第一章: 初识Cocos Creator
    1.1 Cocos不同时期与产品 刚接触Cocos家族的时候,会有很多个Cocos的版本与分支,比如Cocos2d,Cocos2d-x,CocosCreator1.x,CocosCreator2.x,CocosCretor3D,CocosCreator3.x,CocosDashboard,等我们先把Cocos的主要产品脉络梳理一遍。智能手机刚出来的时候,国外做了......
  • cocos专栏第二章:创建项目与显示第一个物体
    创建第一个项目 从本节开始我们将详细的来开始学习CocosCreator的开发基础与操作。我们先来创建一个项目,打开CocosDashboard,选择”新建”,选3D游戏模板”Empty(3D)”,输入项目的名字(classGame)与路径(D:\Home\workspace),(注意项目的名字不要用中文与空格,要用英文缩写,同......
  • 教你彻底搞懂Cocos Creator Tween
    Cocos使用了Tween来代替原来的Action系统,今天来给大家讲解Tween如何使用,帮助大家掌握Tween的使用,并且对Tween有一个更深入的了解。对啦!这里有个游戏开发交流小组里面聚集了一帮热爱学习游戏的零基础小白,也有一些正在从事游戏开发的技术大佬,欢迎你来交流学习。1:Tween到底......
  • Cocos Creator 3.x 如何动态修改3D物体的透明度
    CocosCreator3.x的2DUI有个组件UIOpacity组件可以动态修改UI的透明度,非常方便。很多同学想3D物体上也有一个这样的组件来动态的控制与修改3D物体的透明度。今天基于CocosCreator3.8来实现一个可以动态修改3D物体透明度的组件Opacity3D。 一个3D物体如何才能够半透明显......
  • Cocos Creator 项目实战《3D切水果》
    今天跟大家分享一个CocosCreator3D切水果的实战案例,帮助大家掌握CocosCreator开发3D微信抖音小游戏,开发工具我们采用的是CocosCreator3.6。先上一波游戏操作效果图,接下来通过本文来讲解这个游戏的一些核心的技术点。   游戏项目资源准备 我们刚开始做项目的时候......
  • Cocos Creator 常见错误排查方法
    CocosCreator新手开发的时候经常会遇到一些错误不知道如何解决,今天把这些错误总结一下,下次遇到的时候,自己知道如何分析。 到底谁为null或undefine 我们在使用CocosCreator开发的时候,运行游戏项目,经常会遇到这样的问题: TypeError:Cannotreadpropertiesofnull(rea......