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

バッファオブジェクト. [詳解]

#include <gg.h>

公開メンバ関数

 GgBuffer (GLenum target, const T *data, GLsizei stride, GLsizei count, GLenum usage)
 コンストラクタ. [詳解]
 
virtual ~GgBuffer ()
 デストラクタ. [詳解]
 
 GgBuffer (const GgBuffer< T > &o)=delete
 コピーコンストラクタは使用禁止. [詳解]
 
GgBuffer< T > & operator= (const GgBuffer< T > &o)=delete
 代入演算子は使用禁止. [詳解]
 
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 send (const T *data, GLint first, GLsizei count) const
 すでに確保したバッファオブジェクトにデータを転送する. [詳解]
 
void read (T *data, GLint first, GLsizei count) const
 バッファオブジェクトのデータから抽出する. [詳解]
 
void copy (GLuint src_buffer, GLint src_first=0, GLint dst_first=0, GLsizei count=0) const
 別のバッファオブジェクトからデータを複写する. [詳解]
 

詳解

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

バッファオブジェクト.

頂点属性/頂点インデックス/ユニフォーム変数を格納するバッファオブジェクトの基底クラス.

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

構築子と解体子

◆ GgBuffer() [1/2]

template<typename T >
gg::GgBuffer< T >::GgBuffer ( GLenum  target,
const T *  data,
GLsizei  stride,
GLsizei  count,
GLenum  usage 
)
inline

コンストラクタ.

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

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

◆ ~GgBuffer()

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

デストラクタ.

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

◆ GgBuffer() [2/2]

template<typename T >
gg::GgBuffer< T >::GgBuffer ( const GgBuffer< T > &  o)
delete

コピーコンストラクタは使用禁止.

関数詳解

◆ bind()

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

バッファオブジェクトを結合する.

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

◆ copy()

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

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

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

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

呼び出し関係図:

◆ getBuffer()

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

バッファオブジェクト名を取り出す.

戻り値
このバッファオブジェクト名.

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

◆ getCount()

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

バッファオブジェクトが保持するデータの数を取り出す.

戻り値
このバッファオブジェクトが保持するデータの数.

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

被呼び出し関係図:

◆ getStride()

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

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

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

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

被呼び出し関係図:

◆ getTarget()

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

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

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

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

◆ map() [1/2]

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

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

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

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

◆ map() [2/2]

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

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

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

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

呼び出し関係図:

◆ operator=()

template<typename T >
GgBuffer<T>& gg::GgBuffer< T >::operator= ( const GgBuffer< T > &  o)
delete

代入演算子は使用禁止.

◆ read()

template<typename T >
void gg::GgBuffer< T >::read ( T *  data,
GLint  first,
GLsizei  count 
) const
inline

バッファオブジェクトのデータから抽出する.

引数
data抽出先の領域の先頭のポインタ.
first抽出元のバッファオブジェクトの取り出すデータの領域の先頭の要素番号.
count抽出するデータの数 (0 ならバッファオブジェクト全体).

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

呼び出し関係図:

◆ send()

template<typename T >
void gg::GgBuffer< T >::send ( const T *  data,
GLint  first,
GLsizei  count 
) const
inline

すでに確保したバッファオブジェクトにデータを転送する.

引数
data転送元のデータが格納されてている領域の先頭のポインタ.
first転送先のバッファオブジェクトの先頭の要素番号.
count転送するデータの数 (0 ならバッファオブジェクト全体).

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

呼び出し関係図:

◆ unbind()

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

バッファオブジェクトを解放する.

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

◆ unmap()

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

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

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


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