在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Unity可編程渲染管線SRP具體流程介紹

454398 ? 來源:CSDN ? 作者:莫之 ? 2020-10-05 01:55 ? 次閱讀

一、RenderPipeline類

通過SRP可以實現對渲染管線的完全控制,它提供了需要的工具來創建符合項目需求的渲染管線和效果;通過在C#腳本中定義一系列的命令來控制每一幀的渲染過程,和傳統內置管線不同,它開放了更多的接口,給了開發者更大的自由度,但是又不至于像OpenGL手寫管線那么復雜,可以很好滿足開發者既需要自定義管線又要簡單快捷的開發需求,降低了渲染管線的開發門檻;

該類用于srp中的渲染方式,它通過定義一系列的命令和設置來告訴unity怎么渲染一幀;

二、相關類

所有可編程渲染管線相關的類定義在UnityEngine.Rendering中;

1. RenderPipelineAsset

所有的管線資源都要繼承自該類,并重寫其創建管線的CreatePipeline()方法,返回一個RenderPipeline實例,并且需要將該值賦予到GraphicSettings,然后才可以使用這個自定義的管線來進行渲染;

2. GraphicsSettings

它和編輯器中的Project Settings中的Graphics的設置是緊密相關的,用于以腳本的方式來進行自動設置來代替手動設置;所以,它提供的屬性和方法都是和設置面板相對應的;例如,創建一條管線后,就可以通過GraphicsSettings.renderPipelineAsset來將其設置為當前的渲染管線;

3. RenderPipeline

核心類,可編程的渲染管線的具體流程在此定義,所有的可編程渲染管線繼承自該類,在創建新的管線資源時,需要使用到該類的子類進行實例化;

4. ScriptableRenderContext

渲染上下文,在自定義渲染管線中定義一些狀態和渲染命令,然后調用Submit函數提交到GPU;這個上下文的概念類似于OpenGL中上下文的概念,定義渲染管線要使用的許多狀態以及繪制命令,相當于整個渲染的manager;

SetupCameraProperties(camera):相機的配置是第一步,設置相機的屬性,獲取一個相機實例后,就可以獲取它的觀察矩陣(transform)和裁剪矩陣(clip plane等)等屬性值;

5. CommandBuffer

它的出現早于SRP,在沒有SRP時,它用于對unity內置的渲染管線進行擴展;該緩沖區用于存儲一系列渲染命令,然后提交到渲染上下文中;

使用步驟:創建緩沖區-設置-提交-釋放緩沖區

CommandBuffer buf=new CommandBuffer(); //設置渲染命令.... context.ExecuteCommandBuffer(buf) //非立即執行 buf.Release()

6. SortSettings

設置場景中物體的排序方式,使用默認方式和使用自定義方式

默認方式,設置criteria,這是一個SortingCriteria枚舉類型,包含了透明物體(從前到后)、半透明(從后到前);

自定義方式,設置cameraPosition、customAxi、worldToCameraMatrix三個變量聯合使用;

三、第一步-完成一個最基礎的渲染管線

創建命令緩沖區,如下,設置清空渲染目標的命令;

剔除操作,通過相機獲取剔除參數,剔除場景中的不可見物體;

繪制命令,繪制前需要對場景中的物體進行排序,為不同的物體設置不同的排序方式,比如半透明物體要從后到前渲染;在DrawingSettings中,構造函數第一個參數為ShaderTagId類型,也就是要使用的pass的tag的Id值,以及排序的設置;FilteringSettings則設置渲染隊列的范圍,用于設置哪些物體將會被渲染,如下例子,將透明和半透明分開進行渲染;

注意:天空盒的渲染在不透明物體之后,在半透明物體之前;

var cmd = new CommandBuffer(); CameraClearFlags clearFlags = camera.clearFlags; cmd.ClearRenderTarget((CameraClearFlags.Color&clearFlags)!=0,(CameraClearFlags.Depth&clearFlags)!=0,camera.backgroundColor); context.ExecuteCommandBuffer(cmd); cmd.Release(); context.SetupCameraProperties(camera); //剔除 ScriptableCullingParameters cullingPrama; camera.TryGetCullingParameters(out cullingPrama); CullingResults cullRet = context.Cull(ref cullingPrama); //繪制 SortingSettings sortSettings = new SortingSettings(camera); sortSettings.criteria = SortingCriteria.CommonOpaque; DrawingSettings drawSettings = new DrawingSettings(new ShaderTagId("BasicPass"),sortSettings); FilteringSettings filterSettings = new FilteringSettings(RenderQueueRange.opaque); context.DrawRenderers(cullRet,ref drawSettings,ref filterSettings); context.DrawSkybox(camera); sortSettings.criteria = SortingCriteria.CommonTransparent; drawSettings.sortingSettings = sortSettings; filterSettings.renderQueueRange = RenderQueueRange.transparent; context.DrawRenderers(cullRet,ref drawSettings,ref filterSettings); context.Submit();

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • gpu
    gpu
    +關注

    關注

    28

    文章

    4913

    瀏覽量

    130694
  • 編輯器
    +關注

    關注

    1

    文章

    817

    瀏覽量

    31794
  • Unity
    +關注

    關注

    1

    文章

    128

    瀏覽量

    22313
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    可編程電子負載的原理及主要應用

    可編程電子負載是電源測試領域的關鍵設備,能夠模擬真實負載條件并動態調整參數,為電源、電池、新能源設備等提供性能驗證。源儀電子基于20年行業經驗,開發了可編程直流電子負載系列,涵蓋高精度測試、動態響應及多通道控制功能,滿足從研發到量產的全
    的頭像 發表于 03-15 10:38 ?765次閱讀
    <b class='flag-5'>可編程</b>電子負載的原理及主要應用

    愛普生SG-8101CE可編程晶振的應用領域介紹

    壓電俠代理的SG-8101CE是愛普生推出的一款高性能可編程晶振,支持0.67-170MHz寬頻段可編程調節,步進精度達±1ppm,并能在-40℃至+105℃寬溫范圍內保持±15ppm的高穩定性
    的頭像 發表于 03-06 15:38 ?295次閱讀
    愛普生SG-8101CE<b class='flag-5'>可編程</b>晶振的應用領域<b class='flag-5'>介紹</b>

    可編程交流負載標準

    可編程交流負載標準是電力電子測試領域的重要組成部分,它為交流電源、變頻器、逆變器等設備的測試提供了標準化的負載條件。這種可編程性使得測試更加靈活和精確,能夠滿足不同設備和應用場景的需求。 核心在于其
    發表于 01-15 13:53

    EE-153:ADSP-2191可編程PLL

    電子發燒友網站提供《EE-153:ADSP-2191可編程PLL.pdf》資料免費下載
    發表于 01-14 14:57 ?0次下載
    EE-153:ADSP-2191<b class='flag-5'>可編程</b>PLL

    愛普生(EPSON) 常規可編程晶振

    常規可編程晶振主要用來替換一般用途的中低頻四腳有源晶振,可以滿足大多數用途有源晶振的快速交付。愛普生(Epson)作為全球領先的晶體產品供應商,提供了一系列可編程晶振,可以與基波正常振蕩器相同
    的頭像 發表于 01-13 15:24 ?507次閱讀
    愛普生(EPSON) 常規<b class='flag-5'>可編程</b>晶振

    PLC可編程控制器的簡介

    PLC的英文全稱為Programmable Logic Controller,也就是可編程序控制器。它是一種將計算機技術與繼電器技術結合起來的現代化自動控制裝置,1969年,美國數字化設備公司研制出
    的頭像 發表于 12-23 09:09 ?907次閱讀

    愛普生 SG-8200CG 可編程晶振和溫補晶振有什么區別?

    愛普生SG-8200CG可編程晶振與溫補晶振(TCXO)之間有幾個關鍵的區別,具體如下:功能特性SG-8200CG可編程晶振:具備可編程功能,用戶可通過專用
    的頭像 發表于 11-21 10:39 ?416次閱讀
    愛普生 SG-8200CG <b class='flag-5'>可編程</b>晶振和溫補晶振有什么區別?

    愛普生 SG-8101CB 可編程晶振和普通晶振相比有哪些優勢?

    愛普生SG-8101CB可編程晶振與普通晶振相比,具有以下優勢:1.頻率靈活性高:?可編程性:普通晶振的頻率在生產時就已固定,而SG-8101CB可編程晶振可以通過編程來設定其輸出頻率
    的頭像 發表于 11-05 10:40 ?475次閱讀
    愛普生 SG-8101CB <b class='flag-5'>可編程</b>晶振和普通晶振相比有哪些優勢?

    可編程晶振和普通晶振有什么區別

    可編程晶振和普通晶振在多個方面存在區別:一.功能特性:1.頻率靈活性:可編程晶振:可以根據客戶的具體需求進行編程,能夠實現各種不同的頻率輸出,頻率設置的自由度很高,可滿足特定應用場景中
    的頭像 發表于 10-29 16:57 ?545次閱讀
    <b class='flag-5'>可編程</b>晶振和普通晶振有什么區別

    愛普生可編程晶振 SG-8002CA 的應用領域有哪些?

    愛普生Epson可編程晶振SG-8002CA的應用領域廣泛,以下是具體介紹:1.基站設備:在基站中,精確的時鐘信號對于數據傳輸的同步性和準確性至關重要。SG-8002CA可以為基站的射頻模塊、基帶
    的頭像 發表于 10-22 10:25 ?498次閱讀
    愛普生<b class='flag-5'>可編程</b>晶振 SG-8002CA 的應用領域有哪些?

    可編程晶振的優點和缺點

    可編程晶振,近年來漸入人們眼中。什么是可編程晶振,與普通晶振有什么區別?可編程晶振的優點和缺點有哪些?1,什么是可編程晶振可編程晶振是一種可
    的頭像 發表于 09-30 10:44 ?770次閱讀
    <b class='flag-5'>可編程</b>晶振的優點和缺點

    用TMAG5328電阻器和電壓可編程霍爾效應開關實現可編程性和診斷

    電子發燒友網站提供《用TMAG5328電阻器和電壓可編程霍爾效應開關實現可編程性和診斷.pdf》資料免費下載
    發表于 09-11 10:01 ?0次下載
    用TMAG5328電阻器和電壓<b class='flag-5'>可編程</b>霍爾效應開關實現<b class='flag-5'>可編程</b>性和診斷

    動態可編程增益放大器

    電子發燒友網站提供《動態可編程增益放大器.pdf》資料免費下載
    發表于 09-07 10:43 ?0次下載
    動態<b class='flag-5'>可編程</b>增益放大器

    關于可編程交流電源特點及應用介紹

    可編程交流電源是一種高度靈活且可調節的電源。與傳統的固定輸出交流電源相比,它具有許多獨特的功能和廣泛的應用范圍。 一、可編程交流電源特點 1、可編程交流電源電壓可調 雖然傳統的固定輸出交流電源通常
    的頭像 發表于 08-29 15:48 ?712次閱讀

    可編程晶振都有什么頻率的呢?分享3個挑選可編程晶振的技巧

    頻率范圍全面覆蓋,滿足多樣化需求: ? CMOS可編程晶振:1~200MHz寬廣選擇,為您的基礎應用提供穩定可靠的支持。 ? 可編程差分晶振:高達2100MHz的卓越性能,滿足高速數據傳輸與信號處理的高標準要求。 ? 可編程壓控
    的頭像 發表于 07-18 18:30 ?1539次閱讀
    <b class='flag-5'>可編程</b>晶振都有什么頻率的呢?分享3個挑選<b class='flag-5'>可編程</b>晶振的技巧
    主站蜘蛛池模板: 六月丁香六月婷婷 | 91九色蝌蚪在线 | 欧美最猛性xxxx免费 | 国产视频观看 | 天堂资源中文在线 | 国产精品福利午夜h视频 | www.亚洲成人| 久久新地址| 国产成人精品影视 | 日本人六九视频69jzz免费 | 国产免费一区二区三区香蕉精 | 欧美女同在线观看 | 亚洲网站免费观看 | 天天在线影院 | 国内自拍网红在综合图区 | 国产免费卡1卡2卡 | 伊人天伊人天天网综合视频 | 午夜欧美性欧美 | 青娱乐久草 | 国产三级精品播放 | 激情 婷婷| yy4080午夜理论一级毛片 | 免费人成在线观看网站 | 夜恋秀场欧美成人影院 | 国产精品igao在线观看樱花日本 | 边摸边吃奶边做视频叫床韩剧 | 久久天天操 | 人人做人人爽国产视 | 最黄毛片| 国产成人综合一区人人 | 国产精品亚洲玖玖玖在线靠爱 | 99综合色 | 亚洲成人在线电影 | 天天爱天天操天天射 | 欧美成人在线网站 | 日操夜操 | 美女视频很黄很暴黄是免费的 | 夜夜夜精品视频免费 | 一级毛片一级毛片一级级毛片 | 午夜影院免费在线观看 | 日韩基地1024首页 |