vrdDisplacement

vrdDisplacement

(继承 vrdSceneObject

此类用于 MaterialX 和 MDL 材质的置换设置。

vrdDisplacement 对象存储为动态属性(另请参见 vrdMDLPropertiesvrdMaterialXProperties),可以按如下方式进行查询:

# Query an MDL material by name
mdlMat = vrMaterialService.findMaterial("MaterialName")
# Query the dynamic properties
properties = mdlMat.getProperties()
object = PySide6.QtCore.QObject()
properties.update(object)
# Get the displacement object
displacement = object.property("__vred_displacement")
print(displacement.getBuildPrecision())
SilhouetteMode
NoOpenGLSilhouettes

AccurateOpenGLSilhouettes

摘要

函数:

函数

vrdDisplacement.getBuildPrecision()

获取以场景单位表示的构建精度。

返回值:当前使用的构建精度值
返回值类型:float

vrdDisplacement.getDisplacementEdgeLengthVulkan()

获取 Vulkan 的置换边长。

返回值:当前使用的边长值
返回值类型:float

vrdDisplacement.getIntersectionPrecision()

获取以场景单位表示的相交精度。

返回值:当前使用的相交精度值
返回值类型:float

vrdDisplacement.getSilhouetteMode()

获取 OpenGL 轮廓模式。

返回值:当前使用的轮廓模式
返回值类型:vrdDisplacement.SilhouetteMode

vrdDisplacement.getValueLimit()

获取以场景单位表示的置换值的设定限制。

返回值:当前使用的置换值限制
返回值类型:QVector2D

vrdDisplacement.setBuildPrecision(value)

设置在光线跟踪模式下构建加速度结构期间对置换函数进行求值的精度(以场景单位表示)。值越小,对置换函数的求值越精确,但会降低加速度结构构建的速度。值越大,构建加速度结构的速度越快,但如果置换贴图频率过高,则可能会导致缺少峰值。

参数:value (float) - 新的构建精度值

vrdDisplacement.setDisplacementEdgeLengthVulkan(edgeLength)

设置 Vulkan 的置换边长。

参数:edgeLength (float) - 新边长值

vrdDisplacement.setIntersectionPrecision(value)

设置在相交计算期间对置换函数进行求值的精度(以场景单位表示)。值越小,在相交期间采样越多,因此会导致跟踪性能降低。值越大,跟踪性能越高,但如果置换贴图频率过高,则可能会错过交点。

参数:value (float) - 新的相交精度值

vrdDisplacement.setSilhouetteMode(mode)

设置 OpenGL 轮廓模式。

参数:mode (vrdDisplacement.SilhouetteMode) - 新的轮廓模式

vrdDisplacement.setValueLimit(range)

设置 OpenGL 的置换函数中的值限制(以场景单位表示)。范围必须足够大,以在置换函数中涵盖所有可能的值。

参数:range (QVector2D) - 置换值的值限制的新值