kGLModel
クラス KGLModelData

java.lang.Object
  上位を拡張 kGLModel.KGLModelData
直系の既知のサブクラス:
KGLMetaseq

public class KGLModelData
extends java.lang.Object

JOGLを使用してファイルからモデルデータの読み込みと描画を行う
使用後はClear()を呼んでください
OpenGLへ登録したリソースの解放をします。

作成者:
kei

入れ子のクラスの概要
protected  class KGLModelData.GLMaterial
          マテリアルの描画情報
protected  class KGLModelData.GLObject
          モデルの各オブジェクト情報保持クラス
protected  class KGLModelData.multiInput
          文字列&バイナリデータ混合読み込みクラス
 
フィールドの概要
protected  javax.media.opengl.GL gl
          OpenGLコマンド群をカプセル化したクラス (JOGL)
protected  KGLModelData.GLObject[] glObj
          描画用内部データ
protected  boolean isMakeTexPool
          テクスチャ管理クラスをこのクラスで作成したかどうか
protected  boolean isUseVBO
          VBO(頂点配列バッファ)を使用するかどうか
protected  KGLTextures texPool
          テクスチャ管理クラス
 
コンストラクタの概要
protected KGLModelData(javax.media.opengl.GL in_gl, KGLTextures in_texPool, float scale, boolean in_isUseVBO)
          コンストラクタ createGLModelを使用してインスタンス化するので、使用しない。
 
メソッドの概要
 void Clear()
          OpenGLへ登録したリソースを解放する
static KGLModelData createGLModel(javax.media.opengl.GL in_gl, KGLTextures in_texPool, java.io.File dataFile, float scale, boolean in_isUseVBO)
          ファイル名の拡張子を見て読み込みクラスを作成する。
 void disables()
          描画で使ったフラグ(enables()で設定したもの)をおとす
glDsableするものは
GL_DEPTH_TEST
GL_ALPHA_TEST
GL_NORMALIZE
GL_TEXTURE_2D
GL_BLEND
 void draw()
          描画
内部に持っているデータを描画する
 void draw(float alpha)
          描画
内部に持っているデータを描画する
 void enables(float scale)
          描画に必要なglEnable処理を一括して行う。
 void materialVisible(java.lang.String materialtName, boolean isVisible)
          描画有無を変更する
 void materialVisible(java.lang.String objectName, java.lang.String materialtName, boolean isVisible)
          描画有無を変更する
 void objectVisible(java.lang.String objectName, boolean isVisible)
          描画有無を変更する
 java.lang.String toString()
          読み込んだオブジェクト/マテリアル名称を文字列にする
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

フィールドの詳細

gl

protected javax.media.opengl.GL gl
OpenGLコマンド群をカプセル化したクラス (JOGL)


texPool

protected KGLTextures texPool
テクスチャ管理クラス


isMakeTexPool

protected boolean isMakeTexPool
テクスチャ管理クラスをこのクラスで作成したかどうか


isUseVBO

protected boolean isUseVBO
VBO(頂点配列バッファ)を使用するかどうか


glObj

protected KGLModelData.GLObject[] glObj
描画用内部データ

コンストラクタの詳細

KGLModelData

protected KGLModelData(javax.media.opengl.GL in_gl,
                       KGLTextures in_texPool,
                       float scale,
                       boolean in_isUseVBO)
コンストラクタ createGLModelを使用してインスタンス化するので、使用しない。

パラメータ:
in_gl - OpenGLコマンド群をカプセル化したクラス
in_texPool - テクスチャ管理クラス(nullならこのクラス内部に作成)
scale - モデルの倍率
in_isUseVBO - 頂点配列バッファを使用するかどうか
メソッドの詳細

createGLModel

public static KGLModelData createGLModel(javax.media.opengl.GL in_gl,
                                         KGLTextures in_texPool,
                                         java.io.File dataFile,
                                         float scale,
                                         boolean in_isUseVBO)
ファイル名の拡張子を見て読み込みクラスを作成する。
→MQOファイルしか作ってないけどね!

パラメータ:
in_gl - OpenGLコマンド群をカプセル化したクラス
in_texPool - テクスチャ管理クラス(nullならこのクラス内部に作成)
dataFile - ファイル名
scale - モデルの倍率
in_isUseVBO - 頂点配列バッファを使用するかどうか
戻り値:
モデルデータクラス

Clear

public void Clear()
OpenGLへ登録したリソースを解放する


objectVisible

public void objectVisible(java.lang.String objectName,
                          boolean isVisible)
描画有無を変更する

パラメータ:
objectName - オブジェクト名
isVisible - 描画有無

materialVisible

public void materialVisible(java.lang.String materialtName,
                            boolean isVisible)
描画有無を変更する

パラメータ:
materialtName - マテリアル名
isVisible - 描画有無

materialVisible

public void materialVisible(java.lang.String objectName,
                            java.lang.String materialtName,
                            boolean isVisible)
描画有無を変更する

パラメータ:
objectName - オブジェクト名
materialtName - マテリアル名
isVisible - 描画有無

enables

public void enables(float scale)
描画に必要なglEnable処理を一括して行う。
glEnableするものは
GL_DEPTH_TEST
GL_ALPHA_TEST
GL_NORMALIZE(scaleが1.0以外の場合のみ)
GL_TEXTURE_2D
GL_BLEND
これらが必要ないことがわかっているときは手動で設定するほうがよいと思います

パラメータ:
scale - 描画するサイズ(1倍以外はOpenGLに余計な処理が入る)

disables

public void disables()
描画で使ったフラグ(enables()で設定したもの)をおとす
glDsableするものは
GL_DEPTH_TEST
GL_ALPHA_TEST
GL_NORMALIZE
GL_TEXTURE_2D
GL_BLEND


draw

public void draw()
描画
内部に持っているデータを描画する


draw

public void draw(float alpha)
描画
内部に持っているデータを描画する

パラメータ:
alpha - 描画する透明度(0〜1)

toString

public java.lang.String toString()
読み込んだオブジェクト/マテリアル名称を文字列にする

オーバーライド:
クラス java.lang.Object 内の toString