電腦圖學
week02-1
重複上個禮拜(第一周)的第二個程式>>操作兩次a.week02-1_GLUT_first b.week02-1_GLUT_first_
在a程式(178行)中剪貼需要的程式碼到b(15行)到程式中。
b程式:
#include <GL/glut.h>
void display()
{
glutSolidTeapot( 0.3 );
glutSwapBuffers();
}
int main(int argc, char *argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
glutCreateWindow("GLUT Shapes");
glutDisplayFunc(display);
glutMainLoop();
}>>茶壺
week02-2
在week02-1的程式中做變化,幫茶壺新增顏色。這裡是黃色
先複製黃色茶壺的程式碼>>調整大小讓黃色茶壺大一點,再複製的程式碼改成綠色的,使綠色茶壺在黃色大茶壺的上面。
最後改視窗名字>>WEEK02
程式碼:
#include <GL/glut.h>
void display()
{
glColor3f(1,1,0);
glutSolidTeapot( 0.5 );
glColor3f(0,1,0);
glutSolidTeapot( 0.3 );
glutSwapBuffers();
}
int main(int argc, char *argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
glutCreateWindow("WEEK02");
glutDisplayFunc(display);
glutMainLoop();
}
week02-3
新增一個project,複製week02-2的檔案,再黃色的茶壺後面加一個三角形。程式碼:
#include <GL/glut.h>
void display()
{
glColor3f(0,1,0);
glBegin(GL_POLYGON);
glVertex2f(0,1);
glVertex2f(-1,-1);
glVertex2f(+1,-1);
glEnd();
glColor3f(1,1,0);
glutSolidTeapot( 0.3 );
glutSwapBuffers();
}
int main(int argc, char *argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
glutCreateWindow("WEEK02");
glutDisplayFunc(display);
glutMainLoop();
}
week02-4
在week02-3的程式中做點改變,三角形可以設一個色彩,每一個頂點都可以設定不一樣的顏色。
程式碼:
#include <GL/glut.h>
void display()
{
///glColor3f(0,1,0);
glBegin(GL_POLYGON);
glColor3f(1,0,0);glVertex2f(0,1);
glColor3f(0,1,0);glVertex2f(-1,-1);
glColor3f(0,0,1);glVertex2f(+1,-1);
glEnd();
glColor3f(1,1,0);
glutSolidTeapot( 0.3 );
glutSwapBuffers();
}
int main(int argc, char *argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
glutCreateWindow("WEEK02");
glutDisplayFunc(display);
glutMainLoop();
}








沒有留言:
張貼留言