Week03 點、線、面、色彩
__________________________________________________________________________
打開openGL>>複製部分程式內容到記事本⬆打開Glut⬆
精簡程式⬆
把兩程式合併⬆
#include <GL/glut.h> ///使用GLUT外掛
static void display(void) ///顯示的函式
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glBegin(GL_TRIANGLES);
///R G B X軸 Y軸
glColor3f(1.0f, 0.0f, 0.0f); glVertex2f(0.0f, 1.0f); ///紅色頂點
glColor3f(0.0f, 1.0f, 0.0f); glVertex2f(0.87f, -0.5f); ///綠色頂點
glColor3f(0.0f, 0.0f, 1.0f); glVertex2f(-0.87f, -0.5f); ///藍色頂點
glEnd();
glutSwapBuffers();
}
int main(int argc, char *argv[])
{
glutInit(&argc, argv);///設定GLUT的初始化
glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);///顯示模式
glutCreateWindow("GLUT Shapes");///開GLUT視窗
glutDisplayFunc(display);///呼叫顯示的函式
glutMainLoop();///GLUT主要的迴圈 卡住不要結束
}
_______________________________________________________________________
製作茶壺
#include <GL/glut.h> ///使用GLUT外掛
void display()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); ///清空畫面
glutSolidTeapot(0.3); ///實心茶壺 茶壺的大小
glutSwapBuffers(); ///交換兩倍的BUFFERS
}
int main(int argc,char **argv) ///等同int main,宣告argc argv
{
glutInit(&argc, argv);///GLUT初始設定
glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH);///顯示模式
glutCreateWindow("08161010");///開視窗
glutDisplayFunc(display);///等一下要顯示的視窗
glutMainLoop();///主要迴圈
}
改茶壺顏色
#include <GL/glut.h>
void display()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glColor3f(1,0,0);///改茶壺顏色為紅色
glutSolidTeapot(0.3);
glutSwapBuffers();
}
int main(int argc,char **argv)
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH);
glutCreateWindow("08161010");
glutDisplayFunc(display);
glutMainLoop();
}
__________________________________________________________________________
__________________________________________________________________________



沒有留言:
張貼留言