2023年2月23日 星期四

2llby

 電腦圖學

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();
}


















沒有留言:

張貼留言