Unity Shader 能否直接傳入視窗螢幕作為頂點結構

時間 2021-06-06 15:40:20

1樓:核能琉珠

早上實現了一下,quad位置座標和相機位置座標一致的情況下,在vertex shader中將模型頂點不經轉換(MVP轉換)直接賦值到輸出,即可實現在螢幕中顯示,但是很顯然quad的uv和頂點範圍不是從0-1,所以需要一定的轉換。

Quad頂點對映到相機空間的實現

v.vertex.x *= 2;

v.vertex.y = (v.vertex.y *4)- 1;

o.vertex = float4(v.vertex.xy,0,1);

UV對映到螢幕空間的實現

i.texcoord1 += float4(0.5,0,0,0);

i.texcoord1.y *=2;

2樓:無名劍

這問題本身問的有問題

vertex shader是拿來計算你要繪製的物件的結構fragment是用來計算物件結構上畫素顏色對於底層來說只有乙個畫布,沒有視窗一說

3d效果是通過mvp三個矩陣變換而來確定模型與鏡頭相對位置,同時讓你的模型產生隨著鏡頭位置有近大遠小的變化。

你是不是想像3d max展uv那樣把模型展到螢幕上畫?是的話就不要用vertex position去計算vertex shader的位置,而是用uv。怎麼做?

你先把uv.xy直接作為vertex shader最終輸出的位置。看長什麼樣,然後你就懂了

Unity Shader 中, Shadow Caster路徑到底做了些什麼?

索拉裡斯星 topameng 我在這裡繼續追問一下。如果Shadow Caster路徑下返回的是攝像機視角下的深度圖,那這個深度圖的生成是依靠vertex著色器中加上 Bias 後的 z 值來生成的嗎?如果是這樣,那光源空間下的ShadowMap是用什麼資訊生成的?書上說這個路徑下會生成一張深度圖和...

unity shader 人物走入草叢,草的晃動特效特效怎麼做

float3 worldPos mul float3x4 unity ObjectToWorld,vertex float distLimit affectDist for int i 0 i obstacleCount ifloat3 obstacle obstacles ifloat3 bend...

Unity Shader 次表面散射 預積分次表面散射

聖約大先生 蟹妖。1.工裝公司啊。畫的什麼圖啊?服務哪種業態啊?圖畫到什麼程度啊?你是要參與平面規劃,還只是負責翻圖,立面和節點啊?你有沒有機會去現場啊?你喜不喜歡畫圖啊?2.家裝公司啊.哪家上市的呀?你知不知道,這個行業裡上不上市並不意味著公司業務水平高啊?連不連鎖也跟你半毛錢關係都沒有,你把這兩...