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

Cocos Creator Shader与材质

时间:2023-11-21 09:57:38浏览次数:32  
标签:Cocos 渲染 Creator Shader cocos 材质 绘制

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

给大家推荐一个cocos creator学习+交流 411 232 577

 

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的同学,可以联系我
————————————————
版权声明:本文为CSDN博主「Clank的游戏栈」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/voidinit/article/details/100039631

标签:Cocos,渲染,Creator,Shader,cocos,材质,绘制
From: https://www.cnblogs.com/bycw/p/17845563.html

相关文章

  • 细数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......
  • Cocos Creator中定时任务的实现
    在CocosCreator游戏开发中,经常需要使用定时任务,例如,赛车游戏游戏开始前的倒计时,玩家游戏结束之后等待3秒进入下一局,打地鼠游戏中,地鼠出洞3秒后消失,飞机大战中飞机每隔1秒钟发射一颗子弹等等。由于其应用场景非常多,因此,CocosCreator中为我们提供了方便的计时器,这个计时器源自......
  • 一篇文章搞定Cocos Creator中动画编辑器的使用
    在CocosCreator游戏开发中,动画特效的使用非常频繁,而动画特效的操作对初学者来说又相对复杂,所以,初学者一定要引起重视。对惹,这里有一个游戏开发交流小组,希望大家可以点击进来一起交流一下开发经验呀~动画编辑器使用1:创建一个节点;2:为这个节点添加一个动画组件cc.Anima......