最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

CocosCreator2.x_Shader(一)

2021-11-09 17:46 作者:會(huì)飛的蝸牛007  | 我要投稿

一、什么是shader?

shader專業(yè)直譯名詞是:著色器,著色程序,渲染。

它是代替固定渲染管線來實(shí)現(xiàn)圖像渲染的可編輯程序,可編輯就代表了它的多態(tài)性,可以實(shí)現(xiàn)各種各樣的圖像效果而不用受顯卡的固定渲染管線限制。

其中Vertex Shader(頂點(diǎn)著色器)主要負(fù)責(zé)頂點(diǎn)的幾何關(guān)系等的運(yùn)算,Pixel Shader(像素著色器)主要負(fù)責(zé)片源顏色等的計(jì)算。

理解上Shader是一段代碼,通過編程告訴GPU如何繪制頂點(diǎn)和顏色,從而實(shí)現(xiàn)各種各樣的圖像效果

上下文的理解都參照了《博客園》昵稱叫“gamedaybyday”的《CocosCreator Shader筆記》這篇文章,并不是說這篇文章寫的有多完整,而是它為我指明了shader入門方向,這非常重要,非常感謝,再次感謝。

二、cocosCreator中的shader基礎(chǔ)

在cocoscreator2.x中,每一個(gè)cc.Sprite組件和cc.Label組件都有一個(gè)默認(rèn)Materials材質(zhì)屬性


創(chuàng)建渲染節(jié)點(diǎn)sprite或label時(shí)默認(rèn)帶的屬性

每個(gè)材質(zhì),都對(duì)應(yīng)一個(gè)shader,編輯器有默認(rèn)的materials目錄(存放材質(zhì)),和effects程序目錄(存放shader)

存放材質(zhì)和shader的目錄,以及材質(zhì)所使用的shader

選中一個(gè)shader,就可以在屬性檢查器里預(yù)覽其代碼

shader:builtin-toon的代碼

既然shader是一段編程,那么就有對(duì)應(yīng)的編程語言,我暫時(shí)理解為和C++,java等語言差不多shader語言有3種:

1.基于OpenGL的OpenGL Shading Language,簡稱GLSL。

2.基于DirectX的High Level Shading Language,簡稱HLSL。

3. NVIDIA公司的C for Graphic,簡稱Cg語言。

cocos結(jié)合了YAML和GLSL,使用一種單源碼嵌入式領(lǐng)域特定語言Cocos Effect;

YAML?是一種標(biāo)記語言,語法和其他高級(jí)語言類似,可以簡單表達(dá)清單、散列表,標(biāo)量等數(shù)據(jù)形態(tài)。特別適合用來表達(dá)或編輯數(shù)據(jù)結(jié)構(gòu)、各種配置文件、傾印調(diào)試內(nèi)容、文件大綱(例如:許多電子郵件標(biāo)題格式和YAML非常接近)。YAML 的配置文件后綴為?.yml,runoob.yml?。

在cocos Effect中,YAML 部分聲明流程控制清單, GLSL 部分聲明實(shí)際的 shader 片段,這兩部分內(nèi)容上相互補(bǔ)充, 共同構(gòu)成了一個(gè)完整的渲染流程描述

關(guān)于cocos Effect語法:https://docs.cocos.com/creator3d/manual/zh/material-system/effect-syntax.html

官網(wǎng)其實(shí)介紹的很詳細(xì),不過這里還是跟著官網(wǎng)介紹記錄一下。

shader編輯官方推薦使用VSCode,在vscode中安裝Cocos Effect插件,該插件可以高亮effect文件,方便閱讀和編輯代碼

搜索并安裝cocos effect插件

在解析官方自帶的shader內(nèi)容之前,先得熟悉下聲明渲染流程控制清單的YAML語法和片段語言GLSL的語法。

這部分專門在CocosCreator2.x_Shader(二)中介紹

工欲善其事,必先利其器,心急吃不了熱豆腐啊,還是得一步一步來...加油



CocosCreator2.x_Shader(一)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
股票| 循化| 邢台市| 乐陵市| 鹤庆县| 拉萨市| 武川县| 通化县| 府谷县| 无锡市| 武宣县| 永新县| 宜章县| 尼勒克县| 红原县| 弥勒县| 和林格尔县| 沽源县| 西乡县| 潮安县| 托克逊县| 阳东县| 崇阳县| 海门市| 利津县| 米泉市| 商河县| 汉源县| 东乡族自治县| 原阳县| 循化| 江永县| 阿尔山市| 通山县| 固安县| 六盘水市| 廊坊市| 商城县| 屏边| 柳河县| 临泉县|