Home Manual Reference Source

References

summary
public

V S3: {"System": *, "GLSystem": *, "Math": *, "Angles": *, "Vector": *, "Matrix": *, "Plane": *, "SYSTEM_MODE": *, "DEPTH_MODE": *, "DIMENSION_MODE": *, "VECTOR_MODE": *, "FRONT_FACE": *, "CULL_MODE": *, "LIGHT_MODE": *, "MeshLoader": *, "CameraController": *}

S3 3DCGエンジンのメイン名前空間オブジェクト

basic

summary
public

3DCGシーンのカメラ(視点)情報を管理するクラス 視点座標、注視点、視野角、描画範囲、各種行列演算などを保持・操作します。

public

3DCGシーン用のライト(照明)情報を管理するクラス 各種ライト(環境光・平行光源・点光源など)のモード・強さ・方向・色などを保持します。

public

3DCG用のマテリアル(素材)情報を管理するクラス(mutable) 拡散反射色、自己照明、鏡面反射、環境光、反射、テクスチャなどを一括管理します。

public

C S3Mesh

3DCG用メッシュ(立体形状データ)を管理するクラス (mutable) 頂点・面・マテリアルを保持し、複数の形状や属性を一つにまとめます。

public

3DCGシーンに配置する「モデル」を管理するクラス (mutable) 位置・回転・スケール・メッシュ(形状)などモデルの変換・配置情報を保持します。

public

3DCGシーン(描画シーン)の管理クラス モデル・ライト・カメラなどシーン構成要素を一括管理します。

public

3DCGシステム全体を管理するクラス

public

3DCG用のテクスチャ(画像)情報を管理するクラス 画像のセットや2の累乗化処理、ロード状況管理、破棄処理などを担当します。

public

三角形ポリゴンのインデックス情報を保持するクラス(immutable) 各ポリゴン面を構成する頂点インデックスやUV座標、マテリアルインデックスを管理します。

public

3DCG用の頂点クラス(immutable) 各頂点の空間上の座標情報を管理するシンプルなクラスです。

public

カメラのビュー・プロジェクション・ビューポート行列情報をまとめた型

gl

summary
public

WebGL用の配列(バッファ)を生成・管理するクラス。(immutable) 各種型(S3Vector, S3Matrix, 数値配列等)をWebGLバッファ(Float32Array/Int32Array)に変換し、 対応するGLSL型(vec3, mat4等)情報も保持します。

public

WebGLレンダリング用のライト(照明)クラス。 基本のS3Lightを拡張し、GL用データ生成や一意ハッシュ生成などのメソッドを提供します。

public

WebGL描画用のマテリアル(材質)クラス。 基本のS3Materialを拡張し、GL用データ生成・ハッシュ管理などWebGL用途向けの機能を追加します。 色、拡散/反射/発光/環境光、テクスチャ情報などを保持し、GLSLシェーダへのuniformデータ化を担います。

public

WebGL用のメッシュ(立体形状データ)を管理するクラスです。 S3Meshを拡張し、WebGL描画に必要なVBOやIBO情報、GL用データ生成・解放機能などを持ちます。 モデルの描画時にGLにバインドできるバッファ形式への変換・管理も行います。

public

WebGL描画用のモデル(Model)クラス。 基本のS3Modelを拡張し、WebGL向けuniformデータの生成(getUniforms)機能を追加します。 モデルごとの材質(マテリアル)情報をuniformデータとしてまとめ、GLSLシェーダに渡せる形に整形します。

public

WebGLのプログラム(Program)管理クラス。 頂点・フラグメント2つのシェーダーと、それらをリンクしたGLプログラムオブジェクトを保持し、 各種attribute/uniform変数とのバインドや、プログラム切替・破棄などの管理を担います。 S3GLSystem経由でのWebGL描画制御のコアとなります。

public

WebGL描画用のシーン(Scene)クラス。 基本のS3Sceneを拡張し、WebGL用のuniformデータ生成(getUniforms)などの機能を追加します。 カメラやライト情報をGLSLシェーダ向けにuniform変数としてまとめて提供します。

public

WebGLのシェーダー管理クラス。 頂点シェーダ/フラグメントシェーダのソースコード・型・GLオブジェクトを保持し、コンパイルや破棄、状態取得などの機能を提供します。 S3GLProgram 内部で利用され、単体では直接使わないことが多い設計です。

public

WebGLレンダリングシステムを管理するクラス。 シェーダー、テクスチャ、バッファオブジェクトの生成・管理、および描画制御を担当。 WebGLの初期化やプログラムのセットアップ、シーンの描画などの処理を含む。

public

WebGL描画用のテクスチャクラス。 S3Textureを拡張し、WebGL用のGLTexture管理、GL用データ取得(getGLData)、破棄などを担います。 画像データをGPUのテクスチャへ変換し、GLSLシェーダへのuniformバインドなどに利用します。

public

WebGL描画用の三角形インデックスクラス。 基本のS3TriangleIndexを拡張し、GL用属性データ生成(S3GLTriangleIndexData化)などを追加しています。 頂点インデックス・マテリアル番号・UV座標などの情報を持ち、WebGL向け処理の土台となります。

public

WebGL描画用の三角形インデックス・属性データ格納クラス。 三角形ごとの頂点インデックス・UV・法線・接線・従法線などを保持し、 WebGL(GLSL)用に最適化されたデータ生成やハッシュ作成も担います。

public

WebGL描画用の頂点(バーテックス)クラス。 S3Vertexを拡張し、GL用データ生成やハッシュ化などを提供します。 頂点情報(位置)をGL向け形式に変換し、バーテックスシェーダのattributeと連携できます。

public

WebGL配列で利用できるデータ型情報(各種TypedArray型)。

public

GLSL型名("vec3"や"mat4"など)を配列次元や入力種別から自動判定するためのテーブル構造。

public

T S3GLTypedArrayConstructor: typeof Float32Array | typeof Int32Array

TypedArrayのコンストラクタ型定義(Int32Array, Float32Array など)。

public
public

_getGLArrayDataの返却値(IBOとVBOまとめて返す構造)

public

IBO(インデックスバッファオブジェクト)データ構造

public

VBO(頂点バッファオブジェクト)全体のデータ構造

public

VBO(頂点バッファオブジェクト)1要素のデータ構造

public

T S3GLNormalListKey: "normal" | "tangent" | "binormal"

public
public

T S3GLProgramBindData: Int32Array | Float32Array | WebGLBuffer | WebGLTexture

public

GLSL型名ごとのWebGLバインド情報テーブル。 各GLSL型(int, float, mat4, vec3, sampler2D等)に対し、

  • glsltype: GLSL型名("vec3" など)
  • instance: 対応するTypedArray型またはImage(サンプラーの場合)
  • size: 必要な要素数(配列長)
  • btype: 内部的なデータ型種別("FLOAT", "INT", "TEXTURE" など)
  • bind: WebGLのuniformバインド関数(g内の該当関数を使用) などの情報を保持します。
public

ソースコードから解析した変数のデータ

public

WebGLのuniform変数バインド用関数群。 各関数はGLSLの型に応じて正しいuniform関数(uniform1iv/uniformMatrix4fv等)でデータを送る役割を持ちます。

public
public
public
public
public
public
public
public

テクスチャキャッシュ全体の型定義。 キーがテクスチャID(string)で、値がGLFuncTextureCashEntry型になります。

public

面(フェース)単位の属性情報型。 S3Vector.getTangentVector で計算された面の法線・接線・従法線(すべてS3Vector型またはnull)。

public

頂点単位の属性情報型。 各頂点(3つ)の法線・接線・従法線(いずれもS3Vector型またはnull)の配列。

loader

summary
public

V S3MeshLoader: {"inputData": *, "outputData": *}

3DCGメッシュデータの入出力を管理するローダー

public

V S3MeshLoaderJSON: {"name": string, "input": *, "output": *}

JSON形式による3DCGメッシュデータの入出力ユーティリティ

public

V S3MeshLoaderMQO: {"name": string, "input": *, "output": *}

Metasequoia(MQO)形式による3DCGメッシュデータの入出力ユーティリティ

public

V S3MeshLoaderOBJ: {"name": string, "input": *}

Wavefront OBJ形式による3DCGメッシュデータの入出力ユーティリティ

public

メッシュデータの入出力用関数定義

public

デフォルトのマテリアル情報(必要時に参照される)

public

math

summary
public

3DCG用のオイラー角クラス(immutable) Roll(Z軸)、Pitch(X軸)、Yaw(Y軸)の順で角度を保持します。 各値は常に周期的(-180~180度)に管理されます。

public

3DCG用の4x4行列クラス 主に変換行列や射影行列などに使用されます。

public

3DCG用の平面クラス 法線ベクトルと距離または平面上の1点から平面を定義します。

public

3DCG用のベクトルクラス(immutable)

public

V S3Math: {"EPSILON": number, "clamp": *, "step": *, "mix": *, "smoothstep": *, "equals": *, "mod": *, "sign": *, "fract": *, "rsqrt": *, "radius": *, "degrees": *}

数学的な便利関数を提供するユーティリティ 各種演算(クランプ、ステップ関数、補間、等価判定、三角関数変換等)をまとめた静的オブジェクト

public

tools

summary
public

カメラ操作用コントローラー タッチ操作やマウス操作を用いて3DCGシーンのカメラの移動・回転・ズームイン/アウトなどを制御するクラスです。 InputDetect の入力情報をもとに、カメラの移動・回転・距離変更(ズーム)を自動で計算します。

Directories