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

#include <gg.h>

公開メンバ関数

 GgShader (const std::string &vert, const std::string &frag="", const std::string &geom="", int nvarying=0, const char *const *varyings=nullptr)
 GgShader (const std::array< std::string, 3 > &files, int nvarying=0, const char *const *varyings=nullptr)
 GgShader (const GgShader &shader)=delete
 GgShader (GgShader &&o) noexcept
virtual ~GgShader ()
GgShaderoperator= (const GgShader &shader)=delete
GgShaderoperator= (GgShader &&o) noexcept
void use () const
void unuse () const
GLuint get () const

詳解

シェーダの基底クラス.

覚え書き
シェーダのクラスはこのクラスを派生して作る.

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

構築子と解体子

◆ GgShader() [1/4]

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

コンストラクタ.

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

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

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

◆ GgShader() [2/4]

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

コンストラクタ.

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

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

呼び出し関係図:

◆ GgShader() [3/4]

gg::GgShader::GgShader ( const GgShader & shader)
delete

コピーコンストラクタは使用しない.

引数
shaderコピー元のシェーダ.
呼び出し関係図:

◆ GgShader() [4/4]

gg::GgShader::GgShader ( GgShader && o)
inlinenoexcept

ムーブコンストラクタ.

引数
oムーブ元のシェーダ.
覚え書き
プログラム名の所有権を移動し, ムーブ元のプログラム名を 0 にする. ムーブ元のデストラクタが同じシェーダプログラムを削除しないようにするため.

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

呼び出し関係図:

◆ ~GgShader()

virtual gg::GgShader::~GgShader ( )
inlinevirtual

デストラクタ.

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

関数詳解

◆ get()

GLuint gg::GgShader::get ( ) const
inline

シェーダのプログラム名を得る.

戻り値
シェーダのプログラム名.

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

◆ operator=() [1/2]

GgShader & gg::GgShader::operator= ( const GgShader & shader)
delete

代入演算子は使用しない.

引数
shader代入元のシェーダ.
戻り値
代入後のこのシェーダの参照.
呼び出し関係図:

◆ operator=() [2/2]

GgShader & gg::GgShader::operator= ( GgShader && o)
inlinenoexcept

ムーブ代入演算子.

引数
oムーブ代入元のシェーダ.
戻り値
ムーブ代入後のこのシェーダの参照.
覚え書き
元々保持していたシェーダプログラムを削除してから所有権を移動し, ムーブ代入元のプログラム名を 0 にする.

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

呼び出し関係図:

◆ unuse()

void gg::GgShader::unuse ( ) const
inline

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

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

◆ use()

void gg::GgShader::use ( ) const
inline

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

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


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