ゲームグラフィックス特論
読み取り中…
検索中…
一致する文字列を見つけられません
gg::GgSimpleShader クラス

#include <gg.h>

gg::GgSimpleShader の継承関係図
gg::GgSimpleShader 連携図

クラス

struct  Light
class  LightBuffer
struct  Material
class  MaterialBuffer

公開メンバ関数

 GgSimpleShader ()
 GgSimpleShader (const std::string &vert, const std::string &frag="", const std::string &geom="", GLint nvarying=0, const char *const *varyings=nullptr)
 GgSimpleShader (const std::array< std::string, 3 > &files, GLint nvarying=0, const char *const *varyings=nullptr)
 GgSimpleShader (const GgSimpleShader &o)
virtual ~GgSimpleShader ()
GgSimpleShaderoperator= (const GgSimpleShader &o)
bool load (const std::string &vert, const std::string &frag="", const std::string &geom="", GLint nvarying=0, const char *const *varyings=nullptr)
bool load (const std::array< std::string, 3 > &files, GLint nvarying=0, const char *const *varyings=nullptr)
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 std::string &vert, const std::string &frag="", const std::string &geom="", GLint nvarying=0, const char *const *varyings=nullptr)
 GgPointShader (const std::array< std::string, 3 > &files, int nvarying=0, const char *const *varyings=nullptr)
virtual ~GgPointShader ()
bool load (const std::string &vert, const std::string &frag="", const std::string &geom="", GLint nvarying=0, const char *const *varyings=nullptr)
bool load (const std::array< std::string, 3 > &files, GLint nvarying=0, const char *const *varyings=nullptr)
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.h7541 行目に定義があります。

構築子と解体子

◆ GgSimpleShader() [1/4]

gg::GgSimpleShader::GgSimpleShader ( )
inline

コンストラクタ.

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

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

◆ GgSimpleShader() [2/4]

gg::GgSimpleShader::GgSimpleShader ( const std::string & vert,
const std::string & frag = "",
const std::string & geom = "",
GLint nvarying = 0,
const char *const * varyings = nullptr )
inline

コンストラクタ.

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

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

呼び出し関係図:

◆ GgSimpleShader() [3/4]

gg::GgSimpleShader::GgSimpleShader ( const std::array< std::string, 3 > & files,
GLint nvarying = 0,
const char *const * varyings = nullptr )
inline

コンストラクタ.

引数
filesバーテックスシェーダのソースファイル名の配列.
nvaryingフィードバックする varying 変数の数 (0 なら不使用).
varyingsフィードバックする varying 変数のリスト (nullptr なら不使用).

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

呼び出し関係図:

◆ GgSimpleShader() [4/4]

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

コピーコンストラクタ.

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

呼び出し関係図:

◆ ~GgSimpleShader()

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

デストラクタ.

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

関数詳解

◆ load() [1/2]

bool gg::GgSimpleShader::load ( const std::array< std::string, 3 > & files,
GLint nvarying = 0,
const char *const * varyings = nullptr )
inline

シェーダのソースファイルを読み込んでプログラムオブジェクトを作成する.

引数
filesバーテックスシェーダのソースファイル名の配列.
nvaryingフィードバックする varying 変数の数 (0 なら不使用).
varyingsフィードバックする varying 変数のリスト (nullptr なら不使用).
戻り値
プログラムオブジェクトの作成に成功したら true.

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

呼び出し関係図:

◆ load() [2/2]

bool gg::GgSimpleShader::load ( const std::string & vert,
const std::string & frag = "",
const std::string & geom = "",
GLint nvarying = 0,
const char *const * varyings = nullptr )

シェーダのソースプログラムの文字列からプログラムオブジェクトを作成する.

引数
vertバーテックスシェーダのソースプログラムの文字列.
fragフラグメントシェーダのソースプログラムの文字列(空文字列なら不使用).
geomジオメトリシェーダのソースプログラムの文字列(空文字列なら不使用).
nvaryingフィードバックする varying 変数の数 (0 なら不使用).
varyingsフィードバックする varying 変数のリスト (nullptr なら不使用).
戻り値
プログラムオブジェクトの作成に成功したら true.

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

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

◆ loadMatrix() [1/4]

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

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

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

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

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

呼び出し関係図:

◆ loadMatrix() [2/4]

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

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

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

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

呼び出し関係図:

◆ loadMatrix() [3/4]

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

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

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

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

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

呼び出し関係図:

◆ 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.h7712 行目に定義があります。

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

◆ loadModelviewMatrix() [1/4]

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

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

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

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

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

呼び出し関係図:

◆ loadModelviewMatrix() [2/4]

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

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

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

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

呼び出し関係図:

◆ loadModelviewMatrix() [3/4]

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

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

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

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

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

呼び出し関係図:

◆ loadModelviewMatrix() [4/4]

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

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

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

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

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

◆ operator=()

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

代入演算子.

引数
o代入する GgSimpleShader 型のオブジェクト.
戻り値
代入後の GgSimpleShader 型のオブジェクトの参照.

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

呼び出し関係図:

◆ use() [1/13]

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

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

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

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

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

◆ use() [2/13]

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

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

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

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

呼び出し関係図:

◆ use() [3/13]

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

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

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

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

呼び出し関係図:

◆ 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.h8435 行目に定義があります。

呼び出し関係図:

◆ 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.h8472 行目に定義があります。

呼び出し関係図:

◆ 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.h8505 行目に定義があります。

呼び出し関係図:

◆ use() [7/13]

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

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

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

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

呼び出し関係図:

◆ 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.h8333 行目に定義があります。

呼び出し関係図:

◆ 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.h8411 行目に定義があります。

呼び出し関係図:

◆ 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.h8454 行目に定義があります。

呼び出し関係図:

◆ 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.h8489 行目に定義があります。

呼び出し関係図:

◆ use() [12/13]

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

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

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

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

呼び出し関係図:

◆ use() [13/13]

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

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

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

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

呼び出し関係図:

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