2013-05-29 49 views
2

我正在使用raytracer拾取。並閱讀論文「用於GPU光線追蹤器的KD-Tree加速結構」,我瞭解主流程。在論文的結構中,「float2」,「float3」和「short2」是什麼? 本文link關於論文「用於GPU光線跟蹤器的KD樹加速結構」

+1

他們是不同類型的數據/ CUDA等..見[此相關的問題] [1] [1]:http://stackoverflow.com/questions/4079451/what-about -the-types-int2-int3-float2-float3-etc –

回答

0

這usualy意味着它的多維變量(認爲2D或3D空間),這就是爲什麼有一個2或3作爲後綴:

float2 variable;裝置可以這樣做:variable.x = 0.0f; variable.y = 1.0f;

float3類似,但這次也有.z部分。

在本文中,他們使用這些類型在2D或3D空間中存儲點,從而定義KD樹的邊界框。在GPU中使用

+0

但是在'Shane MacLaughlin'提到的問題中,它們用於CUDA(和openCL?),其中您有特定大小的浮動和內存使用情況,並且對齊方式很大應對。 float2表示2個字節? – Merlin

+0

float2表示實際上是2個浮點數,所以當一個浮點數是4個字節時,float2將使用8個字節。 – PeterK

+0

正如你所說,'leftChildPointer'的結構Spilled標記爲short2,爲什麼指針需要用兩個short來表示? – Merlin