2:在下在資料夾,把windows,zip>=windows資料夾,data.zip,裡面的data拉到資料夾裡
3:右鍵,在右邊可換點線面
4:右鍵,在左邊換大的頂點,逐個色彩
5左鍵,在右邊可按{綠色數字}上下調整
*設定色彩
1:glColor(r,g,b);
2:0,1,0是綠色 1,0,0 紅色 1.1.0黃色 0,0,1藍色
3可用小畫家,來畫其他的色彩,使用滴管來吸色,使用(編輯色彩)來查看色彩的值./255.0
變成有小數點的float浮點數
4:老師以阿尼亞的色彩為例,兩個不同大小的茶壺,用不同的色彩,畫出兩色的效果
*劃出三角形
1:File-New-project,Glut專案,Week02_glut_triangle
2:一樣,把今天的10行貼下來,在家今天的第二個主角:
3glBegin(GL_POLYGON);
glColor3f(R,G,b);
glVertex2f(x,y);
glEnd();
4:以上是期中考試的10題的3題,占30分
5在真的實作時,會有很多組glColor3f(r,g,b):及glVertex2f(x,y(;
1:開啟小畫家座標裡,左上角是0.0,右下角300,300(假設圖片寬度300高度300)
2:關於座標,opengl,預設是(正中間0.0,右邊是+1 左邊是-1 上面是+1 下面是-1
3:把小畫家的(X座標-中間點200)/200.0,口訣:減一半 除一半 在家負號
4Y座標比較麻煩 -(y座標-中心點200)/200.0,口訣:減一半 除一半 在家負號,
5:FILE-NEW-PROJECT,gLUT專案,week0-glut-maspaint-help-draw
*teaport
#include <GL/glut.h>
void display()
{
glColor3f(247/255.0,180/255.0,171/255.0);
glutSolidTeapot(0.3);
glutSwapBuffers();
}
int main(int argc,char*argv[])
{
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_DOUBLE);
glutCreateWindow("week02_glut");
glutDisplayFunc(display);
glutMainLoop();
}
*triangle
#include <GL/glut.h>
void display()
{
glBegin(GL_POLYGON);
glColor3f(1,0,0);glVertex2f(0,1);
glColor3f(0,1,0);glVertex2f(1,-0.6);
glColor3f(0,0,1);glVertex2f(-1,-0.6);
glEnd();
glutSwapBuffers();
}
int main(int argc,char*argv[])
{
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_DOUBLE);
glutCreateWindow("week02_glut");
glutDisplayFunc(display);
glutMainLoop();
}
*maspaint
#include <GL/glut.h>
void display()
{
glBegin(GL_POLYGON);
glColor3f(1,1,1);
glVertex2f((30-200)/200.0,-(45-200)/200.);
glVertex2f((46-200)/200.0,-(102-200)/200.);
glVertex2f((84-200)/200.0,-(23-200)/200.);
glEnd();
glutSwapBuffers();
}
int main(int argc,char*argv[])
{
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_DOUBLE);
glutCreateWindow("week02_glut");
glutDisplayFunc(display);
glutMainLoop();
}
*cos sin
#include <GL/glut.h>
#include <math.h>
void myCircle(float cx, float cy,float r){
glBegin(GL_POLYGON);
for(float a=0;a<=3.14*2;a+=0.1){
glVertex2d(r*cos(a)+cx,r*sin(a)+cy);
}
glEnd();
}
void display()
{
glColor3f(1,1,1);myCircle(0,0,1);
glColor3f(0,0,0);myCircle(-0.5,+0.5,0.3);
glColor3f(0,0,0);myCircle(+0.5,+0.5,0.3);
glColor3f(0,0,0);myCircle(0,-0.3,0.7);
glutSwapBuffers();
}
int main(int argc,char*argv[])
{
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_DOUBLE);
glutCreateWindow("week02_glut");
glutDisplayFunc(display);
glutMainLoop();
}
沒有留言:
張貼留言