投稿者「ted_kanakubo」のアーカイブ

Light COMP

概要

ライトコンポーネントは、3Dシーンに光を投射するオブジェクトです。ライトのパラメータでは、ライトで照らされたジオメトリの色や明るさ、雰囲気をコントロールできます。また、カメラのようにライトの視点からシーンを見ることもできます。

パラメータ – Xform ページ

COMP共通- Xform ページの章を参照して下さい。

パラメータ – Pre-Xform ページ

COMP共通- Pre-Xform ページの章を参照して下さい。

パラメータ – Light ページ
Light Color / c

赤、緑、青の各パラメータを調整することで、ライトの色を変更することができます。また、色見本をクリックすると、HSVやRGBのスライダを備えたダイアログが開き、選択した色のプレビューを見ながらインタラクティブに色を選ぶことができます。

  • Red / cr
  • Green / cg
  • Blue / cb
Dimmer / dimmer

このパラメータは、ライトの色相に影響を与えずに、ライトの強度を変更します。Dimmerの強度が0.001以下のライトは無視されます。この最適化により、0.0に設定されているライトは、シーン内で計算されなくなります。

Light Type / lighttype

光の種類を設定します。

  • Point Light / point
    すべての方向に均等に光を放射します。
  • Cone Light / cone
    コーン角、デルタ、フォールオフを利用して光の大きさや強さをコントロールする指向性のスポットライトです。
  • Distant Light / distant
    光は1つの方向ベクトルから放射されます。これを利用して、例えば太陽のような遠く離れた場所にある光をシミュレートすることができます。ライトの位置は無視され、方向のみが使用されます。
Cone Angle / coneangle

光が最大の強度を維持する角度を設定します。コーンの角度を10〜40度にすると、スポットライトのような明るさになります。

Cone Delta / conedelta

この値は、光の強さが最大からゼロになる円錐角の外側の角度を度で表しています。この領域を超えると、それ以上の光は照射されません。

Cone Rolloff / coneroll

このパラメータ(1~10の値)は、Cone Deltaエリア内で、全光量からゼロ光量までの間の光量の減少を、どの程度緩やかに、または急激に行うかを設定します。

Distance-Attenuated / attenuated

このチェックボックスをオンにすると、距離に応じた光の減衰が有効になります。

Attenuation Start / attenuationstart

光の減衰が始まる光源からの距離を設定します。

Attenuation End / attenuationend

光の減衰が終了する光源からの距離を設定します。(この点を超えると光が放射されません。)

Attenuation Rolloff / attenuationexp

減衰の開始点と終了点の間で、光がどのようにフェードオフするかを設定します。

Projector Map Type / projmaptype
  • Spot / spot
  • Point (Equirectangular) / point
Projector Map / projmap

ライトのプロジェクターマップに使用されるTOPへのパスを設定します。

Projector Map Mode / projmapmode

プロジェクションマップの適用方法を設定します。

  • Simple Horizontal FOV / simplehorzfov
    下記の Projector Angle パラメーターに基づいた視野を使用します。
  • Use View Settings / useview
    パラメータの View ページで設定した内容を使用します。
Projector Angle / projangle

プロジェクターマップの円錐角の広がりを設定します。これは、Cone AngleパラメータがCone Lightsで機能するのと同様です。

Polygon Front Faces / frontfacelit

ポリゴンの法線を使って、ポリゴンの表面をどのように照明するかを制御します。詳しくは、Two-Sided Lightingの章を参照してください。

  • Front Lit / frontlit
  • Back Lit / backlit
Polygon Back Faces / backfacelit

ポリゴンの法線を使って、ポリゴンの裏面をどのように照明するかを制御します。詳しくは、Two-Sided Lightingの章を参照してください。

  • Front Lit / frontlit
  • Back Lit / backlit
パラメータ – Shadows ページ

シャドウを有効にすると、このノードはシーンを深度のみのパスでレンダリングしてシャドウマップを作成します。このマップは、レンダリング時に Render TOP によって使用され、このライトで照らされたオブジェクトの影を作成します。作成されたシャドウマップは、カスタムレンダリングが行われている場合、Depth TOPを使用して取得することができます。

Shadow Type / shadowtype

ライトが落とす影の種類を設定します。

  • Off / off
    影が落ちません。
  • Hard, 2D Mapped / hard2d
    ハードな影。
  • Soft, 2D Mapped / soft2d
    ソフトな影。
  • Custom / custom
    カスタムシャドウマップの使用が可能になります。
Shadow Casters / shadowcasters

このライトから影を落とすGeometry COMPを設定します。

Light Size / lightsize

ソフトシャドウまたはカスタムシャドウを使用する際に、ソースライトのサイズを設定します。

  • lightsize1
  • lightsize2
Max Shadow Softness / maxshadowsoftness

ソフトシャドウ、カスタムシャドウ使用時のシャドウのソフトの微調整を行うます。

Filter Samples / filtersamples

ソフトシャドウを行う際に、各ピクセルのシャドウマップを調べるサンプル数を設定します。

Search Steps / searchsteps

ソフトシャドウを行う際に、オクルージョン検索を何段階で行うかを設定します。

Polygon Offset Factor / polygonoffsetfactor

シャドウマップをレンダリングする際に、サーフェスがビューアに対してどの程度傾斜しているかに応じて、Z値にオフセットを追加します。Z-fighting アーティファクトの回避に役立ちます。

Polygon Offset Units / polygonoffsetunits

シャドウマップのレンダリング時に、Z値に一定のオフセットを追加します。z-fightingアーティファクトの回避に役立ちます。

Shadow Resolution / shadowresolution

計算に使用するシャドウのテクスチャマップの解像度を設定します。

  • shadowresolution1
  • shadowresolution2
Custom Shadow Map / shadowmap

ライトのシャドウマップに使用されるTOPへのパスを設定します。Rendering Shadowsの章も参照して下さい。

パラメータ – View ページ
Projection / projection

ポップアップメニューで投影タイプを選択します。

  • Perspective / perspective
    パースペクティブプロジェクションを使用します。
  • Orthographic / ortho
    正射影を使用します。
  • Custom Projection Matrix / custommatrix
    CHOP、DAT、またはtdu.Matrix()で指定された投影行列を使用します。
Aspect Correct Projection / aspectcorrect

ライトをカメラ代わりにして観るときに、景色のアスペクト比を正しく保つことができます。

Ortho Width / orthowidth

Projection ポップアップメニューで Orthographic を選択した場合のみ有効です。直交投影の幅を設定します。

Use Cone Angle/Delta for FOV / useconeforfov

ライトがCone Lightタイプに設定されている場合、このオプションを有効にすると、LightページのCone Angle と Cone Delta パラメータを使用してFOVを設定します。

Viewing Angle Method / viewanglemethod

このメニューではカメラの画角をどのような方法で定義するかを設定します。

  • Horizontal FOV / horzfov
    カメラの水平方向の画角を設定するために FOV Angle パラメータを使用します。
  • Vertical FOV / vertfov
    カメラの垂直方向の画角を設定するために FOV Angle パラメータを使用します。
  • Focal Length and Aperture / focalaperture
    カメラの画角をFocal Length(焦点距離)とAperture(絞り)パラメータを使って設定します。
FOV Angle / fov

FOV(Field of View)Angle はカメラで撮影されたシーンの角度の広がりを設定します。

Focal Length / focal

レンズの焦点距離を設定し、ズームインとズームアウトを行います。焦点距離に応じて、遠近感がフラットになったり、誇張されたりします。絞り値、焦点距離、視野角の関係については、FOVアングルパラメータを参照してください。このパラメータを使用すると、興味深いディストーション効果を得ることができます。

Aperture / aperture

この値は、カメラが光を通過させることができる領域に関するものです。

Near / near

近距離のクリッピングプレーンを設定します。この距離よりもレンズに近いジオメトリは表示されません。

Far / far

遠距離クリッピングプレーンを設定します。この距離よりもレンズから遠くにあるジオメトリは表示されません。

Proj Matrix/CHOP/DAT / projmatrixop

Custom Projection Matrixを選択した場合、このパラメータには、CHOPまたはカスタム4×4プロジェクションマトリクスを持つDATのいずれかを入力する必要があります。CHOP を使用する場合、CHOP の最初の 16 チャンネルの最初のサンプルが 4×4 マトリックスの作成に使用されます。チャンネルは、行ごとまたは列ごとに読み込まれると考えられます。DATを使用する場合は、4×4のテーブルを使用します。使用される行列の規則はカラムメジャーであり、ベクトル/ポイントは行列の右側で乗算されます。

Custom Projection GLSL DAT / customproj

カスタムプロジェクション関数を指定するGLSLシェーダを含むDATを受け取ります。このシェーダには2つの関数を指定する必要があります。レンダリングがすべてのケースで機能するためには、両方の関数が提供され、正しい結果を返す必要があります。ここでは、カスタム関数が指定されていない場合に使用される関数の定義を示します。

vec4 TDSOPToProj(vec4 p)
{
vec4 projP = uTDMat.worldCamProj * p;
return projP;
}
vec4 TDCamToProj(vec4 p)
{
vec4 projP = uTDMat.proj * p;
return projP;
}

vec3 TDCamToProj(vec3 p)のように、これらの関数の他の便利なバリエーションは、自動的に上記の2つの関数のうちの正しいものを呼び出します。このシェーダーコードでユニフォーム/サンプラーを使用するには、ここで宣言し、Render TOPのGLSLページで提供する必要があります。

Background Color / bgcolor

ライトをカメラとして使用する際のビューの背景色を設定します。

  • Red / bgcolorr
  • Green / bgcolorg
  • Blue / bgcolorb
  • Alpha / bgcolora
Pre-Multiply RGB by Alpha / premultrgbbyalpha

このオプションでは、Background Colorにあらかじめアルファ値を乗せることができます。

パラメータ – Render ページ

COMP共通- Render ページの章を参照して下さい。

パラメータ – Extensions ページ

COMP共通- Extensions ページの章を参照して下さい。

パラメータ – Common ページ

COMP共通- Common ページの章を参照して下さい。

Geometry COMP

概要

Geometry コンポーネントは、TouchDesignerでRender TOPを使ってレンダリングする3Dサーフェスです。ライト、カメラ、その他のコンポーネントはシーンに影響を与えますが、可視サーフェスではありません。
各Geometry コンポーネントにはSOPを含むネットワークがあり、SOPはその3D形状を定義するオペレータです。3Dサーフェスには、ポリゴン、パーティクル、スプライト、メッシュ、NURBS(トリムカーブ付き)、ベジェパッチ、メタボールなどがあります。また、ソリッドシェーディングされたサーフェスとして、またはワイヤーフレームとしてレンダリングすることができます。
Geometry COMPのネットワークでは、RenderフラグがOnになっているSOP(Surface Operators)は、Render TOPによってレンダリングされます。(DisplayフラグがオンになっているSOPは、カメラコンポーネントのビューアで見ることができます)。
Geometryコンポーネントのレンダリングには、複数のSOPをオンにすることができます。
テクスチャSOPなどの一部のSOPは、テクスチャ画像がどのようにラップしてサーフェスにフィットするかを設定します。
すべてのGeometryコンポーネントには、サーフェスに適用するマテリアルオペレータが必要です。これはGeometryコンポーネントのMaterialパラメータで割り当てるか、Material SOPで割り当てます。
Geometryコンポーネントのネットワークにアクセスするには、ローラーホイールを使ってズームインするか、Geometryコンポーネントを選択した後にEnterまたは i を押します。
Render FlagおよびDisplay Flagの章を参照して下さい。

パラメータ – Xform ページ

COMP共通- Xform ページの章を参照して下さい。

パラメータ – Pre-Xform ページ

COMP共通- Pre-Xform ページの章を参照して下さい。

パラメータ – Instance ページ

COMP共通- Instance ページの章を参照して下さい。

パラメータ – Instance 2 ページ

COMP共通- Instance 2 ページの章を参照して下さい。

パラメータ – Instance 3 ページ

COMP共通- Instance 3 ページの章を参照して下さい。

パラメータ – Render ページ

COMP共通- Render ページの章を参照して下さい。

パラメータ – Extensions ページ

COMP共通- Extensions ページの章を参照して下さい。

パラメータ – Common ページ

COMP共通- Common ページの章を参照して下さい。

Container COMP

概要

Containerコンポーネントは、ボタン、スライダー、フィールド、コンテナ、その他のパネルコンポーネントをグループ化し、インターフェースを構築します。Containerコンポーネントは、コントロールパネルの作成を開始するために使用され、その中にすべてのスライダー、ボタン、ビューアパネルを配置します。また、複数のスライダーやボタンを1つのパネルにまとめ、移動や拡大縮小ができるようにするためにも使用できます。例えば、コントロールパネルのカラーピッカーにRGBのスライダーを3つ配置するような場合です。

パラメータ – Layout ページ

COMP共通- Layout ページの章を参照して下さい。

パラメータ – Panel ページ

COMP共通- Panel ページの章を参照して下さい。

パラメータ – Look ページ

COMP共通- Look ページの章を参照して下さい。

パラメータ – Children ページ

COMP共通- Children ページの章を参照して下さい。

パラメータ – Drag/Drop ページ

COMP共通- Drag/Drop ページの章を参照して下さい。

パラメータ – Extensions ページ

COMP共通- Extensions ページの章を参照して下さい。

パラメータ – Common ページ

COMP共通- Common ページの章を参照して下さい。

Camera COMP

概要

Cameraコンポーネントは、実在するカメラのように動作する3Dオブジェクトです。Cameraコンポーネントを通してシーンを見て、カメラの視点でレンダリングします。Cameraコンポーネントは、3D階層内の他の3Dコンポーネントに接続またはリンクすることができます。

パラメータ – Xform ページ

COMP共通- Xformページの章を参照して下さい。

パラメータ – Pre-Xform ページ

COMP共通- Pre-Xformページの章を参照して下さい。

パラメータ – View ページ
Projection / projection

ポップアップメニューでパースペクティブとオルソグラフィックの投影タイプを設定します。3つ目のオプション Perpective to Ortho Blend は Projection Blend パラメータを有効にして、パースペクティブ間のブレンドに使用できます。4つ目のオプション Custom Projection Matrix は tdu.Matrix、CHOP、またはDATを使用して、カスタム4×4プロジェクションマトリックスを指定できます。

  • Perspective / perspective
  • Orthographic / ortho
  • Perspective to Ortho Blend / persporthoblend
  • Custom Projection Matrix / custommatrix
Projection Blend / projectionblend

ProjectionパラメータがPerspective to Ortho Blendに設定されている場合、透視投影と正射影をブレンドします。

Ortho Width / orthowidth

Projection ポップアップメニューで Orthographic を選択した場合のみ有効です。直交投影の幅を指定します。

Viewing Angle Method / viewanglemethod

カメラの画角をどのような方法で定義するかを設定します。

  • Horizontal FOV / horzfov
    カメラの水平方向の画角を設定するために FOV Angle パラメータを使用します。
  • Vertical FOV / vertfov
    カメラの垂直方向の画角を設定するために FOV Angle パラメータを使用します。
  • Focal Length and Aperture / focalaperture
    カメラの画角をFocal Length(焦点距離)とAperture(絞り)パラメータを使って設定します。
FOV Angle / fov

FOV(Field of View)Angle はカメラで撮影されたシーンの角度の広がりを設定します。

Useful Equations

視野角と投射角。FOVは次のようになります。
FOV = arctan( (screenWidth / 2) / (distanceToScreen) )* 2FOV = arctan( 0.5 * (screenWidth / distanceToScreen) )* 2
Throwは
Throw = distanceToScreen / screenWidth1/Throw = screenWidth / distanceToScreen
Throwでいうと
FOV = arctan(0.5 * (1/Throw))* 2FOV = arctan(0.5 / Throw) * 2

FOV calculations in x and y

上記の式は、Comera COMPのパラメータfocalとappertureを使って、FOV_xとFOV_y(つまり水平方向と垂直方向)を決定するのに使用できます。TouchDesignerのCamera COMPでは、screenWidth = apertureパラメータ、distanceToScreen = focalパラメータ(infinity focusを想定)となり、以下のようになります。
FOV_x = arctan((aperture / 2) / focal) * 2
さらに、前述のように、アパーチャパラメータ = aperture_x と、レンダリングビューのxおよびy方向の解像度(つまりアスペクト比)が与えられている場合は
aperture_y = resy/resx * aperture_x
これより
FOV_y = arctan( (aperture_y / 2) / focal )* 2

Focal Length / focal

レンズの焦点距離を設定し、ズームインとズームアウトを行います。焦点距離に応じて、遠近感がフラットになったり、誇張されたりします。絞り値、焦点距離、視野角の関係については、FOVアングルパラメータを参照してください。このパラメータを使用すると、興味深いディストーション効果を得ることができます。

Aperture / aperture

この値は、カメラが光を通過させることができる領域に関するものです。

Near / near

近距離のクリッピングプレーンを設定します。この距離よりもレンズに近いジオメトリは表示されません。
注:シーン内のジオメトリでZデプスのアーティファクトが発生する場合は、カメラのZデプスバッファの解像度を上げてください。そのためには、近い側のクリッピングプレーンから順に、近い側と遠い側のクリッピングプレーンの差を小さくしていきます。

Far / far

遠距離クリッピングプレーンを設定します。この距離よりもレンズから遠くにあるジオメトリは表示されません。
注:シーン内のジオメトリでZデプスのアーティファクトが発生する場合は、カメラのZデプスバッファの解像度を上げてください。そのためには、近い側のクリッピングプレーンから順に、近い側と遠い側のクリッピングプレーンの差を小さくしていきます。

Window Roll Pivot / winrollpivot
  • Viewport Origin / viewport
  • Camera Origin / camera
  • Legacy Behavior / legacy
Window X/Y / win

これらのパラメータは、レンダリング処理中のウィンドウの中心を定義します。windowパラメータは、ビューを取得し、カメラの視野に合わせて拡大します。ここで重要なのは、この動作がパースペクティブに依存しないということです。つまり、実際にカメラを動かさなくても、カメラをパンしているかのように動作するのです。このパラメータの単位は正規化されています。つまり、Window Xが-0.5の場合、画像の前の中心がレンダリングの左端に移動することになります。

Window Size / winsize

Window Sizeパラメータは、ビューを拡大するための寸法を指定します。Window X / Yと同様に、このパラメータは、ビューポートにレンダリングする前に画面をスケーリングすることで、ズーム効果を生み出します。

Window Roll / winroll

このパラメータは、ウィンドウ領域がロールする量を度数で設定します。この値は、静的な値として設定することも、アニメーションの過程で変化する側面として設定することもできます。ロールは、ウィンドウの中央付近で発生します。

IPD Shift / ipdshift

これは Interpupillary Distance(瞳孔間距離)のことで、X軸に平行移動を行います。キューブマップのレンダリングなどを行う場合、他のキューブ面への回転後にシフトを行う必要があるため、このパラメータは他のトランスレーションとは別のものです。X translateパラメータで直接シフトを適用すると、多くのキューブ面でカメラが正しくない位置に配置されてしまいます。
2台のカメラでIPDを使用するには、右目のカメラを+IPD/2に、左目のカメラを-IPD/2に設定する必要があります。

Proj Matrix/CHOP/DAT / projmatrixop

Custom Projection Matrixを選択した場合、このパラメータには、4×4のカスタムプロジェクションマトリクスを入力する必要があります。パラメータにマトリクスを指定する方法については、Matrix Prameters の章を参照してください。

Custom Projection GLSL DAT / customproj

カスタム投影関数を指定するGLSLシェーダを含むDATを受け取ります。このシェーダでは、1つの関数を提供する必要があります。ここでは、カスタム関数が指定されていない場合に使用される関数の定義を示します。これは、Render TOPが2D出力をレンダリングする場合にのみ使用され、キューブマップや魚眼レンダリングではありません。

vec4 UserWorldToProj(vec4 worldSpaceVertPosition, int cameraIndex)
{
vec4 projP = uTDMats[cameraIndex].camProj * worldSpaceVertPosition;
return projP;
}

vec3 TDWorldToProj()は、適切な箇所で自動的にこれを呼び出します。ユニフォームやサンプラーは、ここで宣言し、Render TOPのGLSLページで提供することで、このシェーダーコードで使用することができます。

Quad Reproject SOP / quadreprojsop

Quad Reprojection(クアッド・リプロジェクション)は、シーン内の任意のクアッド(四角形)をリプロジェクションして、そのクアッドが終わるレンダリングの部分を、レンダリングの出力を満たすように拡大する機能です。この機能の詳細については、Quad Reprojectionの章を参照してください。

Quad Reproject Points / quadreprojpts

Quad Reproject SOP で参照される SOP の中で、再投影される領域を決定する四角形を構成する 4 つの点のインデックスを設定します。指標は、カメラから見て左下、右下、左上、右上の順で指定します。参照するSOPは、レンダリングされるCOMP内にあることで、適用されるワールドトランスフォームが考慮されるようにします。

パラメータ – Settings ページ
Background Color / bgcolor

カメラのビューの背景色とアルファを設定します。

  • Red / bgcolorr
  • Green / bgcolorg
  • Blue / bgcolorb
  • Alpha / bgcolora
Fog / fog

ビューポートにレンダリングされるフォグのタイプを決定します。リニアフォグは、次の式を使用します。

Exponentialフォグは、次のような式で表されます。

Squared Exponentialフォグは、次のような式で表されます。

Fog Density / fogdensity

フォグの密度または厚さを指定する値で、両方のexponentialフォグタイプで使用されます。整数値の密度のみが受け入れられます。

Fog Near / fognear

フォグの開始距離を設定します。ジオメトリがこの距離よりもカメラに近い場合、フォグはジオメトリの色で計算されません。フォグの線形方程式が使用されます。

Fog Far / fogfar

線形フォグの方程式で使用する奥方向の終了距離を設定します。

Fog Color / fogcolor

フォグのカラーを設定します。

  • Red / fogcolorr
  • Green / fogcolorg
  • Blue / fogcolorb
Fog Alpha / fogalpha

シーンの背景の不透明度をコントロールするために使用します。

Fog Map / fogmap

フォグのカラーマップとして、TOPテクスチャーを使用します。

Camera Light Mask / camlightmask

特定のライトのみをこのカメラで使用することを許可します。Render TOPのLightsパラメータと併用して、ジオメトリの照明に使用するライトを決定します。このパラメータが空白の場合、Render TOPで指定されたすべてのライトが使用されます。このパラメータで指定されたライトは、このカメラでのジオメトリの照明を、指定されたライトに制限します。(ライトがRender TOPにもリストされている場合)

パラメータ – Render ページ

COMP共通- Renderページの章を参照して下さい。

パラメータ – Extensions ページ

COMP共通- Extensionページの章を参照して下さい。

パラメータ – Common ページ

COMP共通- Commonページの章を参照して下さい。

Ambient Light COMP

概要

Ambient Lightコンポーネントは、特定のシーンにおける環境光の色と強度を制御します。この光は、ライトコンポーネントとは異なり、特定の光源を持ちません。点光源や集光されたスポットライトではなく、あらゆる場所からの光が得られます。

パラメータ – Light ページ
Light Color / c**

ライトの色は3つの方法で変更できます。カラーリスト、色相、彩度、明度、またはRGBです。いずれかを選択するには、該当するボックスをクリックすると、それに応じて下のカラー編集フィールドが変化します。

  • Red / cr
  • Green / cg
  • Blue / cb
Dimmer / dimmer

このパラメータは光の強さを静的な値、または時間の経過とともに変化させることができます。

パラメータ – Render ページ

COMP共通- Render ページ の章を参照して下さい。

パラメータ – Extensions ページ

COMP共通- Extensions ページ の章を参照して下さい。

パラメータ – Common ページ

COMP共通- Common ページ の章を参照して下さい。

Wireframe MAT

概要

Wireframe MATは、ポリゴンやカーブのエッジをラインとしてレンダリングします。

パラメータ – Wireframe ページ
Color / color

マテリアルから反射する色を設定します。

  • Red / colorr
  • Green / colorg
  • Blue / colorb
Alpha / alpha

マテリアルの不透明度を設定します。このパラメータには、オブジェクトのポイントアルファが乗算されます。

Wireframe Mode / wireframemode

どのワイヤーフレームがレンダリングされるかを設定します。

  • OpenGL Tessellated Wire Frame / tesselatedwireframe
    このワイヤーフレームは、GPU上で実際にレンダリングされたジオメトリが最終的にどのようになるかを示しています。これは通常、元のプリミティブタイプに関係なく、あらゆるサーフェイスのワイヤードトライアングルです。
  • Topology Wire Frame / topologywireframe
    このワイヤーフレームは、オリジナルのSOPプリミティブタイプを踏襲しています。
Line Width / linewidth

ワイヤーフレームで表示される線の幅を設定します。

パラメータ – Deform ページ

参照:共通 Deform ページ

パラメータ – Common ページ

参照:共通 Common ページ

Point Sprite MAT

概要

Point Sprite MAT は Point Sprite(Particle SOP、DAT to SOP、Convert SOP で作成可能)のアトリビュートを制御します。色やカラーマップを適用したり、作成したポイントスプライトのサイズを正方形から長方形に変更したり、ポイントスプライトのサイズを拡大縮小することができます。
ポイントスプライトの最終的なサイズは、カメラからの距離に関係なく(減衰を使用している場合を除く)、幅や高さのピクセル数を制御します。

パラメータ – Point Sprite ページ
Color / color

マテリアルから反射する光の色を設定します。

  • Red / colorr
  • Green / colorg
  • Blue / colorb
Alpha / alpha

マテリアルの不透明度を設定します。このパラメータには、オブジェクトのポイントアルファが掛けられます。

Post-Mult Color by Alpha / postmultalpha

カラーにアルファを乗算することを有効/無効にします。

Color Map / colormap

スプライトに適用するカラーマップを設定します。カラーマップには、スプライトの色が乗算されます。カラーマップのパラメータには、3D / 2D テクスチャアレイ(Texture 3D TOPなどから)を指定することができ、w texture coordinateでアレイからマップを設定します。
ポイントスプライトの最終的なサイズは、次の6つのパラメータの結果と乗算されるpscaleポイントアトリビュート(存在する場合)によって制御されます。このMATが適用できるスケールには2種類あり、それらはAttenuate Point Scaleパラメータを使ってブレンドされ、最終的に1つのポイントスケール(pscaleが乗算される)が作成されます。
共通 Texture Sampling パラメータの章を参照してください。

Offset Left / offsetleft

スプライトの左端をクロップします。

Offset Right / offsetright

スプライトの右端をクロップします。

Offset Bottom / offsetbottom

スプライトの下端をクロップします。

Offset Top / offsettop

スプライトの上端をクロップします。

Constant Point Scale / pointscale

すべてのポイントに均等に適用される一定のスケール値です。Attenuate Point Scaleが0の場合、ポイントのスプライトサイズはpscale * この値になります。

Attenuate Point Scale / attenpscale

この値は、Constant Point ScaleとAttenuated Point Scaleの間でブレンドされます。0は100%Constant Point Scale、1は100%Attenuated Point Scaleを意味します。
カメラから近い距離にあるポイントはNear Point Scaleを使用し、Near DistanceとFar Distanceの間にあるポイントはNear Point ScaleとFar Point Scaleをブレンドしたスケールを使用します。Far Point Distanceよりも遠いポイントは、Far Point Scaleを使用します。

Attenuate Near Distance / attennear

カメラからこの距離よりも近い、またはこの距離にあるポイントは、Near Point Scale パラメータを使用します。

Attenuate Far Distance / attenfar

カメラからこの距離よりも遠い、またはこの距離にあるポイントは、Far Point Scale パラメータを使用します。

Near Point Scale / attensizenear

このポイントスケールはnear distanceに適用されます。

Far Point Scale / attensizefar

このポイントスケールはfar distanceに適用されます。

パラメータ – Deform ページ

参照:共通 Deform ページ

パラメータ – Common ページ

参照:共通 Common ページ

Phong MAT

概要

Phong MATは、Phong Shadingモデルを使用してマテリアルを作成します。テクスチャ、反射、バンプ、コーン・ライト、リム・ライト、アルファ・マップなどをサポートしています。そのGLSLシェーディングを2つのDATに出力し、Output Shaderパラメータを使って、GLSL MATでさらに適応させることができます。
Phong Shadingは、3種類の反射光をモデル化します。

– Ambient
Ambient(環境光)とは、特定の方向からの光ではなく、表面全体で一定の光であると考えられます。物理的な世界では、環境中の表面で光が反射することで環境光が発生します。

– Diffuse
Diffuse(ディフューズ)は、マットな表面で反射する光をモデル化したものです。この光はすべての方向に均等に反射されるため、観察者の位置が知覚される照度に影響を与えません。

– Specular –
Specular(スペキュラ)は、光沢のある表面で反射する光をモデル化したものです。この光は主に反射光線の方向に反射され、物体のshiny-nessによって減衰されます。表面からの反射光は主に反射光線の方向にあるので、観察者の位置によって、表面のスペキュラハイライトが決まります。

注:私たちが物の色を見ているのは、素材が反射する光の色によるものです。

Phongシェーディングは、物理的に正確ではないものの、非常に美しいスペキュラハイライトを生成します。各頂点でライティングを計算し、ポリゴン全体でその値を補間するグローシェーディングモデルとは対照的に、Phongは各ピクセルでライティングを計算します。
それぞれのパーツがどのようにして組み合わされるのかは、Phong Lighting Equationの章を参照してください。

パラメータ – RGB ページ
Ambient uses Diffuse / ambdiff

チェックすると、DiffuseパラメータをAmbientに使用します。

Diffuse / diff

素材から反射する拡散光の色を設定します。

  • Red / diffr
  • Green / diffg
  • Blue / diffb
Ambient / amb

素材から反射する環境光の色を設定します。

  • Red / ambr
  • Green / ambg
  • Blue / ambb
Specular / spec

素材から反射される鏡面反射光の色を設定します。光沢のある物体のハイライトの色を変えることができる。

  • Red / specr
  • Green / specg
  • Blue / specb
Emit / emit

光がない状態でも素材が発光する色を設定します。

  • Red / emitr
  • Green / emitg
  • Blue / emitb
Constant / constant

最終色に追加します。ポイントカラーがある場合、finalcolor += Point Color * Constant Colorとなります。これは、1 1 1 の環境照明があるように動作します。テクスチャや透明度の影響は受けません。

  • Red / constantr
  • Green / constantg
  • Blue / constantb
Shininess / shininess

オブジェクトのスペキュラハイライト(光沢感)をコントロールします。設定を高くすると、プラスチックや光沢のある金属のように、より光沢のある仕上がりになります。低い設定では、よりマットな仕上がりになります。

Color Map / colormap

すべてのライティング計算の結果を乗算するTOPテクスチャーを設定します。このマップのアルファは、オブジェクトのアルファを計算する際の一部として使用されます。マップフィールドの右側にある矢印をクリックすると、カラーマップのTexture Sampling パラメータが表示されます。以下の他のMapパラメータも同様に、それぞれのTexture Sampling パラメータを持ちます。
共通 Texture Sampling パラメータの章を参照してください。

Normal Map (Bump) / normalmap

TOPからのノーマルマップを使用して、凹凸効果を作り出します。バンプマップは、サーフェスのバンプやシワをシミュレートして、3Dの凹凸効果を与えるものです。この機能を使用するには、ジオメトリにタンジェント アトリビュートが作成されている必要があります(T[4])。これは Attribute Create SOP を使用して作成します。
共通 Texture Sampling パラメータの章を参照してください。

Bump Scale / bumpscale

Normal Mapパラメータで作成された「バンプ効果」の倍率を設定します。

Enable Height Map / heightmapenable

ハイトマップを有効にします。

Height Map / heightmap

ハイトテクスチャマップを設定します。ハイトマップはノーマル マップと併用してパララックスマッピングを行います。
共通 Texture Sampling パラメータの章を参照してください。

Parallax Scale / parallaxscale

ハイトマップに適用されるスケール値。効果を大きくしたり、誇張したりするのに使用できます。

Parallax Occlusion / parallaxocclusion

視差オクルージョンを有効にします。これは、ハイトマップで使用される視差マッピング技術の強化です。視差オクルージョンは、視差マッピングのテクスチャオフセットの品質を向上させ、ハイトマップの高い部分が低い部分を遮っているように見えるため、高さの錯覚が起こりやすくなります。

Displace Vertices / displaceverts

上記の Enable Height Map が On の場合、Displace Vertices を On に設定すると、Height Map テクスチャと以下のパラメータに基づいてジオメトリの頂点が変位する、真のディスプレイスメントマッピングが有効になります。

Displace Scale / displacescale

置換量の倍率を設定します。

Displace Midpoint / displacemid

ディスプレイスメントマップの中間点を、ディスプレイスメントエフェクトの開始位置として設定します。

Diffuse Map / diffusemap

Diffuse カラーパラメータに乗算されるTOPテクスチャを設定します。オブジェクトはテクスチャUVを持っている必要があります。このマップのアルファは無視されます。
共通 Texture Sampling パラメータの章を参照してください。

Specular Map / specmap

マテリアルのSpecularカラーパラメータに乗算されるTOPテクスチャを設定します。オブジェクトはテクスチャUVを持っている必要があります。このマップのアルファは無視されます。
共通 Texture Sampling パラメータの章を参照してください。

Emit Map / emitmap

マテリアルのEmitカラーパラメータと乗算されるTOPテクスチャを設定します。オブジェクトはテクスチャUVを持っている必要があります。このマップのアルファは無視されます。
共通 Texture Sampling パラメータの章を参照してください。

Environment Map / envmap

TOPテクスチャーを使用して、マテリアルの環境マップを定義します。環境マッピングは、オブジェクトが周囲の環境を反射するのをシミュレートします。このパラメータで設定されたTOPは、反射されるテクスチャです。環境マップは、通常の照明に追加されるので、オブジェクトを純粋に反射させるには、DiffuseとSpecularパラメータを0にしてください。球体マップの例はこちらをご覧ください。この入力は、Cube Map TOPまたはRender TOPのRender Cube Mapパラメータで作成されたキューブマップも受け付けます。
共通 Texture Sampling パラメータの章を参照してください。

Environment Map Color / envmapcolor

この色に上記のEnvironment Mapパラメータで設定したテクスチャが乗算されます。

  • Red / envmapcolorr
  • Green / envmapcolorg
  • Blue / envmapcolorb
Environment Map Rotate / envmaprotate

上記のEnvironment Mapパラメータで設定したテクスチャを回転させます。

  • X / envmaprotatex
  • Y / envmaprotatey
  • Z / envmaprotatez
Environment Map 2D Type / envmaptype2d

環境マップのタイプとして、SphereマップかEquirectangularマップかを選択します。

  • Sphere Map / spheremap
  • Equirectangular / equirect
Polygon Front Faces / frontfacelit

ポリゴンの法線を使って、ポリゴンの表面をどのようにライティングするか設定します。詳しくは、Tow-Sided Lightingの章を参照してください。

  • Use Per-Light(s) Parameter / uselight
  • Front Lit / frontlit
  • Back Lit / backlit
Polygon Back Faces / backfacelit

ポリゴンの法線を使って、ポリゴンの裏面をどのようにライティングするか設定します。詳しくは、Tow-Sided Lightingの章を参照してください。

  • Use Per-Light(s) Parameter / uselight
  • Front Lit / frontlit
  • Back Lit / backlit
Output Shader… / outputshader

このボタンをクリックすると、ダイアログが表示され、Phong MATが現在作成しているエフェクトにマッチするシェーダーコードを含むGLSL MATとText DATが作成されます。シェーダはライトの数や種類に依存するため、現在のシステムで使用されているライティング構成に基づいて、いくつかの異なるシェーダの選択肢が表示されます。ダイアログにシェーダーが表示されない場合は、TouchDesignerの現在のセッションでシェーダーがレンダリングされていないことを意味します。Phong MATのビューアをオンにするか、Render TOPでレンダリングをセットアップします。そうすると、いくつかのシェーダーが作成/コンパイルされ、リストが入力されます。例えば、シャドウマッピングを行うシェーダーを見たい場合は、シャドウマッピングを行うレンダリングをセットアップすると、リストに表示されます。

パラメータ – Alpha ページ

注意:オブジェクトにアルファを適用しただけでは、透明にはなりません。詳しくはTranceparencyの項目を参照してください。

Alpha Map / alphamap

このマップは、オブジェクトのアルファを乗算します。マップのrチャンネルを使用し、他のチャンネルは無視されます。
共通 Texture Sampling パラメータの章を参照してください。

Uniform Alpha / alphamode

これをオフにすると、各ポリゴンの法線のカメラに対する向きに応じて、アルファ値が変化します。カメラに向かっている法線は、ポリゴンのアルファ値が Alpha Front になります。カメラに対して垂直な方向(横や上下を向いている)の法線は、アルファ値が Alpha Side になります。

Alpha Front / alphafront

マテリアルの不透明度を指定します。このパラメータには、オブジェクトのポイントアルファが掛けられます(他のアルファソースも同様)。

Alpha Side / alphaside

これは、不均一なアルファに使用されます。 カメラの反対側を向いているポリゴンが取得するアルファ値です。

Alpha Rolloff / rolloff

Alpha Front から Alpha Side へのアルファの変化をコントロールします。

Post-Mult Color by Alpha / postmultalpha

すべての計算の最後に、カラー(RGB)に計算されたアルファが乗算されます。このトグルをオフにすることで、この現象を防ぐことができます。

Mult Alpha by Light Luminance / alphamultlight

これを有効にすると、ライティングの輝度にアルファ値を乗じて減少/増加させることができます。

パラメータ – Multi-Texturing ページ

PhongマテリアルのMulti-texturingページでは、最大4つのテクスチャマップを持ち、各マップに8つのテクスチャ座標を選択することができます。デフォルトでは、テクスチャマップは互いに乗算されますが、カスタムGLSLコードを使用するためのフィールドがあります。その仕組みは以下の通りです。
4つのテクスチャマップは、パラメータの中でそれぞれt0、t1、t2、t3と呼ばれています。つまり、4つのテクスチャマップがすべて使用されている場合のデフォルトの式は、「t0 * t1 * t2 * t3」となります。t0 * t1 * t2 * t3 定数やその他の演算子も使用できるので、例えばt0 + (t1 * 0.5) は有効です。存在しないマップを参照している場合、シェーダは正しくコンパイルされません(例:t3が設定されていない場合やTOPが存在しない場合にt3を使用する)。
また、.r .g .b と .a を使って、テクスチャの特定のコンポーネントを参照することもできます。たとえば、t1 の上に t0 を実行したい場合、表現は次のようになります。

t0 + (t1 * (1.0 – t0.a))

式からの出力はvec4でなければならないので、例えば次のようになります。

t0.rgb + t1.rgb // Error
vec4(t0.rgb + t1.rgb, 1.0) // Works

これらのマップの結果のアルファが使用されます。

Multi-Texturing (Disables Color Map) / multitexturing

マルチテクスチャーを有効にします。Color Mapパラメーターを無効にします。

Texture 1 / texture1

マルチテクスチャには、最大4つのテクスチャを設定できます。
共通 Texture Sampling パラメータの章を参照してください。

Texture 2 / texture2

マルチテクスチャには、最大4つのテクスチャを設定できます。
共通 Texture Sampling パラメータの章を参照してください。

Texture 3 / texture3

マルチテクスチャには、最大4つのテクスチャを設定できます。
共通 Texture Sampling パラメータの章を参照してください。

Texture 4 / texture4

マルチテクスチャには、最大4つのテクスチャを設定できます。
共通 Texture Sampling パラメータの章を参照してください。

GLSL Expression / multitexexpr

テクスチャイメージを合成するGLSLコード(詳細はこのセクションの冒頭を参照してください)。このパラメータは空白にすることもできます(つまり、マップは単に掛け合わされるだけです)。

パラメータ – Rim ページ

他のリムライトもパラメータは同じで、内部のパラメータ名が1ではなく違う数字になっているだけです。

Enable Rim Light 1 / rim1enable

このリムライトを有効にします。

Rim Color Map / rim1map

このマップでは、計算されたリムライトの色が複数になります。
共通 Texture Sampling パラメータの章を参照してください。

Rim Color / rim1color

リムライトの色を設定します。

  • Red / rim1colorr
  • Green / rim1colorg
  • Blue / rim1colorb
Rim Center / rim1center

360度の円上のどこかに位置する、リムライトの中心となる場所を設定します。

Rim Width / rim1width

リムライトがセンターからどれだけ離れているか設定します。

Rim Strength / rim1strength

リムライトの明るさを調整します。

Rim Strength Ramp / rim1strengthramp

水平方向のランプを設定して(v = 0.5でテクスチャをサンプリングします)、リムライトの強さをコントロールすることができます。

パラメータ – Advanced ページ
Shadow Strength / shadowstrength

このパラメータは、影の中にいることでライティングの色がどの程度変化するかを制御します。1の場合、オブジェクトは影の色のパラメータを受け継ぎ、0の場合は影があっても影がないかのように振る舞います。

Shadow Color / shadowcolor

影の部分に使用する色を設定します。

  • Red / shadowcolorr
  • Green / shadowcolorg
  • Blue / shadowcolorb
Darkness Emit / darknessemit

Phong MATは、ライト、リムライト、エミッションなどを考慮した上で、オブジェクトの現在の色の明るさを計算します。そして、この明るさ(0~1の間)を使用して、ダークネス・エミット・カラーをフェードインします。エリアが暗いほど、ダークネス・エミット・カラーが多く適用されます。

Darkness Emit Color / darknessemitcolor

暗くなっている部分に使用する色を設定します。

  • Red / darknessemitcolorr
  • Green / darknessemitcolorg
  • Blue / darknessemitcolorb
Darkness Emit Map / darknessemitmap

このマップは、Darkness Emit Colorを乗算します。このマップのアルファは 使用されません。
共通 Texture Sampling パラメータの章を参照してください。

Secondary Specular / spec2

ニ次的なスペキュラハイライトカラーを追加します。

  • Red / spec2r
  • Green / spec2g
  • Blue / spec2b
Secondary Shininess / shininess2

オブジェクトの二次的なスペキュラハイライト(光沢)をコントロールします。設定を高くすると、プラスチックや光沢のある金属のように、より光沢のある仕上がりになります。低い設定では、よりマットな仕上がりになります。

Write Camera Space Depth to Alpha / writecameradepthtoalpha

これにより、ピクセルのカメラス ペース デプスが、出力TOPのアルファチャンネルに書き込まれます。この値は、ポストプロセス効果に役立ちますが、もちろん、これをオンにした場合、すべてのアルファ計算の結果は得られません(ただし、Post-Mult Color by Alphaが有効になっている場合、出力色を乗算するために使用されます)。

Apply Point Color / applypointcolor

通常はSOPから送られてくるカラーアトリビュート(Cd[4])を照明計算に使用しますが、このパラメータのチェックを外すことでカラーアトリビュートの使用をオフにすることができます。

Instance Texture / instancetexture

Geometry COMPでインスタンスごとのテクスチャを設定する場合、このパラメータはインスタンスのテクスチャがどのマップとして適用されるかを設定します。

  • Color Map / colormap
  • Normal Map / normalmap
  • Diffuse Map / diffusemap
  • Specular Map / specmap
  • Emit Map / emitmap
  • Alpha Map / alphamap
  • Darkness Emit Map / darknessemitmap
  • Rim 1 Color Map / rim1map
Color Buffer 1 RGB / colorbuffer1rgb

法線やディフューズカラーなどを、1パスで異なるRender TOPのカラーバッファに送ることができます。

  • Zero / zero
  • One / one
  • World Space Position / worldspaceposition
  • World Space Normal / worldspacenormal
  • Camera Space Position / cameraspaceposition
  • Camera Space Normal / cameraspacenormal
  • Point Color / pointcolor
  • Texture Coord 0 / texturecoord0
  • Diffuse Map / diffusemap
  • Normal Map / normalmap
  • Spec Map / specmap
  • Emit Map / emitmap
  • Emit Color / emitcolor
  • Diffuse Color / diffcolor
  • Diffuse Lighting / difflighting
  • Final Diffuse Color / finaldiffcolor
  • Specular Color / speccolor
  • Specular 2 Color / spec2color
  • Specular Lighting / speclighting
  • Specular 2 Lighting / spec2lighting
  • Final Specular Color / finalspeccolor
  • Shadow Strength / shadowstrength
  • Normalized Shadow Strength / normalizedshadowstrength
パラメータ – Deform ページ

参照:共通 Deform ページ

パラメータ – Common ページ

参照:共通 Common ページ

GLSL MAT

概要

GLSL MATを使うと、TouchDesignerにカスタムマテリアルを書き込んだり、インポートしたりすることができます。GLSLシェーダーにコンパイルエラーがあると、青/赤のチェッカーボードエラーシェーダーが表示されます。
シェーダーの書き方については、Write a GLSL Material、GLSL Categoryの章を参照してください。

パラメータ – Load ページ
GLSL Version / glslversion

シェーダーをコンパイルするGLSLのバージョンを設定します。

  • 1.20 / glsl120
  • 3.30 / glsl330
  • 4.00 / glsl400
  • 4.10 / glsl410
  • 4.20 / glsl420
  • 4.30 / glsl430
  • 4.40 / glsl440
  • 4.50 / glsl450
  • 4.60 / glsl460
Preprocess Directives / predat

このDATを使って、#extensionのようなプリプロセッサ・ディレクティブをシェーダーの最初に配置します。これはシェーダーの最初の行である必要があり、TouchDesignerはシェーダーの最初にユニフォームや関数を宣言するコードを追加します。

Vertex Shader / vdat

バーテックス・シェーダー・コードを格納するDATへのパスを設定します。

Pixel Shader / pdat

ピクセルシェーダのコードを格納するDATへのパスを設定します。

Load Uniform Names / loaduniformnames

これは、コンパイルされたGLSLシェーダで宣言された(そして使用された)すべてのユニフォームを読み込み、ユニフォームパラメータのさまざまなネームフィールドを埋めます。

Clear Uniform Names / clearuniformnames

ユニフォーム・パラメーターのネーム・フィールドがすべて消去されます。

Geometry Shader / gdat

ジオメトリシェーダのコードを格納するDATへのパスを設定します。

Input Primitive Type / inprim

ジオメトリシェーダに入力されるジオメトリの種類を設定します。

  • Points / points
  • Lines / lines
  • Triangles / triangles
Output Primitive Type / outprim

ジオメトリシェーダが出力するジオメトリの種類を設定します。

  • Points / points
  • Line Strip / linestrip
  • Triangle Strip / tristrip
Num Output Vertices / numout

Geometry Shaderが出力する最大の頂点数を設定します。

Two Sided Coloring / twocolor

両面カラーリングのサポートを有効にします。この機能を有効にすると、VertexシェーダやGeometryシェーダがgl_FrontColor、gl_BackColor、gl_FrontSecondaryColor、gl_BackSecondaryColorに書き込むことができ、Pixelシェーダのgl_Colorとgl_SecondaryColorには、プリミティブの表側と裏側のどちらがカメラに向いているかに応じて、正しい色が配置されます。これを無効にすると、gl_FrontColorとgl_FrontSecondaryColorに入れられた値は、プリミティブのどちらの面がカメラに向いているかにかかわらず、gl_Colorとgl_SecondaryColorに渡されます。

Inherit Uniforms/Samplers from / inherit

このマテリアルは、このパラメータで参照されているGLSLマテリアルのすべてのテクスチャとユニフォームを継承します。

Lighting Space / lightingspace

ライティングスペースを、現在のデフォルトのワールドスペースから、TouchDesigner 088で使用されていたレガシーカメラスペースに切り替えることができます。

  • World Space / worldspace
  • Camera Space (Legacy 088 shaders) / cameraspace
パラメータ – Samplers ページ
Sampler Name 0 / sampler0

これは、GLSLプログラムがこのTOPからのサンプリングに使用するサンプラー名です。サンプラーは、TOPと同じ次元で宣言する必要があります(2D TOPの場合はsampler2D、3D TOPの場合はsampler3D)。

TOP / top0

上記のサンプラー名で参照されるTOPです。
共通 Texture Sampling パラメータの章を参照してください。

Extend U / top0extendu
  • Hold / hold
  • Zero / zero
  • Repeat / repeat
  • Mirror / mirror
Extend V / top0extendv
  • Hold / hold
  • Zero / zero
  • Repeat / repeat
  • Mirror / mirror
Extend W / top0extendw
  • Hold / hold
  • Zero / zero
  • Repeat / repeat
  • Mirror / mirror
Filter / top0filter
  • Nearest / nearest
  • Linear / linear
  • Mipmap Linear / mipmaplinear
Anisotropic Filter / top0anisotropy
  • Off / off
  • 2x / 2x
  • 4x / 4x
  • 8x / 8x
  • 16x / 16x
パラメータ – Vectors ページ
Uniform Name 0 / uniname0

ユニフォームの名前を設定します。

Value / value0

ユニフォームに割り当てる値です。ユニフォームが float の場合は、4つのエントリーのうち最初のエントリーが使用され、ユニフォームが vec2 の場合は、最初の2つのエントリーが使用されるといった具合です。

  • Value / value0x
  • Value / value0y
  • Value / value0z
  • Value / value0w
パラメータ – Arrays ページ

CHOP Uniformsでは、CHOPチャンネルデータを配列としてGLSLシェーダに送ることができます。使用する配列タイプによっては、シェーダーに送信できる値の数が制限されることがあります。ユニフォーム配列を使用している場合は、組み込み変数$SYS_GFX_GLSL_MAX_UNIFORMSを使って、シェーダーに渡せる値の数を知ることができます。現在のGPUはvec4ベースのユニフォーム配列であるため、最大の配列サイズは$SYS_GFX_GLSL_MAX_UNIFORMS / 4となります。SYS_GFX_MAX_TEXTURE_BUFFER_SIZEは、この最大値を教えてくれます。テクスチャバッファの最大値は、テクスチャバッファごとのものであり、複数のテクスチャバッファを持っていても、各配列の最大値からは外れません。

Uniform Name 0 / chopuniname0

ユニフォーム名を設定します。

Type / chopunitype0

ユニフォームの種類です。1つのユニフォームで最大4つのチャンネルをGLSLシェーダに送ることができます。1チャンネルのCHOPではユニフォームをfloatと宣言し、2チャンネルのCHOPではユニフォームをvec2などと宣言します。データはユニフォームの中でインターリーブされます。例えば、.x成分は1つ目のチャンネル、.yは2つ目のチャンネル、といった具合です。

  • float / float
  • vec2 / vec2
  • vec3 / vec3
  • vec4 / vec4
CHOP / chop0

GLSLシェーダに送信されるチャンネルのCHOPを設定します。

Array Type / choparraytype0

GPUでは、ユニフォームアレイやテクスチャバッファを使って、配列データをGLSLシェーダに送ることができます。ユニフォーム配列は、データの保存に非常に限られたメモリを使用し、他の通常のユニフォーム値と同様にアクセスできます(ただし、配列内での話です)。テクスチャバッファは、テクスチャメモリとテクスチャフェッチを使ってデータにアクセスし、より多くの値を保存できます。
いずれの場合も、インデックスは、値を取得したい配列/バッファの0ベースのインデックス(整数)です。

  • Uniform Array / uniformarray
    ユニフォーム配列は、次のように宣言して使用します。

    // Array type is vec3, and it takes up to 20 values from the CHOP
    uniform vec3 arrayName[20];
    // Grab the value at index 10
    vec3 aValue = arrayName[10];

  • Texture Buffer / texturebuffer
    テクスチャバッファは以下のように宣言され、使用されます。

    // A texture buffer will also be a vec4, but only the first 1, 2, 3 or 4 component will contain data, depending on the type you choose.
    uniform samplerBuffer arrayName;
    // sampler the value at index 10. It be default returns a vec4, so change it to a vec3 in thisexample using .xyz
    vec3 aValue = texelFetch(arrayName, 10).xyz;

Channel Scope / chanscope0

CHOPからどのチャンネルを使用してアレイを埋めるかを選択できます。スコープされた最初の4チャンネルまでが使用されます(ユニフォームアレイのタイプによって異なります)。

  • * / *
パラメータ – Matrices ページ

Relative Xformsは、ポイントやベクトルをある空間から別の空間に変換する行列です。

Uniform Name 0 / matuniname0

ユニフォーム名を設定します。ユニフォームはmat4として宣言する必要があります。

Matrix 0 / matvalue0

マトリックスに割り当てる値です。有効な指定方法については、Matrix Parameters の章を参照してください。

Uniform Name 0 / unimatrixname0

ユニフォーム名を設定します。ユニフォームはmat4として宣言する必要があります。

Xform from / fromcomp0

Transform from this COMPs world transform.
設定したCOMPsのワールドトランスフォームから変換します。

To / tocomp0

設定したCOMPsのワールドトランスフォームへ変換します。

パラメータ – Deform ページ

参照:共通 Deform ページ

パラメータ – Common ページ

参照:共通 Common ページ

Depth MAT

概要

Depth MATは、Zで見えないバリアを作ることで、オブジェクトが描画されないようにすることができます。

パラメータ – Deform ページ

参照:共通 Deform ページ

パラメータ – Common ページ

参照:共通 Common ページ