2013-05-29 25 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