ゲームグラフィックス特論
クラス | 公開メンバ関数 | 全メンバ一覧
gg::GgSimpleShader クラス

三角形に単純な陰影付けを行うシェーダ. [詳解]

#include <gg.h>

gg::GgSimpleShader の継承関係図
Inheritance graph
[凡例]
gg::GgSimpleShader 連携図
Collaboration graph
[凡例]

クラス

struct  Light
 三角形に単純な陰影付けを行うシェーダが参照する光源データ. [詳解]
 
class  LightBuffer
 三角形に単純な陰影付けを行うシェーダが参照する光源データのユニフォームバッファオブジェクト. [詳解]
 
struct  Material
 三角形に単純な陰影付けを行うシェーダが参照する材質データ. [詳解]
 
class  MaterialBuffer
 三角形に単純な陰影付けを行うシェーダが参照する材質データのユニフォームバッファオブジェクト. [詳解]
 

公開メンバ関数

 GgSimpleShader ()
 コンストラクタ. [詳解]
 
 GgSimpleShader (const char *vert, const char *frag=0, const char *geom=0, GLint nvarying=0, const char **varyings=0)
 コンストラクタ. [詳解]
 
 GgSimpleShader (const GgSimpleShader &o)
 コピーコンストラクタ. [詳解]
 
virtual ~GgSimpleShader ()
 デストラクタ. [詳解]
 
GgSimpleShaderoperator= (const GgSimpleShader &o)
 代入演算子 [詳解]
 
void load (const char *vert, const char *frag=0, const char *geom=0, GLint nvarying=0, const char **varyings=0)
 シェーダのソースファイルの読み込み [詳解]
 
virtual void loadModelviewMatrix (const GLfloat *mv, const GLfloat *mn) const
 モデルビュー変換行列と法線変換行列を設定する. [詳解]
 
virtual void loadModelviewMatrix (const GgMatrix &mv, const GgMatrix &mn) const
 モデルビュー変換行列と法線変換行列を設定する. [詳解]
 
virtual void loadModelviewMatrix (const GLfloat *mv) const
 モデルビュー変換行列とそれから求めた法線変換行列を設定する. [詳解]
 
virtual void loadModelviewMatrix (const GgMatrix &mv) const
 モデルビュー変換行列とそれから求めた法線変換行列を設定する. [詳解]
 
virtual void loadMatrix (const GLfloat *mp, const GLfloat *mv, const GLfloat *mn) const
 投影変換行列とモデルビュー変換行列と法線変換行列を設定する. [詳解]
 
virtual void loadMatrix (const GgMatrix &mp, const GgMatrix &mv, const GgMatrix &mn) const
 投影変換行列とモデルビュー変換行列と法線変換行列を設定する. [詳解]
 
virtual void loadMatrix (const GLfloat *mp, const GLfloat *mv) const
 投影変換行列とモデルビュー変換行列を設定しモデルビュー変換行列から求めた法線変換行列を設定する. [詳解]
 
virtual void loadMatrix (const GgMatrix &mp, const GgMatrix &mv) const
 投影変換行列とモデルビュー変換行列を設定しモデルビュー変換行列から求めた法線変換行列を設定する. [詳解]
 
void use () const
 シェーダプログラムの使用を開始する. [詳解]
 
void use (const GLfloat *mp, const GLfloat *mv, const GLfloat *mn) const
 投影変換行列とモデルビュー変換行列と法線変換行列を設定してシェーダプログラムの使用を開始する. [詳解]
 
void use (const GgMatrix &mp, const GgMatrix &mv, const GgMatrix &mn) const
 投影変換行列とモデルビュー変換行列と法線変換行列を指定してシェーダプログラムの使用を開始する. [詳解]
 
void use (const GLfloat *mp, const GLfloat *mv) const
 投影変換行列とモデルビュー変換行列を設定しモデルビュー変換行列から求めた法線変換行列を設定してシェーダプログラムの使用を開始する. [詳解]
 
void use (const GgMatrix &mp, const GgMatrix &mv) const
 投影変換行列とモデルビュー変換行列を設定しモデルビュー変換行列から求めた法線変換行列を設定してシェーダプログラムの使用を開始する. [詳解]
 
void use (const LightBuffer *light, GLint i=0) const
 光源を指定してシェーダプログラムの使用を開始する. [詳解]
 
void use (const LightBuffer &light, GLint i=0) const
 光源を指定してシェーダプログラムの使用を開始する. [詳解]
 
void use (const GLfloat *mp, const GLfloat *mv, const GLfloat *mn, const LightBuffer *light, GLint i=0) const
 光源を指定し投影変換行列とモデルビュー変換行列と法線変換行列を設定してシェーダプログラムの使用を開始する. [詳解]
 
void use (const GgMatrix &mp, const GgMatrix &mv, const GgMatrix &mn, const LightBuffer &light, GLint i=0) const
 光源を指定し投影変換行列とモデルビュー変換行列と法線変換行列を設定してシェーダプログラムの使用を開始する. [詳解]
 
void use (const GLfloat *mp, const GLfloat *mv, const LightBuffer *light, GLint i=0) const
 光源を指定し投影変換行列とモデルビュー変換行列を設定しモデルビュー変換行列から求めた法線変換行列を設定してシェーダプログラムの使用を開始する. [詳解]
 
void use (const GgMatrix &mp, const GgMatrix &mv, const LightBuffer &light, GLint i=0) const
 光源を指定し投影変換行列とモデルビュー変換行列を設定しモデルビュー変換行列から求めた法線変換行列を設定してシェーダプログラムの使用を開始する. [詳解]
 
void use (const GLfloat *mp, const LightBuffer *light, GLint i=0) const
 光源を指定し投影変換行列を設定してシェーダプログラムの使用を開始する. [詳解]
 
void use (const GgMatrix &mp, const LightBuffer &light, GLint i=0) const
 光源を指定し投影変換行列を設定してシェーダプログラムの使用を開始する. [詳解]
 
- 基底クラス gg::GgPointShader に属する継承公開メンバ関数
 GgPointShader ()
 コンストラクタ. [詳解]
 
 GgPointShader (const char *vert, const char *frag=0, const char *geom=0, GLint nvarying=0, const char **varyings=0)
 コンストラクタ [詳解]
 
virtual ~GgPointShader ()
 デストラクタ. [詳解]
 
void load (const char *vert, const char *frag=0, const char *geom=0, GLint nvarying=0, const char **varyings=0)
 シェーダのソースファイルを読み込む. [詳解]
 
virtual void loadProjectionMatrix (const GLfloat *mp) const
 投影変換行列を設定する. [詳解]
 
virtual void loadProjectionMatrix (const GgMatrix &mp) const
 投影変換行列を設定する. [詳解]
 
void use (const GLfloat *mp) const
 投影変換行列を設定してシェーダプログラムの使用を開始する. [詳解]
 
void use (const GgMatrix &mp) const
 投影変換行列を設定してシェーダプログラムの使用を開始する. [詳解]
 
void use (const GLfloat *mp, const GLfloat *mv) const
 投影変換行列とモデルビューを設定してシェーダプログラムの使用を開始する. [詳解]
 
void use (const GgMatrix &mp, const GgMatrix &mv) const
 投影変換行列とモデルビューを設定してシェーダプログラムの使用を開始する. [詳解]
 
void unuse () const
 シェーダプログラムの使用を終了する. [詳解]
 
GLuint get () const
 シェーダのプログラム名を得る. [詳解]
 

詳解

三角形に単純な陰影付けを行うシェーダ.

gg.h5154 行目に定義があります。

構築子と解体子

◆ GgSimpleShader() [1/3]

gg::GgSimpleShader::GgSimpleShader ( )
inline

コンストラクタ.

gg.h5169 行目に定義があります。

◆ GgSimpleShader() [2/3]

gg::GgSimpleShader::GgSimpleShader ( const char *  vert,
const char *  frag = 0,
const char *  geom = 0,
GLint  nvarying = 0,
const char **  varyings = 0 
)
inline

コンストラクタ.

引数
vertバーテックスシェーダのソースファイル名.
fragフラグメントシェーダのソースファイル名 (0 なら不使用).
geomジオメトリシェーダのソースファイル名 (0 なら不使用).
nvaryingフィードバックする varying 変数の数 (0 なら不使用).
varyingsフィードバックする varying 変数のリスト.

gg.h5182 行目に定義があります。

呼び出し関係図:

◆ GgSimpleShader() [3/3]

gg::GgSimpleShader::GgSimpleShader ( const GgSimpleShader o)
inline

コピーコンストラクタ.

gg.h5189 行目に定義があります。

◆ ~GgSimpleShader()

virtual gg::GgSimpleShader::~GgSimpleShader ( )
inlinevirtual

デストラクタ.

gg.h5196 行目に定義があります。

関数詳解

◆ load()

void gg::GgSimpleShader::load ( const char *  vert,
const char *  frag = 0,
const char *  geom = 0,
GLint  nvarying = 0,
const char **  varyings = 0 
)

シェーダのソースファイルの読み込み

gg.cpp5656 行目に定義があります。

呼び出し関係図:
被呼び出し関係図:

◆ loadMatrix() [1/4]

virtual void gg::GgSimpleShader::loadMatrix ( const GgMatrix mp,
const GgMatrix mv 
) const
inlinevirtual

投影変換行列とモデルビュー変換行列を設定しモデルビュー変換行列から求めた法線変換行列を設定する.

引数
mpGgMatrix 型の投影変換行列.
mvGgMatrix 型のモデルビュー変換行列.

gg::GgPointShaderを再実装しています。

gg.h5277 行目に定義があります。

呼び出し関係図:

◆ loadMatrix() [2/4]

virtual void gg::GgSimpleShader::loadMatrix ( const GgMatrix mp,
const GgMatrix mv,
const GgMatrix mn 
) const
inlinevirtual

投影変換行列とモデルビュー変換行列と法線変換行列を設定する.

引数
mpGgMatrix 型の投影変換行列.
mvGgMatrix 型のモデルビュー変換行列.
mnGgMatrix 型のモデルビュー変換行列の法線変換行列.

gg.h5261 行目に定義があります。

呼び出し関係図:

◆ loadMatrix() [3/4]

virtual void gg::GgSimpleShader::loadMatrix ( const GLfloat *  mp,
const GLfloat *  mv 
) const
inlinevirtual

投影変換行列とモデルビュー変換行列を設定しモデルビュー変換行列から求めた法線変換行列を設定する.

引数
mpGLfloat 型の 16 要素の配列変数に格納された投影変換行列.
mvGLfloat 型の 16 要素の配列変数に格納されたモデルビュー変換行列.

gg::GgPointShaderを再実装しています。

gg.h5269 行目に定義があります。

呼び出し関係図:

◆ loadMatrix() [4/4]

virtual void gg::GgSimpleShader::loadMatrix ( const GLfloat *  mp,
const GLfloat *  mv,
const GLfloat *  mn 
) const
inlinevirtual

投影変換行列とモデルビュー変換行列と法線変換行列を設定する.

引数
mpGLfloat 型の 16 要素の配列変数に格納された投影変換行列.
mvGLfloat 型の 16 要素の配列変数に格納されたモデルビュー変換行列.
mnGLfloat 型の 16 要素の配列変数に格納されたモデルビュー変換行列の法線変換行列.

gg.h5251 行目に定義があります。

呼び出し関係図:
被呼び出し関係図:

◆ loadModelviewMatrix() [1/4]

virtual void gg::GgSimpleShader::loadModelviewMatrix ( const GgMatrix mv) const
inlinevirtual

モデルビュー変換行列とそれから求めた法線変換行列を設定する.

引数
mvGgMatrix 型のモデルビュー変換行列.

gg::GgPointShaderを再実装しています。

gg.h5242 行目に定義があります。

呼び出し関係図:

◆ loadModelviewMatrix() [2/4]

virtual void gg::GgSimpleShader::loadModelviewMatrix ( const GgMatrix mv,
const GgMatrix mn 
) const
inlinevirtual

モデルビュー変換行列と法線変換行列を設定する.

引数
mvGgMatrix 型のモデルビュー変換行列.
mnGgMatrix 型のモデルビュー変換行列の法線変換行列.

gg.h5228 行目に定義があります。

呼び出し関係図:

◆ loadModelviewMatrix() [3/4]

virtual void gg::GgSimpleShader::loadModelviewMatrix ( const GLfloat *  mv) const
inlinevirtual

モデルビュー変換行列とそれから求めた法線変換行列を設定する.

引数
mvGLfloat 型の 16 要素の配列変数に格納されたモデルビュー変換行列.

gg::GgPointShaderを再実装しています。

gg.h5235 行目に定義があります。

呼び出し関係図:

◆ loadModelviewMatrix() [4/4]

virtual void gg::GgSimpleShader::loadModelviewMatrix ( const GLfloat *  mv,
const GLfloat *  mn 
) const
inlinevirtual

モデルビュー変換行列と法線変換行列を設定する.

引数
mvGLfloat 型の 16 要素の配列変数に格納されたモデルビュー変換行列.
mnGLfloat 型の 16 要素の配列変数に格納されたモデルビュー変換行列の法線変換行列.

gg.h5219 行目に定義があります。

呼び出し関係図:
被呼び出し関係図:

◆ operator=()

GgSimpleShader& gg::GgSimpleShader::operator= ( const GgSimpleShader o)
inline

代入演算子

gg.h5199 行目に定義があります。

◆ use() [1/13]

void gg::GgSimpleShader::use ( ) const
inlinevirtual

シェーダプログラムの使用を開始する.

gg::GgPointShaderを再実装しています。

gg.h5592 行目に定義があります。

呼び出し関係図:
被呼び出し関係図:

◆ use() [2/13]

void gg::GgSimpleShader::use ( const GgMatrix mp,
const GgMatrix mv 
) const
inline

投影変換行列とモデルビュー変換行列を設定しモデルビュー変換行列から求めた法線変換行列を設定してシェーダプログラムの使用を開始する.

引数
mpGgMatrix 型の投影変換行列.
mvGgMatrix 型のモデルビュー変換行列.

gg.h5631 行目に定義があります。

呼び出し関係図:

◆ use() [3/13]

void gg::GgSimpleShader::use ( const GgMatrix mp,
const GgMatrix mv,
const GgMatrix mn 
) const
inline

投影変換行列とモデルビュー変換行列と法線変換行列を指定してシェーダプログラムの使用を開始する.

引数
mpGgMatrix 型の投影変換行列.
mvGgMatrix 型のモデルビュー変換行列.
mnGgMatrix 型のモデルビュー変換行列の法線変換行列.

gg.h5615 行目に定義があります。

呼び出し関係図:

◆ use() [4/13]

void gg::GgSimpleShader::use ( const GgMatrix mp,
const GgMatrix mv,
const GgMatrix mn,
const LightBuffer light,
GLint  i = 0 
) const
inline

光源を指定し投影変換行列とモデルビュー変換行列と法線変換行列を設定してシェーダプログラムの使用を開始する.

引数
mpGgMatrix 型の投影変換行列.
mvGgMatrix 型のモデルビュー変換行列.
mnGgMatrix 型のモデルビュー変換行列の法線変換行列.
light光源の特性の gg::LightBuffer 構造体.
i光源データの uniform block のインデックス.

gg.h5677 行目に定義があります。

呼び出し関係図:

◆ use() [5/13]

void gg::GgSimpleShader::use ( const GgMatrix mp,
const GgMatrix mv,
const LightBuffer light,
GLint  i = 0 
) const
inline

光源を指定し投影変換行列とモデルビュー変換行列を設定しモデルビュー変換行列から求めた法線変換行列を設定してシェーダプログラムの使用を開始する.

引数
mpGgMatrix 型の投影変換行列.
mvGgMatrix 型のモデルビュー変換行列.
light光源の特性の gg::LightBuffer 構造体.
i光源データの uniform block のインデックス.

gg.h5697 行目に定義があります。

呼び出し関係図:

◆ use() [6/13]

void gg::GgSimpleShader::use ( const GgMatrix mp,
const LightBuffer light,
GLint  i = 0 
) const
inline

光源を指定し投影変換行列を設定してシェーダプログラムの使用を開始する.

引数
mpGgMatrix 型の投影変換行列.
light光源の特性の gg::LightBuffer 構造体.
i光源データの uniform block のインデックス.

gg.h5719 行目に定義があります。

呼び出し関係図:

◆ use() [7/13]

void gg::GgSimpleShader::use ( const GLfloat *  mp,
const GLfloat *  mv 
) const
inline

投影変換行列とモデルビュー変換行列を設定しモデルビュー変換行列から求めた法線変換行列を設定してシェーダプログラムの使用を開始する.

引数
mpGLfloat 型の 16 要素の配列変数に格納された投影変換行列.
mvGLfloat 型の 16 要素の配列変数に格納されたモデルビュー変換行列.

gg.h5623 行目に定義があります。

呼び出し関係図:

◆ use() [8/13]

void gg::GgSimpleShader::use ( const GLfloat *  mp,
const GLfloat *  mv,
const GLfloat *  mn 
) const
inline

投影変換行列とモデルビュー変換行列と法線変換行列を設定してシェーダプログラムの使用を開始する.

引数
mpGLfloat 型の 16 要素の配列変数に格納された投影変換行列.
mvGLfloat 型の 16 要素の配列変数に格納されたモデルビュー変換行列.
mnGLfloat 型の 16 要素の配列変数に格納されたモデルビュー変換行列の法線変換行列.

gg.h5602 行目に定義があります。

呼び出し関係図:

◆ use() [9/13]

void gg::GgSimpleShader::use ( const GLfloat *  mp,
const GLfloat *  mv,
const GLfloat *  mn,
const LightBuffer light,
GLint  i = 0 
) const
inline

光源を指定し投影変換行列とモデルビュー変換行列と法線変換行列を設定してシェーダプログラムの使用を開始する.

引数
mpGLfloat 型の 16 要素の配列変数に格納された投影変換行列.
mvGLfloat 型の 16 要素の配列変数に格納されたモデルビュー変換行列.
mnGLfloat 型の 16 要素の配列変数に格納されたモデルビュー変換行列の法線変換行列.
light光源の特性の gg::LightBuffer 構造体のポインタ.
i光源データの uniform block のインデックス.

gg.h5662 行目に定義があります。

呼び出し関係図:

◆ use() [10/13]

void gg::GgSimpleShader::use ( const GLfloat *  mp,
const GLfloat *  mv,
const LightBuffer light,
GLint  i = 0 
) const
inline

光源を指定し投影変換行列とモデルビュー変換行列を設定しモデルビュー変換行列から求めた法線変換行列を設定してシェーダプログラムの使用を開始する.

引数
mpGLfloat 型の 16 要素の配列変数に格納された投影変換行列.
mvGLfloat 型の 16 要素の配列変数に格納されたモデルビュー変換行列.
light光源の特性の gg::LightBuffer 構造体のポインタ.
i光源データの uniform block のインデックス.

gg.h5687 行目に定義があります。

呼び出し関係図:

◆ use() [11/13]

void gg::GgSimpleShader::use ( const GLfloat *  mp,
const LightBuffer light,
GLint  i = 0 
) const
inline

光源を指定し投影変換行列を設定してシェーダプログラムの使用を開始する.

引数
mpGLfloat 型の 16 要素の配列変数に格納された投影変換行列.
light光源の特性の gg::LightBuffer 構造体のポインタ.
i光源データの uniform block のインデックス.

gg.h5706 行目に定義があります。

呼び出し関係図:

◆ use() [12/13]

void gg::GgSimpleShader::use ( const LightBuffer light,
GLint  i = 0 
) const
inline

光源を指定してシェーダプログラムの使用を開始する.

引数
light光源の特性の gg::LightBuffer 構造体.
i光源データの uniform block のインデックス.

gg.h5651 行目に定義があります。

呼び出し関係図:

◆ use() [13/13]

void gg::GgSimpleShader::use ( const LightBuffer light,
GLint  i = 0 
) const
inline

光源を指定してシェーダプログラムの使用を開始する.

引数
light光源の特性の gg::LightBuffer 構造体のポインタ.
i光源データの uniform block のインデックス.

gg.h5639 行目に定義があります。

呼び出し関係図:

このクラス詳解は次のファイルから抽出されました: