CPlusPlus SOP

概要

CPlusPlus SOPを使用すると、C ++を使用して独自のプラグインを作成して、カスタムSOPオペレータを作成できます。
注意:CPlusPlus SOPは、TouchDesigner CommercialおよびTouchDesigner Proでのみ使用できます。
このSOPで使用する.dllの作成方法の詳細については、Write a CPlusPlus DLL の章とWikiのC++ カテゴリーを参照してください。
C ++コードは、GPUまたはCPUの読み込み用に記述することができます。 これらの2つのオプションのいずれかでC ++コードの開発の容易さはかなり似ています。 それにもかかわらず、C ++コード内で “directToGPU”フラグをセットすることで、これらのモードの1つを有効モードとして認識します。。 “directToGPU”フラグを “true”または “false”に設定すると、execute()または&executeVBO()のいずれかで呼び出される異なるクラスと関数が必要になることに注意してください 。
CPUモードでは、ジオメトリデータを1つずつ、またはすべて一度に追加できます。 同様に、CPUモードでは、CPlusPlus SOPは有線SOP入力とSOP to DAT、SOP to CHOP、またはSOP出力OPを使用することができます。 さらに、DAT、CHOP、およびTOPの「配線されていない」入力オペレータをカスタムパラメータとして使用できます。 この場合、他のオペレータからの入力を受け入れるには、カスタムパラメータをC ++コードで最初に処理する必要があります。
GPUダイレクトモードはCPUモードに似ていますが、SOP to DATまたはSOP to CHOPのオペレータを使用することはできません。 GPUダイレクトモードでは、すぐにVBOバッファにデータが追加され、高速な更新によってパフォーマンスが向上しますが、バッファを満たす前に頂点と面配列インデックスのサイズを知る必要があります。
WindowsのVisual StudioプロジェクトとしてのCPlusPlus SOPの例は、C:/ Program Files / Derivative / TouchDesigner099 / Samples / CPlusPlus / SimpleShapesSOPまたはカスタムTouchDesignerインストールフォルダで利用できます。 (注:MacOSでは、ここにあります:TouchDesigner.app/Contents/Resources/tfs/Samples/CPlusPlus/SimpleShapesSOP)

カスタムパラメータ – カスタムパラメータは、C ++ SOP .dllによって自動的に作成されます。 このカスタムパラメータページは、SimpleShapes.cppのsetupParameters()関数内から削除、編集、または追加できます。 定義されたカスタムパラメータは、特定のタスクに対して有効かどうかによって有効または無効にすることができます。

ジオメトリデータ – C ++ SOPコード内のジオメトリは、任意のアルゴリズムで定義することも、外部ファイルからインポートすることもできます。 可能なジオメトリは、三角メッシュとパーティクルシステムです。 元のジオメトリに3つ以上の頂点を持つポリゴンがある場合は、リストに追加する前に有効な頂点インデックスを持つ三角形に変換する必要があります。
TouchDesignerにエクスポートするためのジオメトリデータには、ポイント、ノーマル、テクスチャ座標、RGBAカラー、メッシュやパーティクルシステムの場合は三角形情報、任意の名前、浮動小数点型または整数型のカスタム属性、最大 4成分(Cd0、Cd1、Cd2、Cd3)です。

パラメータ – Load ページ
Plugin Path / dll

ロードするプラグインのパス。

Re-init Class / reinit

このパラメータが1を超えると、プラグインによって作成されたクラスのインスタンスが削除され、新しいインスタンスが作成されます。

Re-Init Class / reinitpulse
Unload Plugin / unloaddll

このパラメータが1以上になると、プラグインによって作成されたクラスのインスタンスが削除され、プラグインがアンロードされます。 複数のSOPが同じプラグインをロードしている場合、それらをアンロードしてファイルを解放する必要があります。