2008-12-11 67 views
1

我使用3D紋理進行原始數據的體繪製。原始數據可以是Luminance-Alpha或RGBA。爲3D RGBA紋理改變Alpha值

目前,我讀取原始數據並設置alpha值,使得最遠的行(或切片)將是不透明的(Alpha = 1),並且最近的切片將是「透明的」(比如alpha = 0.1) alpha值被內插。

在opengl中有什麼辦法可以動態地改變這些alpha值。即基於旋轉等事件?這樣最遠的切片總是不透明的?

我正在使用場景圖工具(www.openrm.org)進行基於紋理的體繪製。

我想我不是在尋找代碼,而是我可以在使用OpenGL的GPU中有效地做到這一點。


「每片阿爾法重量」,這正是我打算做這一個會談(看看到底是僞代碼)現在

http://www.ifi.uzh.ch/staff/stern/SciVis_WS2004/chstern/v100105/VolumeRendering/kulick/

,關鍵是要重新 - 每個切片的alpha重量隨着方向的變化而計算。

回答

3

聽起來像着色器一個完美的工作......

但是,如果您使用的軸對準片,你可以設置一個glColor4f與α-分量< = 1.0,也可以設置在CPU上創建它們glTexEnv到GL_MODULATE。顏色值然後將與您的紋理的顏色值相乘。