紋理投影測試

來源:互聯網
上載者:User

對於不規則的幾何體的紋理座標, 差不多都是通過投影來算的吧

冒似有個"球狀紋理"投影到一個物體上, 就像CubeMap

還有一種"圓柱形紋理", 對物體一圈進行投影

GPU Gems3裡有個不規則地形(X,Y,Z三個方向上都有面), 這時就沒法簡單地用X,Z座標來計算UV了

對於基於高度圖的地形來說, 如果Y方向很高的話, 紋理會有明顯的展開現象

這時就可以換個方向進行投影, 用於製作懸崖之類的複雜地形

float4x4 matViewProjection;<br />float scaler;</p><p>struct VS_INPUT<br />{<br /> float4 Position : POSITION0;<br /> float3 Normal : NORMAL0;<br />};</p><p>struct VS_OUTPUT<br />{<br /> float4 Position : POSITION0;<br /> float2 Texcoord : TEXCOORD0;<br />};</p><p>float2 GetCliffUV(float3 pos, float3 normal)<br />{<br /> if (abs(normal.x) < abs(normal.z))<br /> {<br /> return float2(pos.x, pos.y);<br /> }<br /> else<br /> {<br /> return float2(pos.z, pos.y);<br /> }<br />}</p><p>VS_OUTPUT vs_main( VS_INPUT Input )<br />{<br /> VS_OUTPUT Output;</p><p> Output.Position = mul( Input.Position, matViewProjection );<br /> Output.Texcoord = GetCliffUV(Input.Position, Input.Normal) * scaler;</p><p> return( Output );<br />}<br />

不過有個接縫問題該怎麼處理呢?

用兩層進行過渡嗎?

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.