打造一個圖片
事前提要:
1. 首先先按照上周先把freeglut開出來
2. 下載並開啟notepad++
激勵:
*這個只需要上周main.cpp當中的幾行就可以完成:)
(傳說中的5行取代1xx行程式碼!)
小撇步:
同時打開codeblocks和notepad++就可以用複製貼上了!
但是用notepad++寫完之後,好像還是要用codeblock跑才行
#include <GL/glut.h> ///呼叫3D GLUT外接
void display() ///自訂函數
{
glClearColor(1,0,0,0); ///標示清畫面的顏色是紅色(交換背景的油漆顏色)
///(紅R,綠G,藍B,半透明度A)
*這行如果放了一堆,他只會記得最後一行的顏色 (註1)
glClear(GL, COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT)
///清空背景顏色(記憶體) ///這行是動詞 ///預設是黑色
*如果沒有設定顏色,預設是黑色,如果這行放在設顏色之前,晃動畫面會變顏色!(註2)
glColor3f(1,0,1) ///茶壺色彩現在是紫色 三個參數 介在0.0~1.0之間
///(紅R,綠G,藍B)
glutSolidTeapot(0.3); ///畫出實心茶壺 座標0.3 (註3)
glutSwapBuffers(); ///交換繪圖記憶體(交換之後畫面再也不會閃爍,畫面更漂亮<3)
}
///使用glut的都是用外掛(原本就有寫好的)
///使用gl代表是gl函示
int main(int argc, char *argv[]) ///主程式的函示,吃argc參數數量
{
glutInit(&argc, argv); ///開始使用GLUT
glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
///開始設定顯示模式
glutCreateWindow("GLUT Shapes"); ///建立GLUT 3D視窗
///("這邊可以打視窗名")
glutDisplayFunc(display); ///註冊display函式
glutMainLoop(); ///主要迴圈
}
執行結果:
是一個黑底的白色茶壺的圖~~~ (這是預設(0, 0, 0, 0))
設成紅色背景(1, 0, 0, 0)的話,就是紅底的了
*可以自己再嘗試換成別的背景顏色
(從這行「glClearColor(1,0,0,0);」的後面數字去改)
再設定茶壺顏色為紫色(1, 0, 1)的話...這畫面就變得很奇怪>"<
*可以自己再嘗試換成別的茶壺顏色
(從這行「glColor3f(1,0,1);」的後面數字去改)
程式碼 _2
///1和2的差別主要就是在於把茶壺換成多邊形
///還有畫點線面
#include <GL/glut.h>
void display()
{
glClear(GL, COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT)
glClearColor(1,0,0,0);
glColor3f(1,0,1)
///新東西
glBegin(GL_POLYGON); ///表示接下來的點是以多邊形開始畫
///點
glVertex3f(1, 1, 0); ///頂點的英文是vertex
glVertex3f(-1, 1, 0); ///3f表示x,y,z三個參數float
glVertex3f(0, -1, 0);
glEnd(); ///結束畫
glutSwapBuffers();
}
int main(int argc, char *argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
glutCreateWindow("GLUT Shapes");
glutDisplayFunc(display);
glutMainLoop();
}
執行結果:
按照上面程式執行的結果是一個三角形
如果加了很多點進去,就可以畫奇怪的東西出來了
回家作業:畫一個20個以上頂點的圖形
*可以利用小畫家來協助找頂點和顏色
*想要改成畫線就好的話,自己找投影片(?)
*想要改成畫線就好的話,自己找投影片(?)
----------------------------------------------------------------------------------------------------------------
註1
註2
晃動畫面
註3
更改座標由0.3->0.8,
-----------------------------------------------------------------------------------------------------------------
其他:
顏色分兩種:背景和文字
Process Exploror是微軟寫出來的很厲害的防毒軟體









沒有留言:
張貼留言