利用上一堂課的方式開啟glut外掛
在此程式碼中擷取以下程式碼
#include <GL/glut.h>
static void display(void)
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glColor3f(1,0,0);茶壺顏色
glutSolidTeapot(0.3);茶壺
glutSwapBuffers();更新畫面
}
int main(int argc, char *argv[])main函式
{
glutInit(&argc, argv);Init初始化GLUT
glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
glutCreateWindow("08160182");視窗名稱
glutDisplayFunc(display);準備display
glutMainLoop();
}
在茶壺後面加三角形
在opengl外掛中擷取
static void display(void)
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glBegin(GL_TRIANGLES);
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();
glColor3f(1,0,0);茶壺顏色
glutSolidTeapot(0.3);茶壺
glutSwapBuffers();更新畫面
}
int main(int argc, char *argv[])main函式
{
glutInit(&argc, argv);Init初始化GLUT
glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
glutCreateWindow("08160182");視窗名稱
glutDisplayFunc(display);準備display
glutMainLoop();
}
三角形變線
在茶壺後面加三角形
紅色部分改GL_TRIANGLES
static void display(void)
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glBegin(GL_TRIANGLES);
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();
glColor3f(1,0,0);茶壺顏色
glutSolidTeapot(0.3);茶壺
glutSwapBuffers();更新畫面
}
int main(int argc, char *argv[])main函式
{
glutInit(&argc, argv);Init初始化GLUT
glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
glutCreateWindow("08160182");視窗名稱
glutDisplayFunc(display);準備display
glutMainLoop();
}
在圖形後加圓形
#include <GL/glut.h>
#include <math.h>
static void display(void)
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glBegin(GL_POLYGON);使用多邊形
glColor3f(0.0f, 0.0f, 0.5f);顏色
for(float angle=0;angle<3.14159265358979*2; angle+=0.01){利用for迴圈做出圓形
glVertex2f(0.5*cos(angle),0.5*sin(angle));半徑
}
glEnd();
glColor3f(1,0,0);
glutSolidTeapot(0.3);
glutSwapBuffers();
}
int main(int argc, char *argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
glutCreateWindow("08160182");
glutDisplayFunc(display);
glutMainLoop();
}


沒有留言:
張貼留言