S3GLMaterial
Extends:
* → S3GLMaterial
WebGL描画用のマテリアル(材質)クラス。 基本のS3Materialを拡張し、GL用データ生成・ハッシュ管理などWebGL用途向けの機能を追加します。 色、拡散/反射/発光/環境光、テクスチャ情報などを保持し、GLSLシェーダへのuniformデータ化を担います。
Constructor Summary
Public Constructor | ||
public |
constructor(s3glsystem: S3GLSystem, name: string) マテリアル情報を初期化します。 |
Member Summary
Private Members | ||
private |
S3GLSystem アクセス用 |
Method Summary
Public Methods | ||
public |
getGLData(): {[key: string]} 頂点データを作成して取得する 頂点データ内に含まれるデータは、S3GLArray型となる。 なお、ここでつけているメンバの名前は、そのままバーテックスシェーダで使用する変数名となる uniform の数がハードウェア上限られているため、送る情報は選定すること |
|
public |
このマテリアルの一意なハッシュ文字列を取得します。 通常はマテリアル名がそのままハッシュ値になります。 |
Public Constructors
public constructor(s3glsystem: S3GLSystem, name: string) source
マテリアル情報を初期化します。
Params:
Name | Type | Attribute | Description |
s3glsystem | S3GLSystem | GL用システムインスタンス(テクスチャ生成等に必要) |
|
name | string | マテリアル名(一意識別のためGLハッシュにも使用) |
Private Members
Public Methods
public getGLData(): {[key: string]} source
頂点データを作成して取得する 頂点データ内に含まれるデータは、S3GLArray型となる。 なお、ここでつけているメンバの名前は、そのままバーテックスシェーダで使用する変数名となる uniform の数がハードウェア上限られているため、送る情報は選定すること
- materialsColorAndDiffuse: 色(RGB)+拡散率(vec4/Float32Array)
- materialsSpecularAndPower: 鏡面色(RGB)+光沢度(vec4/Float32Array)
- materialsEmission: 発光色(vec3/Float32Array)
- materialsAmbientAndReflect: 環境光(RGB)+反射率(vec4/Float32Array)
- materialsTextureExist: テクスチャ有無フラグ([color有:1/0, normal有:1/0])
- materialsTextureColor: カラーテクスチャのGLオブジェクト
- materialsTextureNormal: 法線テクスチャのGLオブジェクト
Return:
{[key: string]} |