- 締切済み
OpenGLで質問があります。
直方体・(立方体も含む)円柱、三角すい、四角すい、円錐から2種類以上と7個以上の物体がからんで楽しめる動きをするものを作成する。各物体の色は7種類以上とする この言っている意味は理解できるんですがどうしてもソースコードで表す事ができなくて、独学でプログラミングを勉強したくてやっているんですが、これだけがどうしてもできません。参考にしたいので教えてください。回答お願いします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- zwi
- ベストアンサー率56% (730/1282)
回答No.2
こちらの 「GLUTによる「手抜き」OpenGL入門」 http://www.wakayama-u.ac.jp/~tokoi/opengl/libglut.html 10.隠面消去処理 を参考に色を塗ってください。 それが出来たら 9.アニメーション で動かします。
- zwi
- ベストアンサー率56% (730/1282)
回答No.1
どうみても課題っぽく見えますが、本当に何かの参考書の問題ですか? まず、手始めとしてはOpenGLで直方体を表示するプログラムは書けますか?
補足
このぐらいはできるんですがどうしても難しくて #include <GL/glut.h> GLdouble vertex[][3] = { { 0.0, 0.0, 0.0 }, /* A */ { 1.0, 0.0, 0.0 }, /* B */ { 1.0, 1.0, 0.0 }, /* C */ { 0.0, 1.0, 0.0 }, /* D */ { 0.0, 0.0, 1.0 }, /* E */ { 1.0, 0.0, 1.0 }, /* F */ { 1.0, 1.0, 1.0 }, /* G */ { 0.0, 1.0, 1.0 } /* H */ }; int edge[][2] = { { 0, 1 }, /* ア (A-B) */ { 1, 2 }, /* イ (B-C) */ { 2, 3 }, /* ウ (C-D) */ { 3, 0 }, /* エ (D-A) */ { 4, 5 }, /* オ (E-F) */ { 5, 6 }, /* カ (F-G) */ { 6, 7 }, /* キ (G-H) */ { 7, 4 }, /* ク (H-E) */ { 0, 4 }, /* ケ (A-E) */ { 1, 5 }, /* コ (B-F) */ { 2, 6 }, /* サ (C-G) */ { 3, 7 } /* シ (D-H) */ }; void display(void) { int i; glClear(GL_COLOR_BUFFER_BIT); /* 図形の描画 */ glColor3d(0.0, 0.0, 0.0); glBegin(GL_LINES); for (i = 0; i < 12; ++i) { glVertex3dv(vertex[edge[i][0]]); glVertex3dv(vertex[edge[i][1]]); } glEnd(); glFlush(); } void resize(int w, int h) { glViewport(0, 0, w, h); glLoadIdentity(); // glOrtho(-2.0, 2.0, -2.0, 2.0, -2.0, 2.0); gluPerspective(30.0, (double)w / (double)h, 1.0, 100.0); //glTranslated(0.0, 0.0, -5.0); gluLookAt(3.0, 4.0, 5.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0); } void init(void) { glClearColor(1.0, 1.0, 1.0, 1.0); } int main(int argc, char *argv[]) { glutInit(&argc, argv); glutInitDisplayMode(GLUT_RGBA); glutCreateWindow(argv[0]); glutDisplayFunc(display); glutReshapeFunc(resize); init(); glutMainLoop(); return 0; }