摘要: 其基本原理很多例子上有講到。下面給出一些比較合適的鏈接
http://developer.nvidia.com/object/cube_map_ogl_tutorial.html NVIDIA官網(wǎng)上的 Opengl Cube texture mapping
http://www.zwqxin.com/archives/shaderglsl/review-cube-mapping-shader.html 某位兄弟的個人BLOG。
以上兩位都適合OPENGL控。
本文給出一個DX HLSL例子。并解釋了反射方向計算的數(shù)學模型。希望能給大家一定的幫助。
CUBE映射主要分為兩步:
一、在VS中根據(jù)法線和觀察位置計算反射方向,并且得到觀察空間中的反射方向。
反射方向有兩種計算方法。
1、在世界坐標系空間中計算,然后再將計算到的反射方向轉換到觀察空間。 這要求我們轉入觀察位置。
2、在觀察空間中進行計算,此時觀察位置已經(jīng)為0,0,0,于是不需要傳入觀察位置,并且得到的向量即為所求。本文的代碼采用此
閱讀全文
摘要: 一、投影紋理進行模型貼花時,主要是進行三角面剔除,使在渲染貼花時,提交最少的三角面。
二、在貼花PASS中,需要將全局混合開啟,并設置相應的SRCBLEND(SRC_ALPHA)和DESTBLEND(DEST_ALPHA)值。括號內為我用的值。
當然,如果你不想讓貼花與場景(模型)混合,則可以不開啟?!?
三、請注意紋理的尋址方式以及紋理邊緣的ALPHA情況?!∪艏y理邊緣ALPHA不為0,則可以手工進行裁剪。
四、本文僅是采用了固定的投影方向和SHADER內部定義變量的方式來進行貼花渲染?!〔⑶?,并未進行模型三角面剔除。所以若要使用,則需要注意第一個問題。
五、本文靈感來源于此貼:http://forums.create.msdn.com/forums/p/34339/198791.aspx
六、支持郵件交流:BoYueGame#Gmail#com
閱讀全文