OpenGLをやってみようと言う人のためのトピックです。
導入自体は簡単ですが、何か困ったことがあった場合などに書き込んで下さい。
また、簡単なサンプルなども是非書き込んで行ってください。
OpenGLは基本どのOSにも導入されているので、手間をかけるのはGLUTだけだと思います。
以下に導入方法を記しておきます。
GLUTダウンロード先
http://www.xmission.com/~nate/glut.html
からバイナリファイル【glut-3.7.6-bin.zip 】を入手。
これを展開すると以下の三つがあるはずです。
・glut32.dll
・glut32.lib
・glut.h
これを適切なフォルダに移動させれば完了です。
・glut32.dll:C:\Windows\System32
・glut32.lib:C:\Program Files\Microsoft Visual Studio 10.0\VC\lib
・glut.h:C:\Program Files\Microsoft Visual Studio 10.0\VC\include\gl
VisualStudioのバージョンによっては多少変わってくる場所もありますが、基本同じですので困る事はないと思われます。
あとはソースコードを書くだけで簡単に試せます!
OpenGL+GLUT導入関連
Re: OpenGL+GLUT導入関連
カラーバーを表示させるサンプルになります。
#include<stdio.h>
#include<gl/glut.h>
void display(void)
{
int i;
float c;
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.0,1.0,1.0);
glBegin(GL_LINES);
for(i=0;i<50;i++)
{
glVertex2f(i,0);
glVertex2f(i,300);
}
glEnd();
glColor3f(1.0,1.0,0.0);
glBegin(GL_LINES);
for(i=50;i<100;i++)
{
glVertex2f(i,0);
glVertex2f(i,300);
}
glEnd();
glColor3f(0.0,1.0,1.0);
glBegin(GL_LINES);
for(i=100;i<150;i++)
{
glVertex2f(i,0);
glVertex2f(i,300);
}
glEnd();
glColor3f(0.0,1.0,0.0);
glBegin(GL_LINES);
for(i=150;i<200;i++)
{
glVertex2f(i,0);
glVertex2f(i,300);
}
glEnd();
glColor3f(1.0,0.0,1.0);
glBegin(GL_LINES);
for(i=200;i<250;i++)
{
glVertex2f(i,0);
glVertex2f(i,300);
}
glEnd();
glColor3f(1.0,0.0,0.0);
glBegin(GL_LINES);
for(i=250;i<300;i++)
{
glVertex2f(i,0);
glVertex2f(i,300);
}
glEnd();
glColor3f(0.0,0.0,1.0);
glBegin(GL_LINES);
for(i=300;i<350;i++)
{
glVertex2f(i,0);
glVertex2f(i,300);
}
glEnd();
glBegin(GL_POINTS);
for(i=0;i<400;i++)
{
c = (float)i / 400;
glColor3d(1.0,c,c);
glVertex2f(i,150);
}
glEnd();
glFlush();
}
void reshape(int w,int h)
{
glViewport(0,0,w,h);
glLoadIdentity();
gluOrtho2D(0,w,0,h);
}
int main(int argc,char *argv[])
{
glutInit(&argc,argv);
glutInitWindowSize(400,300);
glutCreateWindow("test");
glutReshapeFunc(reshape);
glutDisplayFunc(display);
glClearColor(0,0,0,1);
glutMainLoop();
return 0;
}
- 添付ファイル
-
- test.jpg (12.51 KiB) 閲覧数: 7456 回
Re: OpenGL+GLUT導入関連
いきなりカラーバーを表示させるサンプルを出されても困ると思いますのでもう一つ。
display関数を以下のように置き換えると、真っ黒の画面が出ます。 これはバックグラウンドカラーを設定してからなにも描画していない状態です。
バックグラウンドカラーの設定(厳密には背景の初期化)はmain関数内の で行っていますいます。
引数は左からfloat型(厳密には等価変数)でR,G,B,透過率となっています。
試しに、RGBの値を変えて見て下さい。
オール1でBGカラーが白になるはずです。
描画の仕方などはまた週末にでも。
display関数を以下のように置き換えると、真っ黒の画面が出ます。 これはバックグラウンドカラーを設定してからなにも描画していない状態です。
バックグラウンドカラーの設定(厳密には背景の初期化)はmain関数内の で行っていますいます。
引数は左からfloat型(厳密には等価変数)でR,G,B,透過率となっています。
試しに、RGBの値を変えて見て下さい。
オール1でBGカラーが白になるはずです。
描画の仕方などはまた週末にでも。