(クラス)
public abstract Primitive
Primitive オブジェクトは低レベルのレンダリングで使用されます。これは render-primitive マクロによって与えられます。Primitive は、色の値や頂点の位置など、描画する物の形状データを指定するインターフェイスです。
説明
このクラスのさまざまなメソッドは、一般的に次のように説明されます。
概念上は、プロパティ メソッドを呼び出す時に、特定の状態値 (レンダリングの色など) が設定されます。頂点を指定する時、その頂点はレンダリングするプリミティブの一部になり、呼び出しが行われる時にそれが状態に与えられます。
プロパティ メソッドはいくつあっても (ゼロ個を含む)、各アクション呼び出しの前に呼び出されます。しかし、有効になるのは与えられたカテゴリ内で一番最後に行われた呼び出しだけです。たとえば、
normal3、
color4 を呼び出し、再度
normal3 を呼び出し、最後に
vertex3 を呼び出した場合、最後の
normal3 への呼び出しだけが有効になります。プロパティ メソッドは特定の状態の設定であり、アクション メソッドはその時点の状態における動作と考えることができます。
残っている有効なプロパティはそれ以降のアクション呼び出しに使用されます。
color3、
vertex3、
vertex3 の順序を使って説明します。頂点は両方とも
color3 で設定された色を取得します。
Primitive のメソッドはすべて、多くのフォームを持っています。ほとんどは、色のように、異なる次元で呼び出されます。色は 3 つの引数 (
color3) または 4 つの引数 (
color4) で呼び出されます。4 番目の引数は、色のアルファ値、または色の不透明度値です。
color3 メソッドを呼び出す場合、4 番目の引数の値は 1 と見なされます。
また、ほとんどのメソッドは異なる種類の引数で呼び出されます。再度、
color を使って説明します。
color3 変形は
Fraction を取ります。これは 64 ビット浮動小数点値です。
color3f は
FloatFraction を取ります。これは 32 ビット浮動小数点値で、処理が多少速くなります。
Primitive 呼び出しのメソッド カテゴリには次のものがあります。
- color, diffuse :これらの呼び出しは、現在の素材の拡散色を指定します。照明が無効の場合、これは頂点の色を指定します (色と拡散は同じです)。
- specular :素材の鏡面 (輝度) 色を指定します。照明が無効の場合、これは無効になります。
- texture-coord :現在のテクスチャ座標を指定します。現在のテクスチャ (Renderer3d.texture を参照) が純色に設定されている場合、これは無効になります。
- normal :指定されている形状への法線 (つまり垂直) ベクトルを指定します。このパラメータは照明にのみ有効です。
- vertex :空間の頂点の座標を指定します。これは唯一のアクション メソッドです。詳細については上記を参照してください。
Primitive 呼び出しの変形は、一般的にこれらのカテゴリに分類されます。
引数の数: メソッド カテゴリはすべて、いくつかの引数を使用して呼び出されます。引数の数は、メソッド名の一部で、その名前の直後にあります。color3f を使って説明します。このメソッドは 3 つのパラメータを持ちます。color メソッド、specular メソッドおよび diffuse メソッドは特殊で、1 つしかパラメータを持ちません。color3v などのベクトルのフォームも特殊です。これらの変形は末尾に v がつき、常に 1 つのパラメータを持ちます。
変形が他より少ない引数で使用される時は、欠落している引数については暗黙的に想定されます。
- color, specular, diffuse :3 つの引数しか持たない変形が呼び出される時は、4 番目 (アルファ値) は暗黙的に最大値になります。概念上は、引数が 3 つの変形を使用して指定された色は、常に完全な不透明になります。たとえば、{primitive.color3 red, green, blue} は {primitive.color4 red, green, blue, 1} と等しくなります。
- vertex :引数が 2 つの変形の場合、3 番目 (z 座標) は暗黙的に 0 になります。
- texture-coord :引数が 1 つの変形の場合、2 番目のテクスチャ座標は暗黙的に 0 になります。
引数の型:メソッドはすべて、既定では浮動小数点値を必要とします。色メソッド (color、specular および diffuse) の場合、これらの数は、[0, 1] の範囲の数を使用して、赤、緑、青、およびアルファ (または不透明度) の色の要素を指定します。同様に、テクスチャ座標の標準範囲も [0, 1] です (ただし、この範囲外の値を使用することもよくあります)。
浮動小数点値を取らない変形を持つのは色メソッドだけです。バイト変形。この変形は、メソッド名内の引数の数の直後にある b で識別されます。引数は、8 ビットの符号なし整数で、その範囲は [0, 255] です。それ以外は、浮動小数点の変形と同じです。
float 変形は、メソッド名内の引数の数の直後にある f で識別されます。たとえば、color3 は double 値を必要とするのに対し、color3f は float 値を必要とします。
float 値を渡すと、通常オーバーヘッドを若干少なくします。最適化されたアプリケーションは通常、その色と頂点を float に格納し、Primitive メソッドの float バージョンを呼び出します。
- ベクトル変形:メソッドは、1 つの値の代わりにベクトルを取ることもできます。これらの変形はメソッド名の最後に付いている v で識別されます。たとえば、vertex3fv は FloatDistance3d を取ります。これは、3 つの FloatDistance (Distance と等しい 32 ビット、つまり float) のベクトルです。
- 色変形:前述したように、名前の後に何も付かない色メソッド (color、diffuse および specular) は他とは異なります。各メソッドは Color パラメータを取ります。{primitive.color my-color} は
{primitive.color4f my-color.red, my-color.green,
my-color.blue, my-color.opacity}
と同じです。
例
public constant Primitive.line-loop:
PrimitiveType =PrimitiveType.line-loop
public constant Primitive.line-strip:
PrimitiveType =PrimitiveType.line-strip
lines: | 頂点のペアがライン セグメントを表します。 |
public constant Primitive.lines:
PrimitiveType =PrimitiveType.lines
public constant Primitive.points:
PrimitiveType =PrimitiveType.points
public constant Primitive.polygon:
PrimitiveType =PrimitiveType.polygon
public constant Primitive.quad-strip:
PrimitiveType =PrimitiveType.quad-strip
quads: | 4 つの頂点の各セットが四角形を描画します。 |
public constant Primitive.quads:
PrimitiveType =PrimitiveType.quads
public constant Primitive.triangle-fan:
PrimitiveType =PrimitiveType.triangle-fan
public constant Primitive.triangle-strip:
PrimitiveType =PrimitiveType.triangle-strip
public constant Primitive.triangles:
PrimitiveType =PrimitiveType.triangles
color: | 現在の素材の拡散色を設定します。照明が無効の場合、これは現在の頂点の色を設定しますこのメソッドは diffuse と同じです。詳細については、Primitive を参照してください。 |
public final | {Primitive.color color:Color}:void |
color3: | 現在の素材の拡散色を設定します。照明が無効の場合、これは現在の頂点の色を設定しますこのメソッドは diffuse3 と同じです。詳細については、Primitive を参照してください。 |
public final inline | {Primitive.color3}:void |
color3b: | 現在の素材の拡散色を設定します。照明が無効の場合、これは現在の頂点の色を設定しますこのメソッドは diffuse3b と同じです。詳細については、Primitive を参照してください。 |
public final inline | {Primitive.color3b}:void |
color3f: | 現在の素材の拡散色を設定します。照明が無効の場合、これは現在の頂点の色を設定しますこのメソッドは diffuse3f と同じです。詳細については、Primitive を参照してください。 |
public final inline | {Primitive.color3f}:void |
color3fv: | 現在の素材の拡散色を設定します。照明が無効の場合、これは現在の頂点の色を設定しますこのメソッドは diffuse3fv と同じです。詳細については、Primitive を参照してください。 |
color3v: | 現在の素材の拡散色を設定します。照明が無効の場合、これは現在の頂点の色を設定しますこのメソッドは diffuse3v と同じです。詳細については、Primitive を参照してください。 |
color4: | 現在の素材の拡散色を設定します。照明が無効の場合、これは現在の頂点の色を設定しますこのメソッドは diffuse4 と同じです。詳細については、Primitive を参照してください。 |
public abstract | {Primitive.color4}:void |
color4b: | 現在の素材の拡散色を設定します。照明が無効の場合、これは現在の頂点の色を設定しますこのメソッドは diffuse4b と同じです。詳細については、Primitive を参照してください。 |
public abstract | {Primitive.color4b}:void |
color4f: | 現在の素材の拡散色を設定します。照明が無効の場合、これは現在の頂点の色を設定しますこのメソッドは diffuse4f と同じです。詳細については、Primitive を参照してください。 |
public abstract | {Primitive.color4f}:void |
color4fv: | 現在の素材の拡散色を設定します。照明が無効の場合、これは現在の頂点の色を設定しますこのメソッドは diffuse4fv と同じです。詳細については、Primitive を参照してください。 |
color4v: | 現在の素材の拡散色を設定します。照明が無効の場合、これは現在の頂点の色を設定しますこのメソッドは diffuse4v と同じです。詳細については、Primitive を参照してください。 |
diffuse: | 現在の素材の拡散色を設定します。照明が無効の場合、これは現在の頂点の色を設定しますこのメソッドは color と同じです。詳細については、Primitive を参照してください。 |
public final | {Primitive.diffuse color:Color}:void |
diffuse3: | 現在の素材の拡散色を設定します。照明が無効の場合、これは現在の頂点の色を設定しますこのメソッドは color3 と同じです。詳細については、Primitive を参照してください。 |
public final inline | {Primitive.diffuse3}:void |
diffuse3b: | 現在の素材の拡散色を設定します。照明が無効の場合、これは現在の頂点の色を設定しますこのメソッドは color3b と同じです。詳細については、Primitive を参照してください。 |
public final inline | {Primitive.diffuse3b}:void |
diffuse3f: | 現在の素材の拡散色を設定します。照明が無効の場合、これは現在の頂点の色を設定しますこのメソッドは color3f と同じです。詳細については、Primitive を参照してください。 |
public final inline | {Primitive.diffuse3f}:void |
diffuse3fv: | 現在の素材の拡散色を設定します。照明が無効の場合、これは現在の頂点の色を設定しますこのメソッドは color3fv と同じです。詳細については、Primitive を参照してください。 |
diffuse3v: | 現在の素材の拡散色を設定します。照明が無効の場合、これは現在の頂点の色を設定しますこのメソッドは color3v と同じです。詳細については、Primitive を参照してください。 |
diffuse4: | 現在の素材の拡散色を設定します。照明が無効の場合、これは現在の頂点の色を設定しますこのメソッドは color4 と同じです。詳細については、Primitive を参照してください。 |
public abstract | {Primitive.diffuse4}:void |
diffuse4b: | 現在の素材の拡散色を設定します。照明が無効の場合、これは現在の頂点の色を設定しますこのメソッドは color4b と同じです。詳細については、Primitive を参照してください。 |
public abstract | {Primitive.diffuse4b}:void |
diffuse4f: | 現在の素材の拡散色を設定します。照明が無効の場合、これは現在の頂点の色を設定しますこのメソッドは color4f と同じです。詳細については、Primitive を参照してください。 |
public abstract | {Primitive.diffuse4f}:void |
diffuse4fv: | 現在の素材の拡散色を設定します。照明が無効の場合、これは現在の頂点の色を設定しますこのメソッドは color4fv と同じです。詳細については、Primitive を参照してください。 |
diffuse4v: | 現在の素材の拡散色を設定します。照明が無効の場合、これは現在の頂点の色を設定しますこのメソッドは color4v と同じです。詳細については、Primitive を参照してください。 |
public abstract | {Primitive.normal3}:void |
public abstract | {Primitive.normal3f}:void |
public final | {Primitive.specular color:Color}:void |
public final inline | {Primitive.specular3}:void |
public final inline | {Primitive.specular3b}:void |
public final inline | {Primitive.specular3f}:void |
public abstract | {Primitive.specular4}:void |
public abstract | {Primitive.specular4b}:void |
public abstract | {Primitive.specular4f}:void |
public final inline | {Primitive.texture-coord1 s:Fraction}:void |
public abstract | {Primitive.texture-coord2f}:void |
public final inline | {Primitive.texture-coord2fv}:void |
public final inline | {Primitive.texture-coord2v}:void |
public final inline | {Primitive.vertex2f}:void |
public abstract | {Primitive.vertex3}:void |
public abstract | {Primitive.vertex3f}:void |
(クラス定数)
public constant Primitive.line-loop:
PrimitiveType =PrimitiveType.line-loop
最後の頂点と最初の頂点を結ぶラインを描画します。
説明
(クラス定数)
public constant Primitive.line-strip:
PrimitiveType =PrimitiveType.line-strip
(クラス定数)
public constant Primitive.lines:
PrimitiveType =PrimitiveType.lines
(クラス定数)
public constant Primitive.points:
PrimitiveType =PrimitiveType.points
(クラス定数)
public constant Primitive.polygon:
PrimitiveType =PrimitiveType.polygon
(クラス定数)
public constant Primitive.quad-strip:
PrimitiveType =PrimitiveType.quad-strip
(クラス定数)
public constant Primitive.quads:
PrimitiveType =PrimitiveType.quads
4 つの頂点の各セットが四角形を描画します。
説明
(クラス定数)
public constant Primitive.triangle-fan:
PrimitiveType =PrimitiveType.triangle-fan
(クラス定数)
public constant Primitive.triangle-strip:
PrimitiveType =PrimitiveType.triangle-strip
(クラス定数)
public constant Primitive.triangles:
PrimitiveType =PrimitiveType.triangles
3 つの頂点の各セットが三角形を描画します。
説明
(メソッド)
public final | {Primitive.color color:Color}:void |
現在の素材の拡散色を設定します。照明が無効の場合、これは現在の頂点の色を設定しますこのメソッドは diffuse と同じです。詳細については、Primitive を参照してください。
(メソッド)
public final inline | {Primitive.color3}:void |
現在の素材の拡散色を設定します。照明が無効の場合、これは現在の頂点の色を設定しますこのメソッドは diffuse3 と同じです。詳細については、Primitive を参照してください。
(メソッド)
public final inline | {Primitive.color3b}:void |
現在の素材の拡散色を設定します。照明が無効の場合、これは現在の頂点の色を設定しますこのメソッドは diffuse3b と同じです。詳細については、Primitive を参照してください。
(メソッド)
public final inline | {Primitive.color3f}:void |
現在の素材の拡散色を設定します。照明が無効の場合、これは現在の頂点の色を設定しますこのメソッドは diffuse3f と同じです。詳細については、Primitive を参照してください。
(メソッド)
現在の素材の拡散色を設定します。照明が無効の場合、これは現在の頂点の色を設定しますこのメソッドは diffuse3fv と同じです。詳細については、Primitive を参照してください。
(メソッド)
現在の素材の拡散色を設定します。照明が無効の場合、これは現在の頂点の色を設定しますこのメソッドは diffuse3v と同じです。詳細については、Primitive を参照してください。
(メソッド)
public abstract | {Primitive.color4}:void |
現在の素材の拡散色を設定します。照明が無効の場合、これは現在の頂点の色を設定しますこのメソッドは diffuse4 と同じです。詳細については、Primitive を参照してください。
(メソッド)
public abstract | {Primitive.color4b}:void |
現在の素材の拡散色を設定します。照明が無効の場合、これは現在の頂点の色を設定しますこのメソッドは diffuse4b と同じです。詳細については、Primitive を参照してください。
(メソッド)
public abstract | {Primitive.color4f}:void |
現在の素材の拡散色を設定します。照明が無効の場合、これは現在の頂点の色を設定しますこのメソッドは diffuse4f と同じです。詳細については、Primitive を参照してください。
(メソッド)
現在の素材の拡散色を設定します。照明が無効の場合、これは現在の頂点の色を設定しますこのメソッドは diffuse4fv と同じです。詳細については、Primitive を参照してください。
(メソッド)
現在の素材の拡散色を設定します。照明が無効の場合、これは現在の頂点の色を設定しますこのメソッドは diffuse4v と同じです。詳細については、Primitive を参照してください。
(メソッド)
public final | {Primitive.diffuse color:Color}:void |
現在の素材の拡散色を設定します。照明が無効の場合、これは現在の頂点の色を設定しますこのメソッドは color と同じです。詳細については、Primitive を参照してください。
(メソッド)
public final inline | {Primitive.diffuse3}:void |
現在の素材の拡散色を設定します。照明が無効の場合、これは現在の頂点の色を設定しますこのメソッドは color3 と同じです。詳細については、Primitive を参照してください。
(メソッド)
public final inline | {Primitive.diffuse3b}:void |
現在の素材の拡散色を設定します。照明が無効の場合、これは現在の頂点の色を設定しますこのメソッドは color3b と同じです。詳細については、Primitive を参照してください。
(メソッド)
public final inline | {Primitive.diffuse3f}:void |
現在の素材の拡散色を設定します。照明が無効の場合、これは現在の頂点の色を設定しますこのメソッドは color3f と同じです。詳細については、Primitive を参照してください。
(メソッド)
現在の素材の拡散色を設定します。照明が無効の場合、これは現在の頂点の色を設定しますこのメソッドは color3fv と同じです。詳細については、Primitive を参照してください。
(メソッド)
現在の素材の拡散色を設定します。照明が無効の場合、これは現在の頂点の色を設定しますこのメソッドは color3v と同じです。詳細については、Primitive を参照してください。
(メソッド)
public abstract | {Primitive.diffuse4}:void |
現在の素材の拡散色を設定します。照明が無効の場合、これは現在の頂点の色を設定しますこのメソッドは color4 と同じです。詳細については、Primitive を参照してください。
(メソッド)
public abstract | {Primitive.diffuse4b}:void |
現在の素材の拡散色を設定します。照明が無効の場合、これは現在の頂点の色を設定しますこのメソッドは color4b と同じです。詳細については、Primitive を参照してください。
(メソッド)
public abstract | {Primitive.diffuse4f}:void |
現在の素材の拡散色を設定します。照明が無効の場合、これは現在の頂点の色を設定しますこのメソッドは color4f と同じです。詳細については、Primitive を参照してください。
(メソッド)
現在の素材の拡散色を設定します。照明が無効の場合、これは現在の頂点の色を設定しますこのメソッドは color4fv と同じです。詳細については、Primitive を参照してください。
(メソッド)
現在の素材の拡散色を設定します。照明が無効の場合、これは現在の頂点の色を設定しますこのメソッドは color4v と同じです。詳細については、Primitive を参照してください。
(メソッド)
public abstract | {Primitive.normal3}:void |
現在の法線ベクトルを設定します。このパラメータは照明にのみ有効です。詳細については、Primitive を参照してください。
(メソッド)
public abstract | {Primitive.normal3f}:void |
現在の法線ベクトルを設定します。このパラメータは照明にのみ有効です。詳細については、Primitive を参照してください。
(メソッド)
現在の法線ベクトルを設定します。このパラメータは照明にのみ有効です。詳細については、Primitive を参照してください。
(メソッド)
現在の法線ベクトルを設定します。このパラメータは照明にのみ有効です。詳細については、Primitive を参照してください。
(メソッド)
public final | {Primitive.specular color:Color}:void |
現在の素材の鏡面色を設定します。このパラメータは照明にのみ有効です。詳細については、Primitive を参照してください。
(メソッド)
public final inline | {Primitive.specular3}:void |
現在の素材の鏡面色を設定します。このパラメータは照明にのみ有効です。詳細については、Primitive を参照してください。
(メソッド)
public final inline | {Primitive.specular3b}:void |
現在の素材の鏡面色を設定します。このパラメータは照明にのみ有効です。詳細については、Primitive を参照してください。
(メソッド)
public final inline | {Primitive.specular3f}:void |
現在の素材の鏡面色を設定します。このパラメータは照明にのみ有効です。詳細については、Primitive を参照してください。
(メソッド)
現在の素材の鏡面色を設定します。このパラメータは照明にのみ有効です。詳細については、Primitive を参照してください。
(メソッド)
現在の素材の鏡面色を設定します。このパラメータは照明にのみ有効です。詳細については、Primitive を参照してください。
(メソッド)
public abstract | {Primitive.specular4}:void |
現在の素材の鏡面色を設定します。このパラメータは照明にのみ有効です。詳細については、Primitive を参照してください。
(メソッド)
public abstract | {Primitive.specular4b}:void |
現在の素材の鏡面色を設定します。このパラメータは照明にのみ有効です。詳細については、Primitive を参照してください。
(メソッド)
public abstract | {Primitive.specular4f}:void |
現在の素材の鏡面色を設定します。このパラメータは照明にのみ有効です。詳細については、Primitive を参照してください。
(メソッド)
現在の素材の鏡面色を設定します。このパラメータは照明にのみ有効です。詳細については、Primitive を参照してください。
(メソッド)
現在の素材の鏡面色を設定します。このパラメータは照明にのみ有効です。詳細については、Primitive を参照してください。
(メソッド)
public final inline | {Primitive.texture-coord1 s:Fraction}:void |
現在のテクスチャ座標を設定します。詳細については、Primitive を参照してください。
(メソッド)
現在のテクスチャ座標を設定します。詳細については、Primitive を参照してください。
(メソッド)
現在のテクスチャ座標を設定します。詳細については、Primitive を参照してください。
(メソッド)
public abstract | {Primitive.texture-coord2f}:void |
現在のテクスチャ座標を設定します。詳細については、Primitive を参照してください。
(メソッド)
public final inline | {Primitive.texture-coord2fv}:void |
現在のテクスチャ座標を設定します。詳細については、Primitive を参照してください。
(メソッド)
public final inline | {Primitive.texture-coord2v}:void |
現在のテクスチャ座標を設定します。詳細については、Primitive を参照してください。
(メソッド)
(メソッド)
public final inline | {Primitive.vertex2f}:void |
(メソッド)
(メソッド)
(メソッド)
public abstract | {Primitive.vertex3}:void |
(メソッド)
public abstract | {Primitive.vertex3f}:void |
(メソッド)
(メソッド)