0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Unity中Sharder的3個類別及區(qū)分

Dbwd_Imgtec ? 來源:未知 ? 作者:胡薇 ? 2018-04-28 16:21 ? 次閱讀

按照渲染管線的分類,可以把Sharder分成3個類別:

1、固定功能著色器(Fixed Function Shader)

固定功能著色器為固定功能渲染管線的具體表現(xiàn)。

2、表面著色器

存在于Unity3D中由U3D發(fā)揚(yáng)光大的一門技術(shù)。Untiy3D為我們把Shader的復(fù)雜性包裝起來,降低shader的書寫門檻。

3、頂點(diǎn)著色器和片段著色器

GPU上含有兩個組件:可編程頂點(diǎn)處理器和可編程片段處理器,頂點(diǎn)和片段處理器被分離成可編程單元,可編程頂點(diǎn)處理器是一個硬件單元,可以運(yùn)行頂點(diǎn)程序,而可編程片段處理器則是一個可以運(yùn)行片段程序的單元。

頂點(diǎn)著色器

頂點(diǎn)著色程序從GPU前端(寄存器)中提取圖元信息(頂點(diǎn)位置、法向量、紋理坐標(biāo)),并完成頂點(diǎn)坐標(biāo)空間變換、法向量空間轉(zhuǎn)換、光照計算等操作,最后將計算數(shù)據(jù)傳送到指定寄存器中。

片段著色器

片段程序從上述寄存器中獲取需要的數(shù)據(jù):紋理坐標(biāo)與光照信息等,并根據(jù)這些信息以及從應(yīng)用程序傳遞的紋理信息進(jìn)行每個片段的顏色計算(紋理查詢),最后將處理后的數(shù)據(jù)傳送光柵操作模塊。

三種著色器的共同點(diǎn):

都必須從唯一一個根Shader開始

Prooerties參數(shù)部分,作用以及語法完全相同。

具體功能都在SubShader里。

都可以打標(biāo)簽

都可以Fallback

都可以處理基本的功能,例如光照漫反射以及鏡面反射。但如uv計算效果等高級功能,固定功能著色器無法完成。

三種著色器的不同點(diǎn)

表面著色器沒有通道pass{},加了會報錯,該著色器已經(jīng)把具體內(nèi)容打包在光照模型中了。

固定渲染管線每句代碼之后都沒有“;”

核心結(jié)構(gòu)不同:

- 固定渲染管線的核心是:

- 頂點(diǎn)與片段著色器的核心是:

- 表面著色器的核心是:

在Unity中如何區(qū)分以上三種著色器

沒有嵌套CG語言,即代碼中沒有CGPROGARAM和ENDCG關(guān)鍵字的,就是固定功能著色器。

嵌套CG語言,代碼中有surf函數(shù)的為表面著色器

嵌套了CG語言,代碼中有#pragma vertex name和 #pragma fragment frag聲明的,就是頂點(diǎn)著色器&片段著色器。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • gpu
    gpu
    +關(guān)注

    關(guān)注

    28

    文章

    4740

    瀏覽量

    128951
  • Unity
    +關(guān)注

    關(guān)注

    1

    文章

    127

    瀏覽量

    21830

原文標(biāo)題:Unity中Shader的三種基本類型

文章出處:【微信號:Imgtec,微信公眾號:Imagination Tech】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    如何用Unity搞出一3D版的神經(jīng)網(wǎng)絡(luò)可視化

    先給Unity3D網(wǎng)絡(luò)提供一搭建思路,提前準(zhǔn)備好實(shí)現(xiàn)展示卷積計算的方法、特征圖的形狀、邊綁定的效果等問題。
    發(fā)表于 08-29 15:57 ?1664次閱讀

    Cisco Unity Express語音郵件

    Express的另一主要優(yōu)勢在于:它能夠簡化網(wǎng)絡(luò)管理,尤其是在通常缺乏現(xiàn)場技術(shù)專家的中小型機(jī)構(gòu)。隨時輕松添加全新話音業(yè)務(wù)的靈活性使該解決方案 更具優(yōu)勢。 Cisco Unity Express還提供配置
    發(fā)表于 11-13 21:50

    Unity3D AR技術(shù)vuforia SDK

    原創(chuàng)文章如需轉(zhuǎn)載請注明:轉(zhuǎn)載自 脫莫柔Unity3D學(xué)習(xí)之旅 QQ群:【334163814】 本文鏈接地址: Unity3D AR技術(shù) vuforia SDK公司新項(xiàng)目要使用ar技術(shù)(增強(qiáng)現(xiàn)實(shí)
    發(fā)表于 09-20 11:56

    Unity3D淺談&Unity5游戲及交互設(shè)計

    Unity3D是由丹麥Unity公司開發(fā)的游戲開發(fā)工具,作為一款跨平臺的游戲開發(fā)工具,從一開始就被設(shè)計成易于使用的產(chǎn)品。支持包括IOS,ANDROID,PC,WEB,PS3.XBOX等多個平臺的發(fā)布
    發(fā)表于 07-02 06:25

    Unity的高級圖形技術(shù)解讀

    本指南向您介紹Unity的一些高級圖形概念。您將需要使用自定義著色器,本指南將帶您了解這些著色器,并向您介紹一些其他移動概念和工具。 在本指南的最后,您將了解到: ?如何實(shí)現(xiàn)頂點(diǎn)和片段著色器
    發(fā)表于 08-02 07:44

    unity3D制作的貪吃蛇軟件下載

    unity3D制作的貪吃蛇
    發(fā)表于 02-24 16:10 ?1次下載

    Unity3D插件——LitJson下載

    Unity3D插件——LitJson下載
    發(fā)表于 04-26 15:08 ?0次下載
    <b class='flag-5'>Unity3</b>D插件——LitJson下載

    UnityShader的三種類別 如何區(qū)分

    存在于Unity3D由U3D發(fā)揚(yáng)光大的一門技術(shù)。Untiy3D為我們把Shader的復(fù)雜性包裝起來,降低shader的書寫門檻。
    發(fā)表于 05-04 10:34 ?3379次閱讀

    Unity的Enlighten與混合光照

    Unity的5.6版本之前的5.x,主要使用了Geomerics公司的Enlighten【1】來提供實(shí)時全局照明以及烘焙全局照明,在5.6之后Unity引入了新的Lightmapper
    發(fā)表于 05-31 05:28 ?2175次閱讀

    “IG”火了,離不開Unity3D

    打不同的游戲,王老板給他們發(fā)工資,這次在S8奪得總冠軍的就是IG的LOL項(xiàng)目的隊員。那么知道爆款游戲的開發(fā)用的什么技術(shù)嗎?下面就來說說開發(fā)游戲Unity3D究竟能干什么吧!一、Unity3
    發(fā)表于 11-09 15:15 ?460次閱讀

    怎樣安裝Unity

    Unity是最廣泛使用的游戲引擎之一,它是用于開發(fā)適用于所有平臺的游戲,也適用于AR&amp; VR開發(fā)。市場上還有其他游戲引擎,例如Unreal,CryEngine和Torque3D,但這些都
    的頭像 發(fā)表于 08-01 14:12 ?3048次閱讀

    Unity 3D優(yōu)化三的注意方面

    Unity優(yōu)化是一很大的概念,我們優(yōu)化時需要注意三方面:CPU優(yōu)化,GPU優(yōu)化,內(nèi)存優(yōu)化。
    的頭像 發(fā)表于 03-13 16:47 ?3401次閱讀

    不同電阻的類別符號是如何區(qū)分

    為了區(qū)別不同種類的電阻,常用幾個拉丁字母表示電阻類別,如圖1所示。第一字母R表示電阻,第二字母表示導(dǎo)體材料,第三字母表示形狀性能。上圖是碳膜電阻,下圖是精密金屬膜電阻。表1列出電
    發(fā)表于 07-03 18:12 ?17次下載
    不同電阻的<b class='flag-5'>類別</b>符號是如何<b class='flag-5'>區(qū)分</b>的

    Unity 3D引擎制作的憤怒的小鳥游戲

    Unity 3D引擎制作的憤怒的小鳥游戲
    發(fā)表于 05-12 09:37 ?2次下載

    Unity與ROS鏈接介紹

    對于ROS而言,其最常用的就是Topic話題以及Service兩了。之前我們在了解Unity Robotics Hub時候就了解到基本的Unity和ROS的通訊,下面我們來詳細(xì)介紹一下Uni
    的頭像 發(fā)表于 11-17 17:22 ?1014次閱讀
    <b class='flag-5'>Unity</b>與ROS鏈接介紹