unity通用渲染管線 urp 實現逐頂點光照

2021-10-19 14:55:43 字數 1115 閱讀 4097

在參閱《shader入門精要》的時候敲了一遍逐頂點光照的**發現物體呈現紫色(渲染丟失),最後發現此**在內建渲染管線中正常,但在hdrp/urp**現問題,最後解決辦法是將cg**用hlsl重寫(hdrp/urp自帶的著色器也是用hlsl實現的)。

原cg**如下:

shader "custom/diffusevertexlevel"

subshader

cgprogram

#pragma vertex vert

#pragma fragment frag

#include

"lighting.cginc"

fixed4 _diffuse;

struct a2v

;struct v2f

; v2f vert

(a2v v)

fixed4 frag

(v2f i)

: sv_target

endcg

}} fallback "diffuse"

}

重寫後的hlsl**如下:

shader "custom/diffusevertexlevel"

subshader

hlslprogram

#pragma vertex vert

#pragma fragment frag

#include

"packages/com.unity.render-pipelines.universal/shaderlibrary/lighting.hlsl"

half4 _diffuse;

struct a2v

;struct v2f

;

v2f vert

(a2v v)

half4 frag

(v2f i)

: sv_target

endhlsl

}} fallback "hidden/universal render pipeline/fallbackerror"

}

最終實現效果

unity繪製管道 Unity 之渲染管線初探

unity 是一款跨平台的 3d 引擎,有著強大的渲染功能,並主要用於遊戲開發。談到 unity 的渲染功能,我們不得不提及到著色器 shader 3d 遊戲引擎中最重要的乙個因素 它在遊戲效果以及畫面顯示方面起到了決定性的作用。shader 程式設計也屬於計算機圖形學中乙個重要的部分。接下來讓我們...

Unity 學習記錄HDRP渲染管線介紹

hdrp 渲染管線是作為unity的一種渲染方式,其渲染質量及其後期處理效果都有很大變化,也是在橋接使用brige軟體資源的必要渲染方式 安裝後會彈出乙個hdrp嚮導視窗,進行選擇場景修復 如果不是從模板建立的渲染 hdrp將原先的後處理效果集合進行了優化補充,使其更加的方便靈活使用,最主要體現在了...

OpenGL ES渲染管線

渲染管線 graphics pipeline 在 opengl es 1.0 版本中,支援固定管線,而 opengl es 2.0 版本不再支援固定管線,只支援可程式設計管線。什麼是管線?什麼又是固定管線和可程式設計管線?管線 pipeline 也稱渲染管線,因為 opengl es在渲染處理過程中...