vrdDisplacement

クラス vrdDisplacement

(vrdSceneObject を継承)

このクラスは、MaterialX および MDL マテリアルの変位設定に使用されます。

vrdDisplacement オブジェクトはダイナミック プロパティとして保存され、(「vrdMDLProperties」、「vrdMaterialXProperties」も参照)、次のように照会することができます。

# 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): 変位値の上限を示す新しい値