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

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

嘗試入門Shader

2023-03-09 16:04 作者:王大喵愛編程  | 我要投稿

本文僅為邊學(xué)邊記錄的流水賬。

想優(yōu)先驗(yàn)證一下自己的想法的可行性,能不能在Unity中自行繪制一些數(shù)據(jù)。

大概是要用到Shader,找到《Unity Shader 入門精要》,里面應(yīng)該會(huì)有我想要的東西。

快速刷到3.1章,就可以上手嘗試了。

在Unity中我們需要配合使用材質(zhì)(Material)和Unity Shader才能達(dá)到需要的效果。

一個(gè)最常見的流程是:

(1)創(chuàng)建一個(gè)材質(zhì);

(2)創(chuàng)建一個(gè)Unity Shader,并把它賦給上一步中創(chuàng)建的材質(zhì);

(3)把材質(zhì)賦給要渲染的對象;

(4)在材質(zhì)面板中調(diào)整Unity Shader的屬性,以得到滿意的效果。

跟著1234走一遍。

創(chuàng)建shader的時(shí)候有4個(gè)模版,分別表示:

  • Standard Surface Shader會(huì)產(chǎn)生一個(gè)包含了標(biāo)準(zhǔn)光照模型的表面著色器模板,

  • Unlit Shader則會(huì)產(chǎn)生一個(gè)不包含光照(但包含霧效)的基本的頂點(diǎn)/片元著色器,

  • Image Effect Shader則為我們實(shí)現(xiàn)各種屏幕后處理效果提供了一個(gè)基本模板。

  • Compute Shader會(huì)產(chǎn)生一種特殊的Shader文件,這類Shader旨在利用GPU的并行性來進(jìn)行一些與常規(guī)渲染流水線無關(guān)的計(jì)算。

Unity Shader是Unity為開發(fā)者提供的高層級(jí)的渲染抽象層。ShaderLab是Unity提供的編寫Unity Shader的一種說明性語言。

一個(gè)典型的ShaderLab語義塊如下

在Unity中,我們可以使用上面3種形式來編寫Unity Shader

- 表面著色器寫在SubShader里面,是對頂點(diǎn)/片元著色器的抽象,并處理了光照細(xì)節(jié)。

表面著色器,CGPROGRAM和ENDCG之間的代碼是使用CG/HLSL編寫的,也就是說,我們需要把CG/HLSL語言嵌套在ShaderLab語言中

- 頂點(diǎn)/片元著色器是寫在Pass里面的,更復(fù)雜也更靈活


頂點(diǎn)/片元著色器的代碼也需要定義在CGPROGRAM和ENDCG之間,也是使用CG/HLSL編寫的

可以使用GLSL來寫嗎?

當(dāng)然可以。這意味著你可以發(fā)布的目標(biāo)平臺(tái)就只有Mac OS X、OpenGL ES 2.0或者Linux,而對于PC、Xbox 360這樣的僅支持DirectX的平臺(tái)來說,你就放棄它們了。

你可以怎么寫呢?

和CG/HLSL需要嵌套在CGPROGRAM和ENDCG之間類似,GLSL的代碼需要嵌套在GLSLPROGRAM和ENDGLSL之間。

嘗試入門Shader的評(píng)論 (共 條)

分享到微博請遵守國家法律
湾仔区| 迁西县| 南岸区| 绥阳县| 舞钢市| 琼中| 宁津县| 和田市| 嵊州市| 甘德县| 罗源县| 安宁市| 镶黄旗| 郓城县| 商南县| 仪征市| 商水县| 雷州市| 乐昌市| 花垣县| 连平县| 兴宁市| 洛阳市| 诏安县| 灵宝市| 双流县| 陆河县| 鸡泽县| 阿克苏市| 正定县| 武清区| 尼木县| 黄石市| 七台河市| 高尔夫| 灵武市| 岳阳县| 武乡县| 广汉市| 杨浦区| 马龙县|