ゲームグラフィックス特論
 全て クラス 名前空間 ファイル 関数 変数 型定義 フレンド マクロ定義
クラス | 型定義 | 関数 | 変数
gg 名前空間

ゲームグラフィックス特論の宿題用補助プログラムの名前空間 [詳解]

クラス

class  GgMatrix
 変換行列. [詳解]
 
class  GgQuaternion
 四元数. [詳解]
 
class  GgTrackball
 簡易トラックボール処理. [詳解]
 
class  GgTexture
 テクスチャ. [詳解]
 
class  GgColorTexture
 カラーマップ. [詳解]
 
class  GgNormalTexture
 法線マップ. [詳解]
 
class  GgBuffer
 バッファオブジェクト. [詳解]
 
class  GgUniformBuffer
 ユニフォームバッファオブジェクト. [詳解]
 
class  GgShape
 形状データの基底クラス. [詳解]
 
class  GgPoints
 点. [詳解]
 
struct  GgVertex
 三角形の頂点データ. [詳解]
 
class  GgTriangles
 三角形で表した形状データ (Arrays 形式). [詳解]
 
class  GgElements
 三角形で表した形状データ (Elements 形式). [詳解]
 
class  GgShader
 シェーダの基底クラス. [詳解]
 
class  GgPointShader
 点のシェーダ. [詳解]
 
class  GgSimpleShader
 三角形に単純な陰影付けを行うシェーダ. [詳解]
 
class  GgSimpleObj
 Wavefront OBJ 形式のファイル (Arrays 形式). [詳解]
 

型定義

using GgVector = std::array< GLfloat, 4 >
 4 要素の単精度実数の配列 [詳解]
 

関数

void ggInit ()
 ゲームグラフィックス特論の都合にもとづく初期化を行う. [詳解]
 
void _ggError (const char *name=nullptr, unsigned int line=0)
 OpenGL のエラーをチェックする. [詳解]
 
void _ggFBOError (const char *name=nullptr, unsigned int line=0)
 FBO のエラーをチェックする. [詳解]
 
bool ggSaveTga (const char *name, const void *buffer, unsigned int width, unsigned int height, unsigned int depth)
 配列の内容を TGA ファイルに保存する. [詳解]
 
bool ggSaveColor (const char *name)
 カラーバッファの内容を TGA ファイルに保存する. [詳解]
 
bool ggSaveDepth (const char *name)
 デプスバッファの内容を TGA ファイルに保存する. [詳解]
 
bool ggReadImage (const char *name, std::vector< GLubyte > &image, GLsizei *pWidth, GLsizei *pHeight, GLenum *pFormat)
 TGA ファイル (8/16/24/32bit) をメモリに読み込む. [詳解]
 
GLuint ggLoadTexture (const GLvoid *image, GLsizei width, GLsizei height, GLenum format=GL_BGR, GLenum type=GL_UNSIGNED_BYTE, GLenum internal=GL_RGB, GLenum wrap=GL_CLAMP_TO_EDGE)
 テクスチャメモリを確保して画像データをテクスチャとして読み込む. [詳解]
 
GLuint ggLoadImage (const char *name, GLsizei *pWidth=nullptr, GLsizei *pHeight=nullptr, GLenum internal=0, GLenum wrap=GL_CLAMP_TO_EDGE)
 テクスチャメモリを確保して TGA 画像ファイルを読み込む. [詳解]
 
void ggCreateNormalMap (const GLubyte *hmap, GLsizei width, GLsizei height, GLenum format, GLfloat nz, GLenum internal, std::vector< GgVector > &nmap)
 グレースケール画像 (8bit) から法線マップのデータを作成する. [詳解]
 
GLuint ggLoadHeight (const char *name, float nz, GLsizei *pWidth=nullptr, GLsizei *pHeight=nullptr, GLenum internal=GL_RGBA)
 テクスチャメモリを確保して TGA 画像ファイルを読み込み法線マップを作成する. [詳解]
 
GLuint ggCreateShader (const char *vsrc, const char *fsrc=nullptr, const char *gsrc=nullptr, GLint nvarying=0, const char *const varyings[]=nullptr, const char *vtext="vertex shader", const char *ftext="fragment shader", const char *gtext="geometry shader")
 シェーダのソースプログラムの文字列を読み込んでプログラムオブジェクトを作成する. [詳解]
 
GLuint ggLoadShader (const char *vert, const char *frag=nullptr, const char *geom=nullptr, GLint nvarying=0, const char *const varyings[]=nullptr)
 シェーダのソースファイルを読み込んでプログラムオブジェクトを作成する. [詳解]
 
GLuint ggCreateComputeShader (const char *csrc, const char *ctext="compute shader")
 コンピュートシェーダのソースプログラムの文字列を読み込んでプログラムオブジェクトを作成する. [詳解]
 
GLuint ggLoadComputeShader (const char *comp)
 コンピュートシェーダのソースファイルを読み込んでプログラムオブジェクトを作成する. [詳解]
 
GLfloat ggLength3 (const GLfloat *a)
 3 要素の長さ. [詳解]
 
void ggNormalize3 (GLfloat *a)
 3 要素の正規化. [詳解]
 
GLfloat ggDot3 (const GLfloat *a, const GLfloat *b)
 3 要素の内積. [詳解]
 
void ggCross (GLfloat *c, const GLfloat *a, const GLfloat *b)
 3 要素の外積. [詳解]
 
GLfloat ggLength4 (const GLfloat *a)
 4 要素の長さ. [詳解]
 
GLfloat ggLength4 (const GgVector &a)
 GgVector 型の長さ. [詳解]
 
void ggNormalize4 (GLfloat *a)
 4 要素の正規化. [詳解]
 
void ggNormalize4 (GgVector &a)
 GgVector 型の正規化. [詳解]
 
GLfloat ggDot4 (const GLfloat *a, const GLfloat *b)
 4 要素の内積 [詳解]
 
GLfloat ggDot4 (const GgVector &a, const GgVector &b)
 GgVector 型の内積 [詳解]
 
GgMatrix ggIdentity ()
 単位行列を返す. [詳解]
 
GgMatrix ggTranslate (GLfloat x, GLfloat y, GLfloat z, GLfloat w=1.0f)
 平行移動の変換行列を返す. [詳解]
 
GgMatrix ggTranslate (const GLfloat *t)
 平行移動の変換行列を返す. [詳解]
 
GgMatrix ggTranslate (const GgVector &t)
 平行移動の変換行列を返す. [詳解]
 
GgMatrix ggScale (GLfloat x, GLfloat y, GLfloat z, GLfloat w=1.0f)
 拡大縮小の変換行列を返す. [詳解]
 
GgMatrix ggScale (const GLfloat *s)
 拡大縮小の変換行列を返す. [詳解]
 
GgMatrix ggScale (const GgVector &s)
 拡大縮小の変換行列を返す. [詳解]
 
GgMatrix ggRotateX (GLfloat a)
 x 軸中心の回転の変換行列を返す. [詳解]
 
GgMatrix ggRotateY (GLfloat a)
 y 軸中心の回転の変換行列を返す. [詳解]
 
GgMatrix ggRotateZ (GLfloat a)
 z 軸中心の回転の変換行列を返す. [詳解]
 
GgMatrix ggRotate (GLfloat x, GLfloat y, GLfloat z, GLfloat a)
 (x, y, z) 方向のベクトルを軸とする回転の変換行列を乗じた結果を返す. [詳解]
 
GgMatrix ggRotate (const GLfloat *r, GLfloat a)
 r 方向のベクトルを軸とする回転の変換行列を乗じた結果を返す. [詳解]
 
GgMatrix ggRotate (const GgVector &r, GLfloat a)
 r 方向のベクトルを軸とする回転の変換行列を乗じた結果を返す. [詳解]
 
GgMatrix ggRotate (const GLfloat *r)
 r 方向のベクトルを軸とする回転の変換行列を乗じた結果を返す. [詳解]
 
GgMatrix ggRotate (const GgVector &r)
 r 方向のベクトルを軸とする回転の変換行列を乗じた結果を返す. [詳解]
 
GgMatrix ggLookat (GLfloat ex, GLfloat ey, GLfloat ez, GLfloat tx, GLfloat ty, GLfloat tz, GLfloat ux, GLfloat uy, GLfloat uz)
 ビュー変換行列を返す. [詳解]
 
GgMatrix ggLookat (const GLfloat *e, const GLfloat *t, const GLfloat *u)
 ビュー変換行列を返す. [詳解]
 
GgMatrix ggLookat (const GgVector &e, const GgVector &t, const GgVector &u)
 ビュー変換行列を返す. [詳解]
 
GgMatrix ggOrthogonal (GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar)
 直交投影変換行列を返す. [詳解]
 
GgMatrix ggFrustum (GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar)
 透視透視投影変換行列を返す. [詳解]
 
GgMatrix ggPerspective (GLfloat fovy, GLfloat aspect, GLfloat zNear, GLfloat zFar)
 画角を指定して透視投影変換行列を返す. [詳解]
 
GgMatrix ggTranspose (const GgMatrix &m)
 転置行列を返す. [詳解]
 
GgMatrix ggInvert (const GgMatrix &m)
 逆行列を返す. [詳解]
 
GgMatrix ggNormal (const GgMatrix &m)
 法線変換行列を返す. [詳解]
 
GgQuaternion ggQuaternion (GLfloat x, GLfloat y, GLfloat z, GLfloat w)
 四元数を返す [詳解]
 
GgQuaternion ggQuaternion (const GLfloat *a)
 四元数を返す [詳解]
 
GgQuaternion ggIdentityQuaternion ()
 単位四元数を返す [詳解]
 
GgQuaternion ggMatrixQuaternion (const GLfloat *a)
 回転の変換行列 m を表す四元数を返す. [詳解]
 
GgQuaternion ggMatrixQuaternion (const GgMatrix &m)
 回転の変換行列 m を表す四元数を返す. [詳解]
 
GgMatrix ggQuaternionMatrix (const GgQuaternion &q)
 四元数 q の回転の変換行列を返す. [詳解]
 
GgMatrix ggQuaternionTransposeMatrix (const GgQuaternion &q)
 四元数 q の回転の転置した変換行列を返す. [詳解]
 
GgQuaternion ggRotateQuaternion (GLfloat x, GLfloat y, GLfloat z, GLfloat a)
 (x, y, z) を軸として角度 a 回転する四元数を返す. [詳解]
 
GgQuaternion ggRotateQuaternion (const GLfloat *v, GLfloat a)
 (v[0], v[1], v[2]) を軸として角度 a 回転する四元数を返す. [詳解]
 
GgQuaternion ggRotateQuaternion (const GLfloat *v)
 (v[0], v[1], v[2]) を軸として角度 v[3] 回転する四元数を返す. [詳解]
 
GgQuaternion ggEulerQuaternion (GLfloat heading, GLfloat pitch, GLfloat roll)
 オイラー角 (heading, pitch, roll) で与えられた回転を表す四元数を返す. [詳解]
 
GgQuaternion ggEulerQuaternion (const GLfloat *e)
 オイラー角 (e[0], e[1], e[2]) で与えられた回転を表す四元数を返す. [詳解]
 
GgQuaternion ggSlerp (const GLfloat *a, const GLfloat *b, GLfloat t)
 二つの四元数の球面線形補間の結果を返す. [詳解]
 
GgQuaternion ggSlerp (const GgQuaternion &q, const GgQuaternion &r, GLfloat t)
 二つの四元数の球面線形補間の結果を返す. [詳解]
 
GgQuaternion ggSlerp (const GgQuaternion &q, const GLfloat *a, GLfloat t)
 二つの四元数の球面線形補間の結果を返す. [詳解]
 
GgQuaternion ggSlerp (const GLfloat *a, const GgQuaternion &q, GLfloat t)
 二つの四元数の球面線形補間の結果を返す. [詳解]
 
GLfloat ggNorm (const GgQuaternion &q)
 四元数のノルムを返す. [詳解]
 
GgQuaternion ggNormalize (const GgQuaternion &q)
 正規化した四元数を返す. [詳解]
 
GgQuaternion ggConjugate (const GgQuaternion &q)
 共役四元数を返す. [詳解]
 
GgQuaternion ggInvert (const GgQuaternion &q)
 四元数の逆元を求める. [詳解]
 
GgPointsggPointsCube (GLsizei countv, GLfloat length=1.0f, GLfloat cx=0.0f, GLfloat cy=0.0f, GLfloat cz=0.0f)
 点群を立方体状に生成する. [詳解]
 
GgPointsggPointsSphere (GLsizei countv, GLfloat radius=0.5f, GLfloat cx=0.0f, GLfloat cy=0.0f, GLfloat cz=0.0f)
 点群を球状に生成する. [詳解]
 
GgTrianglesggRectangle (GLfloat width=1.0f, GLfloat height=1.0f)
 矩形状に 2 枚の三角形を生成する. [詳解]
 
GgTrianglesggEllipse (GLfloat width=1.0f, GLfloat height=1.0f, GLuint slices=16)
 楕円状に三角形を生成する. [詳解]
 
GgTrianglesggArraysObj (const char *name, bool normalize=false)
 Wavefront OBJ ファイルを読み込む (Arrays 形式) [詳解]
 
GgElementsggElementsObj (const char *name, bool normalize=false)
 Wavefront OBJ ファイル を読み込む (Elements 形式). [詳解]
 
GgElementsggElementsMesh (GLuint slices, GLuint stacks, const GLfloat(*pos)[3], const GLfloat(*norm)[3]=nullptr)
 メッシュ形状を作成する (Elements 形式). [詳解]
 
GgElementsggElementsSphere (GLfloat radius=1.0f, int slices=16, int stacks=8)
 
bool ggLoadSimpleObj (const char *name, std::vector< std::array< GLuint, 3 > > &group, std::vector< GgSimpleShader::Material > &material, std::vector< GgVertex > &vert, bool normalize=false)
 三角形分割された OBJ ファイルと MTL ファイルを読み込む (Arrays 形式) [詳解]
 
bool ggLoadSimpleObj (const char *name, std::vector< std::array< GLuint, 3 > > &group, std::vector< GgSimpleShader::Material > &material, std::vector< GgVertex > &vert, std::vector< GLuint > &face, bool normalize=false)
 三角形分割された OBJ ファイルを読み込む (Elements 形式). [詳解]
 

変数

GLint ggBufferAlignment
 使用している GPU のバッファオブジェクトのアライメント [詳解]
 

詳解

ゲームグラフィックス特論の宿題用補助プログラムの名前空間

型定義詳解

using gg::GgVector = typedef std::array<GLfloat, 4>

4 要素の単精度実数の配列

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

関数詳解

void gg::_ggError ( const char *  name = nullptr,
unsigned int  line = 0 
)

OpenGL のエラーをチェックする.

OpenGL の API を呼び出し直後に実行すればエラーのあるときにメッセージを表示する.

引数
msgエラー発生時に標準エラー出力に出力する文字列. nullptr なら何も出力しない.

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

void gg::_ggFBOError ( const char *  name = nullptr,
unsigned int  line = 0 
)

FBO のエラーをチェックする.

FBO の API を呼び出し直後に実行すればエラーのあるときにメッセージを表示する.

引数
msgエラー発生時に標準エラー出力に出力する文字列. nullptr なら何も出力しない.

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

gg::GgTriangles * gg::ggArraysObj ( const char *  name,
bool  normalize = false 
)

Wavefront OBJ ファイルを読み込む (Arrays 形式)

三角形分割された Wavefront OBJ ファイルを読み込んで GgArrays 形式の三角形データを生成する.

引数
nameファイル名.
normalizetrue なら大きさを正規化.

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

呼び出し関係図:

GgQuaternion gg::ggConjugate ( const GgQuaternion &  q)
inline

共役四元数を返す.

引数
qGgQuaternion 型の四元数.
戻り値
四元数 q の共役四元数.

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

呼び出し関係図:

GLuint gg::ggCreateComputeShader ( const char *  csrc,
const char *  ctext = "compute shader" 
)

コンピュートシェーダのソースプログラムの文字列を読み込んでプログラムオブジェクトを作成する.

引数
csrcコンピュートシェーダのソースプログラムの文字列.
ctextコンピュートシェーダのコンパイル時のメッセージに追加する文字列.
戻り値
プログラムオブジェクトのプログラム名 (作成できなければ 0).

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

被呼び出し関係図:

void gg::ggCreateNormalMap ( const GLubyte *  hmap,
GLsizei  width,
GLsizei  height,
GLenum  format,
GLfloat  nz,
GLenum  internal,
std::vector< GgVector > &  nmap 
)

グレースケール画像 (8bit) から法線マップのデータを作成する.

引数
hmapグレースケール画像のデータ.
width高さマップのグレースケール画像 hmap の横の画素数.
height高さマップのグレースケール画像 hmap の縦の画素数.
strideデータの間隔.
nz法線の z 成分の割合.
法線マップを格納するテクスチャの内部フォーマット.
nmap法線マップを格納する vector.

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

呼び出し関係図:

被呼び出し関係図:

GLuint gg::ggCreateShader ( const char *  vsrc,
const char *  fsrc = nullptr,
const char *  gsrc = nullptr,
GLint  nvarying = 0,
const char *const  varyings[] = nullptr,
const char *  vtext = "vertex shader",
const char *  ftext = "fragment shader",
const char *  gtext = "geometry shader" 
)

シェーダのソースプログラムの文字列を読み込んでプログラムオブジェクトを作成する.

引数
vsrcバーテックスシェーダのソースプログラムの文字列.
fsrcフラグメントシェーダのソースプログラムの文字列 (nullptr なら不使用).
gsrcジオメトリシェーダのソースプログラムの文字列 (nullptr なら不使用).
nvaryingフィードバックする varying 変数の数 (0 なら不使用).
varyingsフィードバックする varying 変数のリスト (nullptr なら不使用).
vtextバーテックスシェーダのコンパイル時のメッセージに追加する文字列.
ftextフラグメントシェーダのコンパイル時のメッセージに追加する文字列.
gtextジオメトリシェーダのコンパイル時のメッセージに追加する文字列.
戻り値
プログラムオブジェクトのプログラム名 (作成できなければ 0).

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

被呼び出し関係図:

void gg::ggCross ( GLfloat *  c,
const GLfloat *  a,
const GLfloat *  b 
)
inline

3 要素の外積.

引数
aGLfloat 型の 3 要素の配列変数.
bGLfloat 型の 3 要素の配列変数.
c結果を格納する GLfloat 型の 3 要素の配列変数.

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

GLfloat gg::ggDot3 ( const GLfloat *  a,
const GLfloat *  b 
)
inline

3 要素の内積.

引数
aGLfloat 型の 3 要素の配列変数.
bGLfloat 型の 3 要素の配列変数.

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

被呼び出し関係図:

GLfloat gg::ggDot4 ( const GLfloat *  a,
const GLfloat *  b 
)
inline

4 要素の内積

引数
aGLfloat 型の 4 要素の配列変数.
bGLfloat 型の 4 要素の配列変数.

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

被呼び出し関係図:

GLfloat gg::ggDot4 ( const GgVector &  a,
const GgVector &  b 
)
inline

GgVector 型の内積

引数
aGgVector 型の変数.
bGgVector 型の変数.

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

gg::GgElements * gg::ggElementsMesh ( GLuint  slices,
GLuint  stacks,
const GLfloat(*)  pos[3],
const GLfloat(*)  norm[3] = nullptr 
)

メッシュ形状を作成する (Elements 形式).

メッシュ状に GgElements 形式の三角形データを生成する.

引数
slicesメッシュの横方向の分割数.
stacksメッシュの縦方向の分割数.
posメッシュの頂点の位置.
normメッシュの頂点の法線.

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

呼び出し関係図:

被呼び出し関係図:

gg::GgElements * gg::ggElementsObj ( const char *  name,
bool  normalize = false 
)

Wavefront OBJ ファイル を読み込む (Elements 形式).

三角形分割された Wavefront OBJ ファイル を読み込んで GgElements 形式の三角形データを生成する.

引数
nameファイル名.
normalizetrue なら大きさを正規化.

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

呼び出し関係図:

gg::GgElements * gg::ggElementsSphere ( GLfloat  radius = 1.0f,
int  slices = 16,
int  stacks = 8 
)

球状に三角形データを生成する (Elements 形式).

球状に GgElements 形式の三角形データを生成する.

引数
radius球の半径.
slices球の経度方向の分割数.
stacks球の緯度方向の分割数.

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

呼び出し関係図:

gg::GgTriangles * gg::ggEllipse ( GLfloat  width = 1.0f,
GLfloat  height = 1.0f,
GLuint  slices = 16 
)

楕円状に三角形を生成する.

引数
width楕円の横幅.
height楕円の高さ.
slices楕円の分割数.

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

GgQuaternion gg::ggEulerQuaternion ( GLfloat  heading,
GLfloat  pitch,
GLfloat  roll 
)
inline

オイラー角 (heading, pitch, roll) で与えられた回転を表す四元数を返す.

引数
headingy 軸中心の回転角.
pitchx 軸中心の回転角.
rollz 軸中心の回転角.
戻り値
回転を表す四元数.

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

呼び出し関係図:

被呼び出し関係図:

GgQuaternion gg::ggEulerQuaternion ( const GLfloat *  e)
inline

オイラー角 (e[0], e[1], e[2]) で与えられた回転を表す四元数を返す.

引数
eオイラー角を表す GLfloat 型の 3 要素の配列変数 (heading, pitch, roll).
戻り値
回転を表す四元数.

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

呼び出し関係図:

GgMatrix gg::ggFrustum ( GLfloat  left,
GLfloat  right,
GLfloat  bottom,
GLfloat  top,
GLfloat  zNear,
GLfloat  zFar 
)
inline

透視透視投影変換行列を返す.

引数
leftウィンドウの左端の位置.
rightウィンドウの右端の位置.
bottomウィンドウの下端の位置.
topウィンドウの上端の位置.
zNear視点から前方面までの位置.
zFar視点から後方面までの位置.
戻り値
求めた透視投影変換行列.

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

呼び出し関係図:

GgMatrix gg::ggIdentity ( )
inline

単位行列を返す.

戻り値
単位行列

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

呼び出し関係図:

GgQuaternion gg::ggIdentityQuaternion ( )
inline

単位四元数を返す

戻り値
単位四元数.

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

呼び出し関係図:

void gg::ggInit ( )

ゲームグラフィックス特論の都合にもとづく初期化を行う.

Windows で OpenGL 1.2 以降の API を有効化する.

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

GgMatrix gg::ggInvert ( const GgMatrix &  m)
inline

逆行列を返す.

引数
m元の変換行列.
戻り値
m の逆行列.

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

呼び出し関係図:

GgQuaternion gg::ggInvert ( const GgQuaternion &  q)
inline

四元数の逆元を求める.

引数
qGgQuaternion 型の四元数.
戻り値
四元数 q の逆元.

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

呼び出し関係図:

GLfloat gg::ggLength3 ( const GLfloat *  a)

3 要素の長さ.

引数
aGLfloat 型の 3 要素の配列変数.

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

呼び出し関係図:

被呼び出し関係図:

GLfloat gg::ggLength4 ( const GLfloat *  a)

4 要素の長さ.

引数
aGLfloat 型の 4 要素の配列変数.

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

呼び出し関係図:

被呼び出し関係図:

GLfloat gg::ggLength4 ( const GgVector &  a)
inline

GgVector 型の長さ.

引数
aGgVector 型の変数.

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

呼び出し関係図:

GLuint gg::ggLoadComputeShader ( const char *  comp)

コンピュートシェーダのソースファイルを読み込んでプログラムオブジェクトを作成する.

引数
vertコンピュートシェーダのソースファイル名.
戻り値
プログラムオブジェクトのプログラム名 (作成できなければ 0).

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

呼び出し関係図:

GLuint gg::ggLoadHeight ( const char *  name,
float  nz,
GLsizei *  pWidth = nullptr,
GLsizei *  pHeight = nullptr,
GLenum  internal = GL_RGBA 
)

テクスチャメモリを確保して TGA 画像ファイルを読み込み法線マップを作成する.

引数
name読み込むファイル名.
nz法線の z 成分の割合.
pWidth読みだした画像ファイルの横の画素数の格納先のポインタ (nullptr なら格納しない). ++
pHeight読みだした画像ファイルの縦の画素数の格納先のポインタ (nullptr なら格納しない).
internalglTexImage2D() に指定するテクスチャの内部フォーマット.
戻り値
テクスチャの作成に成功すればテクスチャ名, 失敗すれば 0.

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

呼び出し関係図:

GLuint gg::ggLoadImage ( const char *  name,
GLsizei *  pWidth = nullptr,
GLsizei *  pHeight = nullptr,
GLenum  internal = 0,
GLenum  wrap = GL_CLAMP_TO_EDGE 
)

テクスチャメモリを確保して TGA 画像ファイルを読み込む.

引数
name読み込むファイル名.
pWidth読みだした画像ファイルの横の画素数の格納先のポインタ (nullptr なら格納しない). ++
pHeight読みだした画像ファイルの縦の画素数の格納先のポインタ (nullptr なら格納しない).
internalglTexImage2D() に指定するテクスチャの内部フォーマット. 0 なら外部フォーマットに合わせる.
wrapテクスチャのラッピングモード, デフォルトは GL_CLAMP_TO_EDGE.
戻り値
テクスチャの作成に成功すればテクスチャ名, 失敗すれば 0.

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

呼び出し関係図:

GLuint gg::ggLoadShader ( const char *  vert,
const char *  frag = nullptr,
const char *  geom = nullptr,
GLint  nvarying = 0,
const char *const  varyings[] = nullptr 
)

シェーダのソースファイルを読み込んでプログラムオブジェクトを作成する.

引数
vertバーテックスシェーダのソースファイル名.
fragフラグメントシェーダのソースファイル名 (nullptr なら不使用).
geomジオメトリシェーダのソースファイル名 (nullptr なら不使用).
nvaryingフィードバックする varying 変数の数 (0 なら不使用).
varyingsフィードバックする varying 変数のリスト (nullptr なら不使用).
戻り値
プログラムオブジェクトのプログラム名 (作成できなければ 0).

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

呼び出し関係図:

bool gg::ggLoadSimpleObj ( const char *  name,
std::vector< std::array< GLuint, 3 > > &  group,
std::vector< GgSimpleShader::Material > &  material,
std::vector< GgVertex > &  vert,
bool  normalize = false 
)

三角形分割された OBJ ファイルと MTL ファイルを読み込む (Arrays 形式)

引数
name読み込む Wavefront OBJ ファイル名.
group読み込んだデータのポリゴングループごとの最初の三角形の番号と三角形数・材質番号.
material読み込んだデータのポリゴングループごとの GgSimpleShader::Material 型の材質.
vert読み込んだデータの頂点属性.
normalizetrue なら読み込んだデータの大きさを正規化する.
戻り値
ファイルの読み込みに成功したら true.

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

被呼び出し関係図:

bool gg::ggLoadSimpleObj ( const char *  name,
std::vector< std::array< GLuint, 3 > > &  group,
std::vector< GgSimpleShader::Material > &  material,
std::vector< GgVertex > &  vert,
std::vector< GLuint > &  face,
bool  normalize = false 
)

三角形分割された OBJ ファイルを読み込む (Elements 形式).

引数
name読み込む Wavefront OBJ ファイル名.
group読み込んだデータのポリゴングループごとの最初の三角形の番号と三角形数・材質番号.
material読み込んだデータのポリゴングループごとの材質.
vert読み込んだデータの頂点属性.
face読み込んだデータの三角形の頂点インデックス.
normalizetrue なら読み込んだデータの大きさを正規化する.
戻り値
ファイルの読み込みに成功したら true.

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

GLuint gg::ggLoadTexture ( const GLvoid *  image,
GLsizei  width,
GLsizei  height,
GLenum  format = GL_BGR,
GLenum  type = GL_UNSIGNED_BYTE,
GLenum  internal = GL_RGB,
GLenum  wrap = GL_CLAMP_TO_EDGE 
)

テクスチャメモリを確保して画像データをテクスチャとして読み込む.

引数
imageテクスチャとして読み込むデータ. nullptr ならテクスチャメモリの確保のみを行う.
widthテクスチャとして読み込むデータ image の横の画素数.
heightテクスチャとして読み込むデータ image の縦の画素数.
formatimage のフォーマット.
typeimage のデータ型.
internalテクスチャの内部フォーマット.
wrapテクスチャのラッピングモード, デフォルトは GL_CLAMP_TO_EDGE.
戻り値
テクスチャの作成に成功すればテクスチャ名, 失敗すれば 0.

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

被呼び出し関係図:

GgMatrix gg::ggLookat ( GLfloat  ex,
GLfloat  ey,
GLfloat  ez,
GLfloat  tx,
GLfloat  ty,
GLfloat  tz,
GLfloat  ux,
GLfloat  uy,
GLfloat  uz 
)
inline

ビュー変換行列を返す.

引数
ex視点の位置の x 座標値.
ey視点の位置の y 座標値.
ez視点の位置の z 座標値.
tx目標点の位置の x 座標値.
ty目標点の位置の y 座標値.
tz目標点の位置の z 座標値.
ux上方向のベクトルの x 成分.
uy上方向のベクトルの y 成分.
uz上方向のベクトルの z 成分.
戻り値
求めたビュー変換行列.

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

呼び出し関係図:

GgMatrix gg::ggLookat ( const GLfloat *  e,
const GLfloat *  t,
const GLfloat *  u 
)
inline

ビュー変換行列を返す.

引数
e視点の位置を格納した GLfloat 型の 3 要素の配列変数.
t目標点の位置を格納した GLfloat 型の 3 要素の配列変数.
u上方向のベクトルを格納した GLfloat 型の 3 要素の配列変数.
戻り値
求めたビュー変換行列.

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

呼び出し関係図:

GgMatrix gg::ggLookat ( const GgVector &  e,
const GgVector &  t,
const GgVector &  u 
)
inline

ビュー変換行列を返す.

引数
e視点の位置を格納した GgVector 型の変数.
t目標点の位置を格納した GgVector 型の変数.
u上方向のベクトルを格納した GgVector 型の変数.
戻り値
求めたビュー変換行列.

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

呼び出し関係図:

GgQuaternion gg::ggMatrixQuaternion ( const GLfloat *  a)
inline

回転の変換行列 m を表す四元数を返す.

引数
mGLfloat 型の 16 要素の配列変数.
戻り値
m による回転の変換に相当する四元数.

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

呼び出し関係図:

被呼び出し関係図:

GgQuaternion gg::ggMatrixQuaternion ( const GgMatrix &  m)
inline

回転の変換行列 m を表す四元数を返す.

引数
mGgMatrix 型の変換行列.
戻り値
m による回転の変換に相当する四元数.

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

呼び出し関係図:

GLfloat gg::ggNorm ( const GgQuaternion &  q)
inline

四元数のノルムを返す.

引数
qGgQuaternion 型の四元数.
戻り値
四元数 q のノルム.

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

呼び出し関係図:

GgMatrix gg::ggNormal ( const GgMatrix &  m)
inline

法線変換行列を返す.

引数
m元の変換行列.
戻り値
m の法線変換行列.

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

呼び出し関係図:

GgQuaternion gg::ggNormalize ( const GgQuaternion &  q)
inline

正規化した四元数を返す.

引数
qGgQuaternion 型の四元数.
戻り値
四元数 q を正規化した四元数.

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

呼び出し関係図:

void gg::ggNormalize3 ( GLfloat *  a)
inline

3 要素の正規化.

引数
aGLfloat 型の 3 要素の配列変数.

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

呼び出し関係図:

被呼び出し関係図:

void gg::ggNormalize4 ( GLfloat *  a)
inline

4 要素の正規化.

引数
aGLfloat 型の 4 要素の配列変数.

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

呼び出し関係図:

被呼び出し関係図:

void gg::ggNormalize4 ( GgVector &  a)
inline

GgVector 型の正規化.

引数
aGgVector 型の変数

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

呼び出し関係図:

GgMatrix gg::ggOrthogonal ( GLfloat  left,
GLfloat  right,
GLfloat  bottom,
GLfloat  top,
GLfloat  zNear,
GLfloat  zFar 
)
inline

直交投影変換行列を返す.

引数
leftウィンドウの左端の位置.
rightウィンドウの右端の位置.
bottomウィンドウの下端の位置.
topウィンドウの上端の位置.
zNear視点から前方面までの位置.
zFar視点から後方面までの位置.
戻り値
求めた直交投影変換行列.

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

呼び出し関係図:

GgMatrix gg::ggPerspective ( GLfloat  fovy,
GLfloat  aspect,
GLfloat  zNear,
GLfloat  zFar 
)
inline

画角を指定して透視投影変換行列を返す.

引数
fovyy 方向の画角.
aspect縦横比.
zNear視点から前方面までの位置.
zFar視点から後方面までの位置.
戻り値
求めた透視投影変換行列.

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

呼び出し関係図:

gg::GgPoints * gg::ggPointsCube ( GLsizei  countv,
GLfloat  length = 1.0f,
GLfloat  cx = 0.0f,
GLfloat  cy = 0.0f,
GLfloat  cz = 0.0f 
)

点群を立方体状に生成する.

引数
countv生成する点の数.
length点群を生成する立方体の一辺の長さ.
cx点群の中心の x 座標.
cy点群の中心の y 座標.
cz点群の中心の z 座標.

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

gg::GgPoints * gg::ggPointsSphere ( GLsizei  countv,
GLfloat  radius = 0.5f,
GLfloat  cx = 0.0f,
GLfloat  cy = 0.0f,
GLfloat  cz = 0.0f 
)

点群を球状に生成する.

引数
countv生成する点の数.
radius点群を生成する半径.
cx点群の中心の x 座標.
cy点群の中心の y 座標.
cz点群の中心の z 座標.

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

GgQuaternion gg::ggQuaternion ( GLfloat  x,
GLfloat  y,
GLfloat  z,
GLfloat  w 
)
inline

四元数を返す

引数
x四元数の x 要素.
y四元数の y 要素.
z四元数の z 要素.
w四元数の w 要素.
戻り値
四元数.

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

呼び出し関係図:

被呼び出し関係図:

GgQuaternion gg::ggQuaternion ( const GLfloat *  a)
inline

四元数を返す

引数
aGLfloat 型の GLfloat 型の 4 要素の配列変数に格納した四元数.
戻り値
四元数.

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

呼び出し関係図:

GgMatrix gg::ggQuaternionMatrix ( const GgQuaternion &  q)
inline

四元数 q の回転の変換行列を返す.

引数
q元の四元数.
戻り値
四元数 q が表す回転に相当する GgMatrix 型の変換行列.

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

呼び出し関係図:

GgMatrix gg::ggQuaternionTransposeMatrix ( const GgQuaternion &  q)
inline

四元数 q の回転の転置した変換行列を返す.

引数
q元の四元数.
戻り値
四元数 q が表す回転に相当する転置した GgMatrix 型の変換行列.

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

呼び出し関係図:

bool gg::ggReadImage ( const char *  name,
std::vector< GLubyte > &  image,
GLsizei *  pWidth,
GLsizei *  pHeight,
GLenum *  pFormat 
)

TGA ファイル (8/16/24/32bit) をメモリに読み込む.

引数
name読み込むファイル名.
image読み込んだデータを格納する vector.
pWidth読み込んだ画像の横の画素数の格納先のポインタ. nullptr なら格納しない.
pHeight読み込んだ画像の縦の画素数の格納先のポインタ. nullptr なら格納しない.
pFormat読み込んだファイルの書式 (GL_RED, G_RG, GL_BGR, G_BGRA) の格納先のポインタ. nullptr なら格納しない.
戻り値
読み込みに成功すれば true, 失敗すれば false.

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

被呼び出し関係図:

gg::GgTriangles * gg::ggRectangle ( GLfloat  width = 1.0f,
GLfloat  height = 1.0f 
)

矩形状に 2 枚の三角形を生成する.

引数
width矩形の横幅.
height矩形の高さ.

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

GgMatrix gg::ggRotate ( GLfloat  x,
GLfloat  y,
GLfloat  z,
GLfloat  a 
)
inline

(x, y, z) 方向のベクトルを軸とする回転の変換行列を乗じた結果を返す.

引数
x回転軸の x 成分.
y回転軸の y 成分.
z回転軸の z 成分.
a回転角.
戻り値
(x, y, z) を軸にさらに a 回転する変換行列.

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

呼び出し関係図:

GgMatrix gg::ggRotate ( const GLfloat *  r,
GLfloat  a 
)
inline

r 方向のベクトルを軸とする回転の変換行列を乗じた結果を返す.

引数
r回転軸のベクトルを表す GLfloat 型の 3 要素の配列変数.
a回転角.
戻り値
r を軸に a だけ回転する変換行列.

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

呼び出し関係図:

GgMatrix gg::ggRotate ( const GgVector &  r,
GLfloat  a 
)
inline

r 方向のベクトルを軸とする回転の変換行列を乗じた結果を返す.

引数
r回転軸のベクトルを表す GgVector 型の変数.
a回転角.
戻り値
r を軸に a だけ回転する変換行列.

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

呼び出し関係図:

GgMatrix gg::ggRotate ( const GLfloat *  r)
inline

r 方向のベクトルを軸とする回転の変換行列を乗じた結果を返す.

引数
r回転軸のベクトルと回転角を表す GLfloat 型の 4 要素の配列変数.
戻り値
(r[0], r[1], r[2]) を軸に r[3] だけ回転する変換行列.

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

呼び出し関係図:

GgMatrix gg::ggRotate ( const GgVector &  r)
inline

r 方向のベクトルを軸とする回転の変換行列を乗じた結果を返す.

引数
r回転軸のベクトルと回転角を表す GgVector 型の変数.
戻り値
(r[0], r[1], r[2]) を軸に r[3] だけ回転する変換行列.

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

呼び出し関係図:

GgQuaternion gg::ggRotateQuaternion ( GLfloat  x,
GLfloat  y,
GLfloat  z,
GLfloat  a 
)
inline

(x, y, z) を軸として角度 a 回転する四元数を返す.

引数
x軸ベクトルの x 成分.
y軸ベクトルの y 成分.
z軸ベクトルの z 成分.
a回転角.
戻り値
回転を表す四元数.

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

呼び出し関係図:

被呼び出し関係図:

GgQuaternion gg::ggRotateQuaternion ( const GLfloat *  v,
GLfloat  a 
)
inline

(v[0], v[1], v[2]) を軸として角度 a 回転する四元数を返す.

引数
v軸ベクトルを表す GLfloat 型の 3 要素の配列変数.
a回転角.
戻り値
回転を表す四元数.

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

呼び出し関係図:

GgQuaternion gg::ggRotateQuaternion ( const GLfloat *  v)
inline

(v[0], v[1], v[2]) を軸として角度 v[3] 回転する四元数を返す.

引数
v軸ベクトルを表す GLfloat 型の 4 要素の配列変数.
戻り値
回転を表す四元数.

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

呼び出し関係図:

GgMatrix gg::ggRotateX ( GLfloat  a)
inline

x 軸中心の回転の変換行列を返す.

引数
a回転角.
戻り値
x 軸中心に a だけ回転する変換行列.

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

呼び出し関係図:

GgMatrix gg::ggRotateY ( GLfloat  a)
inline

y 軸中心の回転の変換行列を返す.

引数
a回転角.
戻り値
y 軸中心に a だけ回転する変換行列.

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

呼び出し関係図:

GgMatrix gg::ggRotateZ ( GLfloat  a)
inline

z 軸中心の回転の変換行列を返す.

引数
a回転角.
戻り値
z 軸中心に a だけ回転する変換行列.

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

呼び出し関係図:

bool gg::ggSaveColor ( const char *  name)

カラーバッファの内容を TGA ファイルに保存する.

引数
name保存するファイル名.
戻り値
保存に成功すれば true, 失敗すれば false.

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

呼び出し関係図:

bool gg::ggSaveDepth ( const char *  name)

デプスバッファの内容を TGA ファイルに保存する.

引数
name保存するファイル名.
戻り値
保存に成功すれば true, 失敗すれば false.

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

呼び出し関係図:

bool gg::ggSaveTga ( const char *  name,
const void *  buffer,
unsigned int  width,
unsigned int  height,
unsigned int  depth 
)

配列の内容を TGA ファイルに保存する.

引数
name保存するファイル名.
buffer画像データを格納した配列.
width画像の横の画素数.
height画像の縦の画素数.
depth1画素のバイト数.
戻り値
保存に成功すれば true, 失敗すれば false.

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

被呼び出し関係図:

GgMatrix gg::ggScale ( GLfloat  x,
GLfloat  y,
GLfloat  z,
GLfloat  w = 1.0f 
)
inline

拡大縮小の変換行列を返す.

引数
xx 方向の拡大率.
yy 方向の拡大率.
zz 方向の拡大率.
w拡大率のスケールファクタ (= 1.0f).
戻り値
拡大縮小の変換行列.

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

呼び出し関係図:

GgMatrix gg::ggScale ( const GLfloat *  s)
inline

拡大縮小の変換行列を返す.

引数
s拡大率の GLfloat 型の 3 要素の配列変数 (x, y, z).
戻り値
拡大縮小の変換行列.

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

呼び出し関係図:

GgMatrix gg::ggScale ( const GgVector &  s)
inline

拡大縮小の変換行列を返す.

引数
s拡大率の GgVector 型の変数.
戻り値
拡大縮小の変換行列.

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

呼び出し関係図:

GgQuaternion gg::ggSlerp ( const GLfloat *  a,
const GLfloat *  b,
GLfloat  t 
)
inline

二つの四元数の球面線形補間の結果を返す.

引数
a四元数を格納した GLfloat 型の 4 要素の配列変数.
b四元数を格納した GLfloat 型の 4 要素の配列変数.
t補間パラメータ.
戻り値
a, b を t で内分した四元数.

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

呼び出し関係図:

被呼び出し関係図:

GgQuaternion gg::ggSlerp ( const GgQuaternion &  q,
const GgQuaternion &  r,
GLfloat  t 
)
inline

二つの四元数の球面線形補間の結果を返す.

引数
qGgQuaternion 型の四元数.
rGgQuaternion 型の四元数.
t補間パラメータ.
戻り値
q, r を t で内分した四元数.

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

呼び出し関係図:

GgQuaternion gg::ggSlerp ( const GgQuaternion &  q,
const GLfloat *  a,
GLfloat  t 
)
inline

二つの四元数の球面線形補間の結果を返す.

引数
qGgQuaternion 型の四元数.
a四元数を格納した GLfloat 型の 4 要素の配列変数.
t補間パラメータ.
戻り値
q, a を t で内分した四元数.

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

呼び出し関係図:

GgQuaternion gg::ggSlerp ( const GLfloat *  a,
const GgQuaternion &  q,
GLfloat  t 
)
inline

二つの四元数の球面線形補間の結果を返す.

引数
a四元数を格納した GLfloat 型の 4 要素の配列変数.
qGgQuaternion 型の四元数.
t補間パラメータ.
戻り値
a, q を t で内分した四元数.

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

呼び出し関係図:

GgMatrix gg::ggTranslate ( GLfloat  x,
GLfloat  y,
GLfloat  z,
GLfloat  w = 1.0f 
)
inline

平行移動の変換行列を返す.

引数
xx 方向の移動量.
yy 方向の移動量.
zz 方向の移動量.
w移動量のスケールファクタ (= 1.0f).
戻り値
平行移動の変換行列.

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

呼び出し関係図:

GgMatrix gg::ggTranslate ( const GLfloat *  t)
inline

平行移動の変換行列を返す.

引数
t移動量の GLfloat 型の 3 要素の配列変数 (x, y, z).
戻り値
平行移動の変換行列

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

呼び出し関係図:

GgMatrix gg::ggTranslate ( const GgVector &  t)
inline

平行移動の変換行列を返す.

引数
t移動量の GgVector 型の変数.
戻り値
平行移動の変換行列

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

呼び出し関係図:

GgMatrix gg::ggTranspose ( const GgMatrix &  m)
inline

転置行列を返す.

引数
m元の変換行列.
戻り値
m の転置行列.

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

呼び出し関係図:

変数詳解

GLint gg::ggBufferAlignment

使用している GPU のバッファオブジェクトのアライメント

使用している GPU のバッファアライメント