2023年2月23日 星期四

這是什麼 Week02 第一個GLUT程式

一、茶壺

創建GLUT專案

按照Week01創建GLUT專案

茶壺圖形

點開程式碼

把程式碼改成下圖,非黃色為本來就有的

改變茶壺顏色、大小

再創建一個茶壺,並使其與另一個茶壺的大小顏色都不同,以進行對比

glColor3f(r.g.b);   改變茶壺顏色,3f為3個浮點數(float)

glutSolidTeapot(大小);   茶壺

執行程式(視窗名稱由 glutCreateWindow(" "); 控制)

二、三角形(頂點)

Vertex

利用3個 Vertex(頂點)劃出三角形

glVertex2f(x,y);   2f為2個浮點數,(x,y)為座標

執行程式

彩色三角形

將3頂點改為不同顏色

執行程式

Tips:可用小畫家找座標、顏色

座標

左下角有 xx , xx 像素

假設大小為200x200,要一個 58 , 137 像素的座標

x:(58-100)/100.0   y:-(137-100)/100.0

y要負號開頭

公式:(x-100)/100.0、-(y-100)/100.0 (200x200的情況下)

顏色

滴管選取顏色後,點編輯色彩,右下角便有色碼

在GL的色碼參數只能介於0~1,所以要把色碼除以255.0

三、回家作業

作法

找圖放到小畫家,轉換像素為座標,利用Vertex將頂點連起,形成圖形

圓形可用:

for(float a=0 ; a<=3.14159 ; a+=0.01)

{

    glVertex2f( cos(a) , sin(a) );

}

成品

四、複製區

#include <GL/glut.h>

void display()

{

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

}

沒有留言:

張貼留言