用上週學到的GLUT專案進行改寫!
▦ 切記 開GLUT專案要在freeglut中偽裝glut檔案
#include <GL/glut.h>
void display()
{
glutSolidTeapot( 0.3 ); //畫出實心茶壺 大小為0.3
glutSwapBuffers(); //請GLUT把畫面swqp送到顯示的地方
}
int main(int argc, char *argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
glutCreateWindow("GLUT Shapes");
glutDisplayFunc(display); //要顯示的對應函式
glutMainLoop(); //main迴圈要在最後面
}
display函式中第一行0.3是茶壺的大小
{
glColor3f(1,1,0); //紅色滿1 綠色滿1 藍色沒有0 三元色可以自行調整
glutSolidTeapot( 0.3 ); //大小是0.3
}
**顏色值可以在0-1之間 用小數點表示顏色的重輕
可以想成數學上的座標軸,以小黑中心為原點(0,0)
右上角( 1, 1) 上置中( 0, 1 ) 左上角( -1, 1 )
左下角(-1,-1) 下置中( 0, -1 ) 右下角( 1,-1 )
glBegin ( GL_POLYGON ); //開始
glVertex2f ( 0,1 ); //兩位浮點數決定頂點位置
glEnd() ; //結束
同時定義頂點與顏色可以輕鬆製作特殊圖案
▦ 要怎麼在小黑裡畫圖嘞
要想要的圖貼進小畫家,建立200*200的畫布
用吸管找到RGB色值,到CB裡填色 ((底色))
小畫家中鼠標可以幫自己找到座標位置,利用"減一半再除一半"的口訣~
▦利用可怕的三角函數可以幫助我們畫圓
glBegin(GL_POLYGON);
for(float a=0; a<2*3.1415926 ;a+=0.01) ///pie乘以2 才不會只有半圓!
{
glVertex2f( r*cos(a)+x , r*sin(a)+y); //半徑
}
glEnd();







沒有留言:
張貼留言