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

#include <gg.h>

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

公開メンバ関数

 LightBuffer (const Light *light=nullptr, GLsizei count=1, GLenum usage=GL_STATIC_DRAW)
 LightBuffer (const Light &light, GLsizei count=1, GLenum usage=GL_STATIC_DRAW)
 LightBuffer (GgVector ambient, GgVector diffuse, GgVector specular, GgVector position, GLsizei count=1, GLenum usage=GL_STATIC_DRAW)
virtual ~LightBuffer ()
void loadAmbient (GLfloat r, GLfloat g, GLfloat b, GLfloat a=1.0f, GLint first=0, GLsizei count=1) const
void loadAmbient (const GgVector &ambient, 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 GgVector &diffuse, GLint first=0, GLsizei count=1) const
void loadDiffuse (const GLfloat *diffuse, 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 GgVector &specular, GLint first=0, GLsizei count=1) const
void loadSpecular (const GLfloat *specular, GLint first=0, GLsizei count=1) const
void loadColor (const Light &color, GLint first=0, GLsizei count=1) const
void loadPosition (GLfloat x, GLfloat y, GLfloat z, GLfloat w=1.0f, GLint first=0, GLsizei count=1) const
void loadPosition (const GgVector &position, GLint first=0, GLsizei count=1) const
void loadPosition (const GLfloat *position, GLint first=0, GLsizei count=1) const
void loadPosition (const GgVector *position, GLint first=0, GLsizei count=1) const
void load (const Light *light, GLint first=0, GLsizei count=1) const
void load (const Light &light, GLint first=0, GLsizei count=1) const
void select (GLint i=0) const
基底クラス gg::GgUniformBuffer< Light > に属する継承公開メンバ関数
 GgUniformBuffer ()
virtual ~GgUniformBuffer ()
const GLuint & getTarget () const
GLsizeiptr getStride () const
const GLsizei & getCount () const
const GLuint & getBuffer () const
void bind () const
void unbind () const
void * map () const
void unmap () const
void load (const Light *data, GLsizei count, GLenum usage=GL_STATIC_DRAW)
void send (const GLvoid *data, GLint offset=0, GLsizei size=sizeof(Light), GLint first=0, GLsizei count=0) const
void fill (const GLvoid *data, GLint offset=0, GLsizei size=sizeof(Light), GLint first=0, GLsizei count=0) const
void read (GLvoid *data, GLint offset=0, GLsizei size=sizeof(Light), 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.h7766 行目に定義があります。

構築子と解体子

◆ LightBuffer() [1/3]

gg::GgSimpleShader::LightBuffer::LightBuffer ( const Light * light = nullptr,
GLsizei count = 1,
GLenum usage = GL_STATIC_DRAW )
inline

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

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

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

呼び出し関係図:

◆ LightBuffer() [2/3]

gg::GgSimpleShader::LightBuffer::LightBuffer ( const Light & light,
GLsizei count = 1,
GLenum usage = GL_STATIC_DRAW )
inline

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

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

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

呼び出し関係図:

◆ LightBuffer() [3/3]

gg::GgSimpleShader::LightBuffer::LightBuffer ( GgVector ambient,
GgVector diffuse,
GgVector specular,
GgVector position,
GLsizei count = 1,
GLenum usage = GL_STATIC_DRAW )
inline

同じ引数で埋めるコンストラクタ.

引数
ambient光源強度の環境光成分.
diffuse光源強度の拡散反射光成分.
specular光源強度の鏡面反射光成分.
position光源の位置.
countバッファ中の GgSimpleShader::Light 型の光源データの数.
usageバッファの使い方のパターン, glBufferData() の第 4 引数の usage に渡される.

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

呼び出し関係図:

◆ ~LightBuffer()

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

デストラクタ.

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

関数詳解

◆ load() [1/2]

void gg::GgSimpleShader::LightBuffer::load ( const Light & light,
GLint first = 0,
GLsizei count = 1 ) const
inline

光源の色と位置を設定する.

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

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

呼び出し関係図:

◆ load() [2/2]

void gg::GgSimpleShader::LightBuffer::load ( const Light * light,
GLint first = 0,
GLsizei count = 1 ) const
inline

光源の色と位置を設定する.

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

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

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

◆ loadAmbient() [1/3]

void gg::GgSimpleShader::LightBuffer::loadAmbient ( const GgVector & ambient,
GLint first = 0,
GLsizei count = 1 ) const

光源の強度の環境光成分を設定する.

引数
ambient光源の強度の環境光成分を格納した GgVector 型の変数.
first値を設定する光源データの最初の番号, デフォルトは 0.
count値を設定する光源データの数, デフォルトは 1.

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

呼び出し関係図:

◆ loadAmbient() [2/3]

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

光源の強度の環境光成分を設定する.

引数
ambient光源の強度の環境光成分を格納した GLfloat 型の 4 要素の配列変数.
first値を設定する光源データの最初の番号, デフォルトは 0.
count値を設定する光源データの数, デフォルトは 1.

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

呼び出し関係図:

◆ loadAmbient() [3/3]

void gg::GgSimpleShader::LightBuffer::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.cpp5477 行目に定義があります。

呼び出し関係図:

◆ loadColor()

void gg::GgSimpleShader::LightBuffer::loadColor ( const Light & color,
GLint first = 0,
GLsizei count = 1 ) const

光源の色を設定するが位置は変更しない.

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

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

呼び出し関係図:

◆ loadDiffuse() [1/3]

void gg::GgSimpleShader::LightBuffer::loadDiffuse ( const GgVector & diffuse,
GLint first = 0,
GLsizei count = 1 ) const

光源の強度の拡散反射光成分を設定する.

引数
diffuse光源の強度の拡散反射光成分を格納した GgVector 型の変数.
first値を設定する光源データの最初の番号, デフォルトは 0.
count値を設定する光源データの数, デフォルトは 1.

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

呼び出し関係図:

◆ loadDiffuse() [2/3]

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

光源の強度の拡散反射光成分を設定する.

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

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

呼び出し関係図:

◆ loadDiffuse() [3/3]

void gg::GgSimpleShader::LightBuffer::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.cpp5529 行目に定義があります。

呼び出し関係図:

◆ loadPosition() [1/4]

void gg::GgSimpleShader::LightBuffer::loadPosition ( const GgVector & position,
GLint first = 0,
GLsizei count = 1 ) const

光源の位置を設定する.

引数
position光源の位置の同次座標を格納した GgVector 型の変数.
first値を設定する光源データの最初の番号, デフォルトは 0.
count値を設定する光源データの数, デフォルトは 1.

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

呼び出し関係図:

◆ loadPosition() [2/4]

void gg::GgSimpleShader::LightBuffer::loadPosition ( const GgVector * position,
GLint first = 0,
GLsizei count = 1 ) const
inline

光源の位置を設定する.

引数
position光源の位置の同次座標を格納した GgVector 型の配列.
first値を設定する光源データの最初の番号, デフォルトは 0.
count値を設定する光源データの数, デフォルトは 1.

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

呼び出し関係図:

◆ loadPosition() [3/4]

void gg::GgSimpleShader::LightBuffer::loadPosition ( const GLfloat * position,
GLint first = 0,
GLsizei count = 1 ) const
inline

光源の位置を設定する.

引数
position光源の位置の同次座標を格納した GLfloat 型の 4 要素の配列変数.
first値を設定する光源データの最初の番号, デフォルトは 0.
count値を設定する光源データの数, デフォルトは 1.

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

呼び出し関係図:

◆ loadPosition() [4/4]

void gg::GgSimpleShader::LightBuffer::loadPosition ( GLfloat x,
GLfloat y,
GLfloat z,
GLfloat w = 1.0f,
GLint first = 0,
GLsizei count = 1 ) const

光源の位置を設定する.

引数
x光源の位置の x 座標.
y光源の位置の y 座標.
z光源の位置の z 座標.
w光源の位置の w 座標, デフォルトは 1.
first値を設定する光源データの最初の番号, デフォルトは 0.
count値を設定する光源データの数, デフォルトは 1.

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

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

◆ loadSpecular() [1/3]

void gg::GgSimpleShader::LightBuffer::loadSpecular ( const GgVector & specular,
GLint first = 0,
GLsizei count = 1 ) const

光源の強度の鏡面反射光成分を設定する.

引数
specular光源の強度の鏡面反射光成分を格納した GgVector 型の変数.
first値を設定する光源データの最初の番号, デフォルトは 0.
count値を設定する光源データの数, デフォルトは 1.

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

呼び出し関係図:

◆ loadSpecular() [2/3]

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

光源の強度の鏡面反射光成分を設定する.

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

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

呼び出し関係図:

◆ loadSpecular() [3/3]

void gg::GgSimpleShader::LightBuffer::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.cpp5581 行目に定義があります。

呼び出し関係図:

◆ select()

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

光源を選択する.

引数
i光源データの uniform block のインデックス.

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

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

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