18video性欧美19sex,欧美高清videosddfsexhd,性少妇videosexfreexxx片中国,激情五月激情综合五月看花,亚洲人成网77777色在线播放

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

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

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

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

454398 ? 來源:CSDN ? 作者:莫之 ? 2020-10-05 01:55 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一、RenderPipeline類

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

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

二、相關(guān)類

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

1. RenderPipelineAsset

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

2. GraphicsSettings

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

3. RenderPipeline

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

4. ScriptableRenderContext

渲染上下文,在自定義渲染管線中定義一些狀態(tài)和渲染命令,然后調(diào)用Submit函數(shù)提交到GPU;這個(gè)上下文的概念類似于OpenGL中上下文的概念,定義渲染管線要使用的許多狀態(tài)以及繪制命令,相當(dāng)于整個(gè)渲染的manager;

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

5. CommandBuffer

它的出現(xiàn)早于SRP,在沒有SRP時(shí),它用于對(duì)unity內(nèi)置的渲染管線進(jìn)行擴(kuò)展;該緩沖區(qū)用于存儲(chǔ)一系列渲染命令,然后提交到渲染上下文中;

使用步驟:創(chuàng)建緩沖區(qū)-設(shè)置-提交-釋放緩沖區(qū)

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

6. SortSettings

設(shè)置場(chǎng)景中物體的排序方式,使用默認(rèn)方式和使用自定義方式

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

自定義方式,設(shè)置cameraPosition、customAxi、worldToCameraMatrix三個(gè)變量聯(lián)合使用;

三、第一步-完成一個(gè)最基礎(chǔ)的渲染管線

創(chuàng)建命令緩沖區(qū),如下,設(shè)置清空渲染目標(biāo)的命令;

剔除操作,通過相機(jī)獲取剔除參數(shù),剔除場(chǎng)景中的不可見物體;

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

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

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();

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

    關(guān)注

    28

    文章

    5050

    瀏覽量

    134014
  • 編輯器
    +關(guān)注

    關(guān)注

    1

    文章

    825

    瀏覽量

    32550
  • Unity
    +關(guān)注

    關(guān)注

    1

    文章

    129

    瀏覽量

    23028
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    源儀電子S7220交直流可編程電源產(chǎn)品介紹

    源儀電子S7220交直流可編程電源融合了PWM、PFC和DSP等先進(jìn)技術(shù),提供了純凈、穩(wěn)定且靈活的電源輸出,具備精確的量測(cè)能力和完善的保護(hù)措施。無論是用于研發(fā)驗(yàn)證還是生產(chǎn)線質(zhì)量檢驗(yàn),都能有效提升測(cè)試的精確性和效率,可編程電源是工程師應(yīng)對(duì)復(fù)雜電源測(cè)試挑戰(zhàn)的理想選擇。
    的頭像 發(fā)表于 09-22 14:28 ?227次閱讀
    源儀電子S7220交直流<b class='flag-5'>可編程</b>電源產(chǎn)品<b class='flag-5'>介紹</b>

    可編程負(fù)載:實(shí)驗(yàn)室與生產(chǎn)的高效測(cè)試助手

    電子負(fù)載產(chǎn)品憑借高性能、多功能和高可靠性,為用戶提供了一站式的測(cè)試解決方案。本文將詳細(xì)介紹源儀電子的可編程負(fù)載的特點(diǎn)、應(yīng)用以及如何助力實(shí)驗(yàn)室和生產(chǎn)提升效率。
    的頭像 發(fā)表于 09-05 10:45 ?351次閱讀
    <b class='flag-5'>可編程</b>負(fù)載:實(shí)驗(yàn)室與生產(chǎn)的高效測(cè)試助手

    用于 DOCSIS 3.0 上行路徑的可編程增益放大器 skyworksinc

    電子發(fā)燒友網(wǎng)為你提供()用于 DOCSIS 3.0 上行路徑的可編程增益放大器相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)手冊(cè),更有用于 DOCSIS 3.0 上行路徑的可編程增益放大器的引腳圖、接線圖、封裝手冊(cè)、中文資料
    發(fā)表于 09-01 18:33
    用于 DOCSIS 3.0 上行路徑的<b class='flag-5'>可編程</b>增益放大器 skyworksinc

    吉事勵(lì)可編程交流恒流源原理及特點(diǎn)介紹

    可編程交流恒流源是一種電子測(cè)試設(shè)備,其核心功能是在負(fù)載變化時(shí)保持輸出交流電流的恒定,同時(shí)允許用戶通過編程接口靈活設(shè)定電流值、波形和頻率。以下是其核心要點(diǎn):
    的頭像 發(fā)表于 07-24 18:18 ?345次閱讀
    吉事勵(lì)<b class='flag-5'>可編程</b>交流恒流源原理及特點(diǎn)<b class='flag-5'>介紹</b>

    吉事勵(lì)可編程交流恒流源特點(diǎn)介紹

    在現(xiàn)代電氣測(cè)試領(lǐng)域,精確的電流控制已成為產(chǎn)品質(zhì)量和安全的關(guān)鍵保障。吉事勵(lì)電子推出的CCS2000系列可編程交流恒流源憑借其先進(jìn)技術(shù)和可靠性能,正成為斷路器、熔斷器、變壓器等關(guān)鍵電氣元件測(cè)試的首選設(shè)備
    的頭像 發(fā)表于 07-22 17:30 ?329次閱讀
    吉事勵(lì)<b class='flag-5'>可編程</b>交流恒流源特點(diǎn)<b class='flag-5'>介紹</b>

    可編程SLIC語音芯片哪家好?

    在當(dāng)今數(shù)字化快速發(fā)展的時(shí)代,語音芯片的應(yīng)用越來越廣泛,而可編程SLIC(用戶線路接口電路)語音芯片更是憑借其獨(dú)特的優(yōu)勢(shì),受到眾多行業(yè)的青睞。那么,面對(duì)眾多的選擇,哪家的可編程SLIC語音芯片更勝一籌
    的頭像 發(fā)表于 06-12 13:55 ?472次閱讀
    <b class='flag-5'>可編程</b>SLIC語音芯片哪家好?

    可編程電子負(fù)載的原理及主要應(yīng)用

    可編程電子負(fù)載是電源測(cè)試領(lǐng)域的關(guān)鍵設(shè)備,能夠模擬真實(shí)負(fù)載條件并動(dòng)態(tài)調(diào)整參數(shù),為電源、電池、新能源設(shè)備等提供性能驗(yàn)證。源儀電子基于20年行業(yè)經(jīng)驗(yàn),開發(fā)了可編程直流電子負(fù)載系列,涵蓋高精度測(cè)試、動(dòng)態(tài)響應(yīng)及多通道控制功能,滿足從研發(fā)到量產(chǎn)的全
    的頭像 發(fā)表于 03-15 10:38 ?1267次閱讀
    <b class='flag-5'>可編程</b>電子負(fù)載的原理及主要應(yīng)用

    愛普生SG-8101CE可編程晶振的應(yīng)用領(lǐng)域介紹

    壓電俠代理的SG-8101CE是愛普生推出的一款高性能可編程晶振,支持0.67-170MHz寬頻段可編程調(diào)節(jié),步進(jìn)精度達(dá)±1ppm,并能在-40℃至+105℃寬溫范圍內(nèi)保持±15ppm的高穩(wěn)定性
    的頭像 發(fā)表于 03-06 15:38 ?609次閱讀
    愛普生SG-8101CE<b class='flag-5'>可編程</b>晶振的應(yīng)用領(lǐng)域<b class='flag-5'>介紹</b>

    可編程交流負(fù)載標(biāo)準(zhǔn)

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

    EE-153:ADSP-2191可編程PLL

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

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

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

    PLC可編程控制器的簡(jiǎn)介

    PLC的英文全稱為Programmable Logic Controller,也就是可編程序控制器。它是一種將計(jì)算機(jī)技術(shù)與繼電器技術(shù)結(jié)合起來的現(xiàn)代化自動(dòng)控制裝置,1969年,美國數(shù)字化設(shè)備公司研制出
    的頭像 發(fā)表于 12-23 09:09 ?1791次閱讀

    愛普生 SG-8200CG 可編程晶振和溫補(bǔ)晶振有什么區(qū)別?

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

    愛普生 SG-8101CB 可編程晶振和普通晶振相比有哪些優(yōu)勢(shì)?

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

    可編程晶振和普通晶振有什么區(qū)別

    可編程晶振和普通晶振在多個(gè)方面存在區(qū)別:一.功能特性:1.頻率靈活性:可編程晶振:可以根據(jù)客戶的具體需求進(jìn)行編程,能夠?qū)崿F(xiàn)各種不同的頻率輸出,頻率設(shè)置的自由度很高,可滿足特定應(yīng)用場(chǎng)景中
    的頭像 發(fā)表于 10-29 16:57 ?819次閱讀
    <b class='flag-5'>可編程</b>晶振和普通晶振有什么區(qū)別