落書きノート

ふと自分が気になった事を書いてます

OpenGL

OpenGL ウォークスルー問題 再トライそして完成

C/C++,OpenGLのウォークスルー問題です。懲りずにやりました。結果、出来ました。gluLookAt関数じゃないと出来ないと思ってましたけど、glRotate関数とglTranslate関数でも出来るものですね。微調整もしました。個人的には完璧に出来たと思います。実験とは…

C言語でOpenGLの課題を解いてみる

クリエイティブ・コーディングというCG作品(シェーダ、アニメーション含む)をプログラミングで作るという新しい分野に取り組もうと思ってます。ウェブでブログを参考にしながら作品のパターンを学習しています。田所淳さんのyoppa.orgというサイトで手軽に…

OpenGLでテストゲーム用に視点移動を作った

結構苦戦しました…。こんな感じです。gluLookAt関数にsinやらcosやらの数式を使ってみるとあっさりと出来ました。我ながら良い! #include <stdio.h> #include <math.h> #include <stdlib.h> #include <GL/glut.h> int flag_up = 0; int flag_down = 0; int flag_left = 0; int flag_right = 0; con</gl/glut.h></stdlib.h></math.h></stdio.h>…

OpenGL ウォークスルー機能、ここまでが限界のよう…。

OpenGL,GLUTによる手抜き入門というサイトで問題を解いてました。気になって夜も寝れません。これで終わりにするぞと思って組んだプログラムがこちら。これで本当にラストにします。結局不完全なままに終わりましたが、万策尽きたのでここまでです。でもちょ…

OpenGLでマウスドラッグでの視点移動作成失敗っぽい…。

今回は失敗ですね。数学に精通してないと厳しいかも…。クォータニオンを使えば楽だと書いてありましたが、とりあえずここまでにしておきました。 #include <stdlib.h> #include <math.h> #include <stdlib.h> #include <GL/glut.h> int flag_ld = 0; int flag_rd = 0; const double t = 0.00001; con</gl/glut.h></stdlib.h></math.h></stdlib.h>…

OpenGLでマウスの視点移動プログラム?

いろいろ調べてやってみてる最中ですが、なにかおかしいような…。数式が間違えてるんでしょうか。もう少しやってみますが、時間がかかりすぎたので今日はここまでにします。 #include <stdlib.h> #include <math.h> #include <stdlib.h> #include <GL/glut.h> static int flag_ld = 0; static int fl</gl/glut.h></stdlib.h></math.h></stdlib.h>…

OpenGLの学習

サンプルプログラムはここまでです。次は練習問題。3D空間のウォークスルーです。次回に成果を載せてみたいと思います。 #include <GL/glut.h> #include <stdlib.h> GLdouble vertex[][3] = { { 0.0, 0.0, 0.0 }, { 1.0, 0.0, 0.0 }, { 1.0, 1.0, 0.0 }, { 0.0, 1.0, 0.0 }, { 0.0</stdlib.h></gl/glut.h>…

OpenGLを学習

4回目です。 #include <GL/glut.h> #include <stdlib.h> GLdouble vertex[][3] = { { 0.0, 0.0, 0.0 }, { 1.0, 0.0, 0.0 }, { 1.0, 1.0, 0.0 }, { 0.0, 1.0, 0.0 }, { 0.0, 0.0, 1.0 }, { 1.0, 0.0, 1.0 }, { 1.0, 1.0, 1.0 }, { 0.0, 1.0, 1.0 } }; int edge[][2] = { { 0, 1 }, </stdlib.h></gl/glut.h>…

OpenGLを学習

3回目です。 #include <GL/glut.h> GLdouble vertex[][3] = { { 0.0, 0.0, 0.0 }, { 1.0, 0.0, 0.0 }, { 1.0, 1.0, 0.0 }, { 0.0, 1.0, 0.0 }, { 0.0, 0.0, 1.0 }, { 1.0, 0.0, 1.0 }, { 1.0, 1.0, 1.0 }, { 0.0, 1.0, 1.0 } }; int edge[][2] = { { 0, 1 }, { 1, 2 }, </gl/glut.h>…

OpenGLを学習中

OpenGLを勉強している最中です。この記事は2回目です。 マウスのドラッグ機能で線を描くプログラムです。ウィンドウの描画領域内でドラッグをすると線が描画されます。 #include <GL/glut.h> #include <stdio.h> #define MAXPOINTS 100 GLint point[MAXPOINTS][2]; int pointnum </stdio.h></gl/glut.h>…

OpenGLの進捗

OpenGLの入門サイトを見ながらプログラムを打ち込んで試してみてます。ここまで進みました。 #include <GL/glut.h> void display(void){ glClear(GL_COLOR_BUFFER_BIT); glBegin(GL_POLYGON); glColor3d(1.0, 0.0, 0.0); glVertex2d(-0.9, -0.9); glColor3d(0.0, 1.0, 0</gl/glut.h>…

OpenGLを始めた

OpenGLを始めてみました。DirectXの知識が流用出来て順調に進んでおります。今日は環境のセットアップで時間が潰れてしまいましたが(Awesomeというデスクトップ環境にスクリーンショット機能をつけるのに)、一応ここまで進みました。ネットの入門サイトで試…