Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

RDAccelerationStructureInstance

实验性: This class may be changed or removed in future versions.

继承: RefCounted < Object

加速结构实例(由 RenderingDevice 使用)。

描述

RDAccelerationStructureInstance 描述了在 RenderingDevice.tlas_build() 方法中使用的底层加速结构(Bottom-Level Acceleration Structure,简称 BLAS)的一个实例。

属性

RID

blas

RID()

BitField[AccelerationStructureInstanceFlagBits]

flags

0

int

hit_sbt_range

0

int

id

0

int

mask

255

Transform3D

transform

Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0)


属性说明

RID blas = RID() 🔗

  • void set_blas(value: RID)

  • RID get_blas()

该实例所引用的底层加速结构(BLAS)。如果为 null,则该实例被视为一个占位符,但在 GLSL 中仍然会参与计算 gl_InstanceIndex


BitField[AccelerationStructureInstanceFlagBits] flags = 0 🔗

实例的标志位。


int hit_sbt_range = 0 🔗

  • void set_hit_sbt_range(value: int)

  • int get_hit_sbt_range()

用于该实例的命中着色器绑定表范围,该范围使用 RenderingDevice.hit_sbt_range_alloc() 方法进行分配。


int id = 0 🔗

  • void set_id(value: int)

  • int get_id()

自定义实例 ID,可在 GLSL 中通过 gl_InstanceCustomIndexEXT 进行访问。


int mask = 255 🔗

  • void set_mask(value: int)

  • int get_mask()

用于控制哪些光线可以与此实例相交的可见性掩码。


Transform3D transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0) 🔗

应用于该实例所引用的 BLAS 的变换。