10 { 0.2f, 0.2f, 0.2f, 1.0f },
11 { 1.0f, 1.0f, 1.0f, 0.0f },
12 { 1.0f, 1.0f, 1.0f, 0.0f },
13 { 0.0f, 0.0f, 1.0f, 1.0f }
22 Window window(
"ggsample01");
34 const GgMatrix mv(
ggLookat(0.0f, 0.0f, 5.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f));
66 glClearColor(0.1f, 0.2f, 0.3f, 0.0f);
69 glEnable(GL_DEPTH_TEST);
70 glEnable(GL_CULL_FACE);
76 glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
87 static float roll, pitch, yaw;
93 ImGui::Begin(
"Control panel");
94 ImGui::Text(
"Frame rate: %6.2f fps", ImGui::GetIO().Framerate);
95 ImGui::SliderAngle(
"Roll", &roll);
96 ImGui::SliderAngle(
"Pitch", &pitch);
97 ImGui::SliderAngle(
"Yaw", &yaw);
98 if (ImGui::Button(
"Quit")) window.
setClose();
109 simple.
use(mp, mv * mm, lightBuffer);
ゲームグラフィックス特論の宿題用補助プログラムのウィンドウ関連の処理.
GLfloat getAspect() const
ウィンドウのアスペクト比を得る.
void setClose(int flag=GLFW_TRUE) const
ウィンドウのクローズフラグを設定する.
GgMatrix getTrackball(int button=GLFW_MOUSE_BUTTON_1) const
トラックボールの回転変換行列を得る.
void swapBuffers()
カラーバッファを入れ替える.
GgMatrix rotateZ(GLfloat a) const
z 軸中心の回転変換を乗じた結果を返す.
GgMatrix rotateX(GLfloat a) const
x 軸中心の回転変換を乗じた結果を返す.
GgMatrix rotateY(GLfloat a) const
y 軸中心の回転変換を乗じた結果を返す.
Wavefront OBJ 形式のファイル (Arrays 形式).
三角形に単純な陰影付けを行うシェーダが参照する光源データのユニフォームバッファオブジェクト.
void use() const
シェーダプログラムの使用を開始する.
GgSimpleShader::Light light
GgMatrix ggLookat(GLfloat ex, GLfloat ey, GLfloat ez, GLfloat tx, GLfloat ty, GLfloat tz, GLfloat ux, GLfloat uy, GLfloat uz)
ビュー変換行列を返す.
GgMatrix ggPerspective(GLfloat fovy, GLfloat aspect, GLfloat zNear, GLfloat zFar)
画角を指定して透視投影変換行列を返す.
三角形に単純な陰影付けを行うシェーダが参照する光源データ.