プログラミングのopenglで困っています.
OpenGlの超初心者です.
openglで,円を一つ作ってあるsampleプログラムを拾ってきたのですが,
円をもう一つ,別の座標で作りたいのですが,以下のプログラムをどのように編集すればいいですか?
誰か助けてください.
==========================================
#include <GLUT/glut.h>
#include "glut.h"
#include <math.h>
//--初期化処理------------------------------------------------------------------
void myinit(void){
glClearColor(1.0f, 1.0f, 1.0f, 1.0f);//背景色の設定(R,G,B,ALPHA) 0.0-1.0の範囲で
}
//--描画内容--------------------------------------------------------------------
void display(void){
float x1,y1,x2,y2;
float th1,th2;
float th1_rad, th2_rad;
float hankei = 0.1;
glClear(GL_COLOR_BUFFER_BIT);//画面全体を背景色で塗りつぶす
glMatrixMode(GL_MODELVIEW);
glLoadIdentity(); //単位行列を行列スタックに読み込む
glColor3f(0.0f, 0.0f, 0.0f);//頂点カラーの指定( R, G, B すべてが1.0fなら白)
for (th1 = 0.0; th1 <= 360.0; th1 = th1 + 10.0){
th2 = th1 + 10.0;
th1_rad = th1 / 180.0 * 3.1415926; // 「度」を「ラジアン」に直す
th2_rad = th2 / 180.0 * 3.1415926;
x1 = hankei * cos(th1_rad);
y1 = hankei * sin(th1_rad);
x2 = hankei * cos(th2_rad);
y2 = hankei * sin(th2_rad);
glBegin(GL_LINES);//glBegin(GL_LINES)とglEnd()の間に
glVertex2f( x1, y1 ); //描画したい直線の頂点を並べる
glVertex2f( x2, y2 );
glEnd(); //ここまでで,ひとつのオブジェクトの宣言がおわる
}
glFlush();//OpenGLで実際に描画を行う
}
//--再描画----------------------------------------------------------------------
void myReshape(GLsizei w, GLsizei h){
glViewport(0,0,w,h); //ウィンドウ全体をビューポートにする
glMatrixMode(GL_PROJECTION);
glLoadIdentity();//単位行列を行列スタックに読み込む
glOrtho(-1.0f, 1.0f, -1.0f, 1.0f, -1.0f, 1.0f);
}
//--メイン関数------------------------------------------------------------------
int main(int argc, char **argv){
glutInitWindowPosition(100, 100); //(図形が描画される)ウィンドウ位置の設定
glutInitWindowSize(600, 600); //(図形が描画される)ウィンドウサイズの設定
glutInit(&argc, argv);//環境の初期化
glutInitDisplayMode(GLUT_RGBA|GLUT_SINGLE); //表示モードの設定
glutCreateWindow("kadai"); //ウィンドウを開く
glutDisplayFunc(display); //図形表示関数の指定
myinit();
glutReshapeFunc(myReshape); //座標軸・ビューポート設定関数の指定
glutMainLoop();//無限ループ
return 0;
}
==========================================
補足
回答ありがとうございます! また、質問なのですが・・・ glColor4fとglfloatは同じ、ということはglfloatの型の4番目にアルファ値を指定できるのでしょうか?? 全く分からないので変な質問だと思いますが教えていただけないでしょうか。 glColor4fを使いたくない理由としては色の指定がすべてglfloatでされているからなんです。 書き直しても良いのですが初心者の私が全て書き換えるのに抵抗があったので・・・