Home Manual Reference Source
import S3GLMaterial from 's3js/src/gl/S3GLMaterial.js'
public class | source

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:

NameTypeAttributeDescription
s3glsystem S3GLSystem

GL用システムインスタンス(テクスチャ生成等に必要)

name string

マテリアル名(一意識別のためGLハッシュにも使用)

Private Members

private _s3gl: S3GLSystem source

S3GLSystem アクセス用

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]}

public getGLHash(): string source

このマテリアルの一意なハッシュ文字列を取得します。 通常はマテリアル名がそのままハッシュ値になります。

Return:

string

マテリアルの識別用ハッシュ値(名前)