ゲームグラフィックス特論
公開メンバ関数 | 全メンバ一覧
gg::GgUniformBuffer< T > クラステンプレート

ユニフォームバッファオブジェクト. [詳解]

#include <gg.h>

公開メンバ関数

 GgUniformBuffer ()
 コンストラクタ. [詳解]
 
 GgUniformBuffer (const T *data, GLsizei count, GLenum usage=GL_STATIC_DRAW)
 ユニフォームバッファオブジェクトのブロックごとにデータを転送するコンストラクタ. [詳解]
 
 GgUniformBuffer (const T &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 T *data, GLsizei count, GLenum usage=GL_STATIC_DRAW)
 ユニフォームバッファオブジェクトを確保してブロックごとにデータを転送する. [詳解]
 
void load (const T &data, GLsizei count, GLenum usage=GL_STATIC_DRAW)
 ユニフォームバッファオブジェクトを確保して全てのブロックに同じデータを格納する. [詳解]
 
void send (const GLvoid *data, GLint offset=0, GLsizei size=sizeof(T), GLint first=0, GLsizei count=0) const
 ユニフォームバッファオブジェクトを確保してユニフォームバッファオブジェクトのブロックごとのメンバを同じデータで埋める. [詳解]
 
void fill (const GLvoid *data, GLint offset=0, GLsizei size=sizeof(T), GLint first=0, GLsizei count=0) const
 ユニフォームバッファオブジェクトの全ブロックのメンバーを同じデータを格納する. [詳解]
 
void read (GLvoid *data, GLint offset=0, GLsizei size=sizeof(T), GLint first=0, GLsizei count=0) const
 ユニフォームバッファオブジェクトからデータを抽出する. [詳解]
 
void copy (GLuint src_buffer, GLint src_first=0, GLint dst_first=0, GLsizei count=0) const
 別のバッファオブジェクトからデータを複写する. [詳解]
 

詳解

template<typename T>
class gg::GgUniformBuffer< T >

ユニフォームバッファオブジェクト.

ユニフォーム変数を格納するバッファオブジェクトの基底クラス.

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

構築子と解体子

◆ GgUniformBuffer() [1/3]

template<typename T >
gg::GgUniformBuffer< T >::GgUniformBuffer ( )
inline

コンストラクタ.

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

◆ GgUniformBuffer() [2/3]

template<typename T >
gg::GgUniformBuffer< T >::GgUniformBuffer ( const T *  data,
GLsizei  count,
GLenum  usage = GL_STATIC_DRAW 
)
inline

ユニフォームバッファオブジェクトのブロックごとにデータを転送するコンストラクタ.

引数
dataデータが格納されている領域の先頭のポインタ (nullptr ならデータを転送しない).
countデータの数.
usageバッファオブジェクトの使い方.

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

◆ GgUniformBuffer() [3/3]

template<typename T >
gg::GgUniformBuffer< T >::GgUniformBuffer ( const T &  data,
GLsizei  count,
GLenum  usage = GL_STATIC_DRAW 
)
inline

ユニフォームバッファオブジェクトの全ブロックに同じデータを格納するコンストラクタ.

引数
data格納するデータ.
count格納する数.
usageバッファオブジェクトの使い方.

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

◆ ~GgUniformBuffer()

template<typename T >
virtual gg::GgUniformBuffer< T >::~GgUniformBuffer ( )
inlinevirtual

デストラクタ.

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

関数詳解

◆ bind()

template<typename T >
void gg::GgUniformBuffer< T >::bind ( ) const
inline

ユニフォームバッファオブジェクトを結合する.

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

被呼び出し関係図:

◆ copy()

template<typename T >
void gg::GgUniformBuffer< T >::copy ( GLuint  src_buffer,
GLint  src_first = 0,
GLint  dst_first = 0,
GLsizei  count = 0 
) const
inline

別のバッファオブジェクトからデータを複写する.

引数
src_buffer複写元のバッファオブジェクト名.
src_first複写元 (buffer) の先頭のデータの位置.
dst_first複写先 (getBuffer()) の先頭のデータの位置.
count複写するデータの数 (0 ならバッファオブジェクト全体).

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

呼び出し関係図:

◆ fill()

template<typename T >
void gg::GgUniformBuffer< T >::fill ( const GLvoid *  data,
GLint  offset = 0,
GLsizei  size = sizeof (T),
GLint  first = 0,
GLsizei  count = 0 
) const
inline

ユニフォームバッファオブジェクトの全ブロックのメンバーを同じデータを格納する.

引数
data格納するデータ.
offset格納先のメンバのブロックの先頭からのバイトオフセット.
size格納するデータの一個あたりのバイト数.
first格納先のバッファオブジェクトのブロックの先頭の番号.
count格納するデータの数.

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

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

◆ getBuffer()

template<typename T >
GLuint gg::GgUniformBuffer< T >::getBuffer ( ) const
inline

ユニフォームバッファオブジェクト名を取り出す.

戻り値
このユニフォームバッファオブジェクト名.

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

被呼び出し関係図:

◆ getCount()

template<typename T >
GLsizei gg::GgUniformBuffer< T >::getCount ( ) const
inline

データの数を取り出す.

戻り値
このユニフォームバッファオブジェクトのデータの数.

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

被呼び出し関係図:

◆ getStride()

template<typename T >
GLsizeiptr gg::GgUniformBuffer< T >::getStride ( ) const
inline

ユニフォームバッファオブジェクトのアライメントを考慮したデータの間隔を取り出す.

戻り値
このユニフォームバッファオブジェクトのデータの間隔.

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

被呼び出し関係図:

◆ getTarget()

template<typename T >
GLuint gg::GgUniformBuffer< T >::getTarget ( ) const
inline

ユニフォームバッファオブジェクトのターゲットを取り出す.

戻り値
このユニフォームバッファオブジェクトのターゲット.

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

被呼び出し関係図:

◆ load() [1/2]

template<typename T >
void gg::GgUniformBuffer< T >::load ( const T &  data,
GLsizei  count,
GLenum  usage = GL_STATIC_DRAW 
)
inline

ユニフォームバッファオブジェクトを確保して全てのブロックに同じデータを格納する.

引数
data格納するデータ.
count格納する数.
usageバッファオブジェクトの使い方.

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

呼び出し関係図:

◆ load() [2/2]

template<typename T >
void gg::GgUniformBuffer< T >::load ( const T *  data,
GLsizei  count,
GLenum  usage = GL_STATIC_DRAW 
)
inline

ユニフォームバッファオブジェクトを確保してブロックごとにデータを転送する.

引数
dataデータが格納されている領域の先頭のポインタ (nullptr ならデータを転送しない).
countデータの数.
usageバッファオブジェクトの使い方.

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

呼び出し関係図:

◆ map() [1/2]

template<typename T >
void* gg::GgUniformBuffer< T >::map ( ) const
inline

ユニフォームバッファオブジェクトをマップする.

戻り値
マップしたメモリの先頭のポインタ.

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

◆ map() [2/2]

template<typename T >
void* gg::GgUniformBuffer< T >::map ( GLint  first,
GLsizei  count 
) const
inline

ユニフォームバッファオブジェクトの指定した範囲をマップする.

引数
firstマップする範囲のバッファオブジェクトの先頭からの位置.
countマップするデータの数 (0 ならバッファオブジェクト全体).
戻り値
マップしたメモリの先頭のポインタ.

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

◆ read()

template<typename T >
void gg::GgUniformBuffer< T >::read ( GLvoid *  data,
GLint  offset = 0,
GLsizei  size = sizeof (T),
GLint  first = 0,
GLsizei  count = 0 
) const
inline

ユニフォームバッファオブジェクトからデータを抽出する.

引数
data抽出先の領域の先頭のポインタ.
offset抽出元のユニフォームバッファオブジェクトのメンバのブロックの先頭からのバイトオフセット.
size抽出するデータの一個あたりのバイト数.
first抽出元のユニフォームバッファオブジェクトのブロックの先頭の番号.
count抽出するデータの数 (0 ならユニフォームバッファオブジェクト全体).

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

呼び出し関係図:

◆ send()

template<typename T >
void gg::GgUniformBuffer< T >::send ( const GLvoid *  data,
GLint  offset = 0,
GLsizei  size = sizeof (T),
GLint  first = 0,
GLsizei  count = 0 
) const
inline

ユニフォームバッファオブジェクトを確保してユニフォームバッファオブジェクトのブロックごとのメンバを同じデータで埋める.

引数
dataデータが格納されている領域の先頭のポインタ.
offset格納先のメンバのブロックの先頭からのバイトオフセット.
size格納するデータの一個あたりのバイト数.
first格納先のバッファオブジェクトのブロックの先頭の番号.
count格納するデータの数.

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

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

◆ unbind()

template<typename T >
void gg::GgUniformBuffer< T >::unbind ( ) const
inline

ユニフォームバッファオブジェクトを解放する.

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

◆ unmap()

template<typename T >
void gg::GgUniformBuffer< T >::unmap ( ) const
inline

バッファオブジェクトをアンマップする.

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


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