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

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

#include <gg.h>

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

公開メンバ関数

 MaterialBuffer (const Material *material=nullptr, GLsizei count=1, GLenum usage=GL_STATIC_DRAW)
 デフォルトコンストラクタ. [詳解]
 
 MaterialBuffer (const Material &material, GLsizei count=1, GLenum usage=GL_STATIC_DRAW)
 同じデータで埋めるコンストラクタ. [詳解]
 
virtual ~MaterialBuffer ()
 デストラクタ [詳解]
 
void loadAmbient (GLfloat r, GLfloat g, GLfloat b, GLfloat a=1.0f, GLint first=0, GLsizei count=1) const
 環境光に対する反射係数を設定する. [詳解]
 
void loadAmbient (const GLfloat *ambient, GLint first=0, GLsizei count=1) const
 環境光に対する反射係数を設定する. [詳解]
 
void loadDiffuse (GLfloat r, GLfloat g, GLfloat b, GLfloat a=1.0f, GLint first=0, GLsizei count=1) const
 拡散反射係数を設定する. [詳解]
 
void loadDiffuse (const GLfloat *diffuse, GLint first=0, GLsizei count=1) const
 拡散反射係数を設定する. [詳解]
 
void loadAmbientAndDiffuse (GLfloat r, GLfloat g, GLfloat b, GLfloat a=1.0f, GLint first=0, GLsizei count=1) const
 環境光に対する反射係数と拡散反射係数を設定する. [詳解]
 
void loadAmbientAndDiffuse (const GLfloat *color, GLint first=0, GLsizei count=1) const
 環境光に対する反射係数と拡散反射係数を設定する. [詳解]
 
void loadSpecular (GLfloat r, GLfloat g, GLfloat b, GLfloat a=1.0f, GLint first=0, GLsizei count=1) const
 鏡面反射係数を設定する. [詳解]
 
void loadSpecular (const GLfloat *specular, GLint first=0, GLsizei count=1) const
 鏡面反射係数を設定する. [詳解]
 
void loadShininess (GLfloat shininess, GLint first=0, GLsizei count=1) const
 輝き係数を設定する. [詳解]
 
void loadShininess (const GLfloat *shininess, GLint first=0, GLsizei count=1) const
 輝き係数を設定する. [詳解]
 
void load (const Material *material, GLint first=0, GLsizei count=1) const
 材質を設定する. [詳解]
 
void load (const Material &material, GLint first=0, GLsizei count=1) const
 材質を設定する. [詳解]
 
void select (GLint i=0) const
 材質を選択する. [詳解]
 
- 基底クラス gg::GgUniformBuffer< Material > に属する継承公開メンバ関数
 GgUniformBuffer ()
 コンストラクタ. [詳解]
 
 GgUniformBuffer (const Material *data, GLsizei count, GLenum usage=GL_STATIC_DRAW)
 ユニフォームバッファオブジェクトのブロックごとにデータを転送するコンストラクタ. [詳解]
 
 GgUniformBuffer (const Material &data, GLsizei count, GLenum usage=GL_STATIC_DRAW)
 ユニフォームバッファオブジェクトの全ブロックに同じデータを格納するコンストラクタ. [詳解]
 
virtual ~GgUniformBuffer ()
 デストラクタ. [詳解]
 
GLuint getTarget () const
 ユニフォームバッファオブジェクトのターゲットを取り出す. [詳解]
 
GLsizeiptr getStride () const
 ユニフォームバッファオブジェクトのアライメントを考慮したデータの間隔を取り出す. [詳解]
 
GLsizei getCount () const
 データの数を取り出す. [詳解]
 
GLuint getBuffer () const
 ユニフォームバッファオブジェクト名を取り出す. [詳解]
 
void bind () const
 ユニフォームバッファオブジェクトを結合する. [詳解]
 
void unbind () const
 ユニフォームバッファオブジェクトを解放する. [詳解]
 
void * map () const
 ユニフォームバッファオブジェクトをマップする. [詳解]
 
void * map (GLint first, GLsizei count) const
 ユニフォームバッファオブジェクトの指定した範囲をマップする. [詳解]
 
void unmap () const
 バッファオブジェクトをアンマップする. [詳解]
 
void load (const Material *data, GLsizei count, GLenum usage=GL_STATIC_DRAW)
 ユニフォームバッファオブジェクトを確保してブロックごとにデータを転送する. [詳解]
 
void load (const Material &data, GLsizei count, GLenum usage=GL_STATIC_DRAW)
 ユニフォームバッファオブジェクトを確保して全てのブロックに同じデータを格納する. [詳解]
 
void send (const GLvoid *data, GLint offset=0, GLsizei size=sizeof(Material), GLint first=0, GLsizei count=0) const
 ユニフォームバッファオブジェクトを確保してユニフォームバッファオブジェクトのブロックごとのメンバを同じデータで埋める. [詳解]
 
void fill (const GLvoid *data, GLint offset=0, GLsizei size=sizeof(Material), GLint first=0, GLsizei count=0) const
 ユニフォームバッファオブジェクトの全ブロックのメンバーを同じデータを格納する. [詳解]
 
void read (GLvoid *data, GLint offset=0, GLsizei size=sizeof(Material), GLint first=0, GLsizei count=0) const
 ユニフォームバッファオブジェクトからデータを抽出する. [詳解]
 
void copy (GLuint src_buffer, GLint src_first=0, GLint dst_first=0, GLsizei count=0) const
 別のバッファオブジェクトからデータを複写する. [詳解]
 

詳解

三角形に単純な陰影付けを行うシェーダが参照する材質データのユニフォームバッファオブジェクト.

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

構築子と解体子

◆ MaterialBuffer() [1/2]

gg::GgSimpleShader::MaterialBuffer::MaterialBuffer ( const Material material = nullptr,
GLsizei  count = 1,
GLenum  usage = GL_STATIC_DRAW 
)
inline

デフォルトコンストラクタ.

引数
materialGgSimpleShader::Material 型の材質データのポインタ.
countバッファ中の GgSimpleShader::Material 型の材質データの数.
usageバッファの使い方のパターン, glBufferData() の第 4 引数の usage に渡される.

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

◆ MaterialBuffer() [2/2]

gg::GgSimpleShader::MaterialBuffer::MaterialBuffer ( const Material material,
GLsizei  count = 1,
GLenum  usage = GL_STATIC_DRAW 
)
inline

同じデータで埋めるコンストラクタ.

引数
materialGgSimpleShader::Material 型の材質データ.
countバッファ中の GgSimpleShader::Material 型の材質データの数.
usageバッファの使い方のパターン, glBufferData() の第 4 引数の usage に渡される.

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

◆ ~MaterialBuffer()

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

デストラクタ

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

関数詳解

◆ load() [1/2]

void gg::GgSimpleShader::MaterialBuffer::load ( const Material material,
GLint  first = 0,
GLsizei  count = 1 
) const
inline

材質を設定する.

引数
material光源の特性の GgSimpleShader::Material 構造体.
first値を設定する材質データの最初の番号, デフォルトは 0.
count値を設定する材質データの数, デフォルトは 1.

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

呼び出し関係図:

◆ load() [2/2]

void gg::GgSimpleShader::MaterialBuffer::load ( const Material material,
GLint  first = 0,
GLsizei  count = 1 
) const
inline

材質を設定する.

引数
material光源の特性の GgSimpleShader::Material 構造体のポインタ.
first値を設定する材質データの最初の番号, デフォルトは 0.
count値を設定する材質データの数, デフォルトは 1.

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

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

◆ loadAmbient() [1/2]

void gg::GgSimpleShader::MaterialBuffer::loadAmbient ( const GLfloat *  ambient,
GLint  first = 0,
GLsizei  count = 1 
) const
inline

環境光に対する反射係数を設定する.

引数
ambient環境光に対する反射係数を格納した GLfloat 型の 4 要素の配列変数.
first値を設定する材質データの最初の番号, デフォルトは 0.
count値を設定する材質データの数, デフォルトは 1.

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

呼び出し関係図:

◆ loadAmbient() [2/2]

void gg::GgSimpleShader::MaterialBuffer::loadAmbient ( GLfloat  r,
GLfloat  g,
GLfloat  b,
GLfloat  a = 1.0f,
GLint  first = 0,
GLsizei  count = 1 
) const

環境光に対する反射係数を設定する.

引数
r環境光に対する反射係数の赤成分.
g環境光に対する反射係数の緑成分.
b環境光に対する反射係数の青成分.
a環境光に対する反射係数の不透明度, デフォルトは 1.
first値を設定する材質データの最初の番号, デフォルトは 0.
count値を設定する材質データの数, デフォルトは 1.

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

◆ loadAmbientAndDiffuse() [1/2]

void gg::GgSimpleShader::MaterialBuffer::loadAmbientAndDiffuse ( const GLfloat *  color,
GLint  first = 0,
GLsizei  count = 1 
) const

環境光に対する反射係数と拡散反射係数を設定する.

引数
color環境光に対する反射係数と拡散反射係数を格納した GLfloat 型の 4 要素の配列変数.
first値を設定する材質データの最初の番号, デフォルトは 0.
count値を設定する材質データの数, デフォルトは 1.

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

◆ loadAmbientAndDiffuse() [2/2]

void gg::GgSimpleShader::MaterialBuffer::loadAmbientAndDiffuse ( GLfloat  r,
GLfloat  g,
GLfloat  b,
GLfloat  a = 1.0f,
GLint  first = 0,
GLsizei  count = 1 
) const

環境光に対する反射係数と拡散反射係数を設定する.

引数
r環境光に対する反射係数と拡散反射係数の赤成分.
g環境光に対する反射係数と拡散反射係数の緑成分.
b環境光に対する反射係数と拡散反射係数の青成分.
a環境光に対する反射係数と拡散反射係数の不透明度, デフォルトは 1.
first値を設定する材質データの最初の番号, デフォルトは 0.
count値を設定する材質データの数, デフォルトは 1.

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

◆ loadDiffuse() [1/2]

void gg::GgSimpleShader::MaterialBuffer::loadDiffuse ( const GLfloat *  diffuse,
GLint  first = 0,
GLsizei  count = 1 
) const
inline

拡散反射係数を設定する.

引数
diffuse拡散反射係数を格納した GLfloat 型の 4 要素の配列変数.
first値を設定する材質データの最初の番号, デフォルトは 0.
count値を設定する材質データの数, デフォルトは 1.

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

呼び出し関係図:

◆ loadDiffuse() [2/2]

void gg::GgSimpleShader::MaterialBuffer::loadDiffuse ( GLfloat  r,
GLfloat  g,
GLfloat  b,
GLfloat  a = 1.0f,
GLint  first = 0,
GLsizei  count = 1 
) const

拡散反射係数を設定する.

引数
r拡散反射係数の赤成分.
g拡散反射係数の緑成分.
b拡散反射係数の青成分.
a拡散反射係数の不透明度, デフォルトは 1.
first値を設定する材質データの最初の番号, デフォルトは 0.
count値を設定する材質データの数, デフォルトは 1.

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

◆ loadShininess() [1/2]

void gg::GgSimpleShader::MaterialBuffer::loadShininess ( const GLfloat *  shininess,
GLint  first = 0,
GLsizei  count = 1 
) const

輝き係数を設定する.

引数
shininess輝き係数.
first値を設定する材質データの最初の番号, デフォルトは 0.
count値を設定する材質データの数, デフォルトは 1.

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

◆ loadShininess() [2/2]

void gg::GgSimpleShader::MaterialBuffer::loadShininess ( GLfloat  shininess,
GLint  first = 0,
GLsizei  count = 1 
) const

輝き係数を設定する.

引数
shininess輝き係数.
first値を設定する材質データの最初の番号, デフォルトは 0.
count値を設定する材質データの数, デフォルトは 1.

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

◆ loadSpecular() [1/2]

void gg::GgSimpleShader::MaterialBuffer::loadSpecular ( const GLfloat *  specular,
GLint  first = 0,
GLsizei  count = 1 
) const
inline

鏡面反射係数を設定する.

引数
specular鏡面反射係数を格納した GLfloat 型の 4 要素の配列変数.
first値を設定する材質データの最初の番号, デフォルトは 0.
count値を設定する材質データの数, デフォルトは 1.

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

呼び出し関係図:

◆ loadSpecular() [2/2]

void gg::GgSimpleShader::MaterialBuffer::loadSpecular ( GLfloat  r,
GLfloat  g,
GLfloat  b,
GLfloat  a = 1.0f,
GLint  first = 0,
GLsizei  count = 1 
) const

鏡面反射係数を設定する.

引数
r鏡面反射係数の赤成分.
g鏡面反射係数の緑成分.
b鏡面反射係数の青成分.
a鏡面反射係数の不透明度, デフォルトは 1.
first値を設定する材質データの最初の番号, デフォルトは 0.
count値を設定する材質データの数, デフォルトは 1.

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

◆ select()

void gg::GgSimpleShader::MaterialBuffer::select ( GLint  i = 0) const
inline

材質を選択する.

引数
i材質データの uniform block のインデックス.

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

呼び出し関係図:

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