課堂作業.1
1.網址:jsyeh.org/3dcg10
2.下載[data] [win32] [glut32.dll]

3.解壓縮

4.打開shapes

5.調整點線面顏色

.2
打程式碼
#include <GL/glut.h>
void display()
{
glBegin(GL_POLYGON);
glColor3f(1,1,0);
glVertex3f(0.0,0.0,0.0);
glVertex3f(1.0,0.0,0.0);
glVertex3f(1.0,1.0,0.0);
glEnd();
glutSwapBuffers();
}
int main(int argc,char**argv)
{
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_DOUBLE|GLUT_DEPTH);
glutCreateWindow("Hello 3D");
glutDisplayFunc(display);
glutMainLoop();
}
.3
打程式碼
#include <GL/glut.h>
void display()
{
glClearColor(144/255.0,168/255.0,56/255.0,1);
glClear(GL_COLOR_BUFFER_BIT);
glBegin(GL_POLYGON);
glColor3f(192/255.0,215/255.0,0.7/255.0);
glVertex3f((95-100)/100.0,-(49-100)/100.0,0.0);
glVertex3f((17-100)/100.0,-(106-100)/100.0,0.0);
glVertex3f((93-100)/100.0,-(165-100)/100.0,0.0);
glVertex3f((174-100)/100.0,-(103-100)/100.0,0.0);
glEnd();
glutSwapBuffers();
}
int main(int argc,char**argv)
{
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_DOUBLE|GLUT_DEPTH);
glutCreateWindow("Hello 3D");
glutDisplayFunc(display);
glutMainLoop();
}

.4
打程式碼
#include <GL/glut.h>
#include <stdio.h>
void mouse(int button,int state, int x,int y)
{
if(state==GLUT_DOWN)
printf("glVertex3f((%d-100)/100.0,(%d-100)/100.0,0.0\n",x,y);
}
void display()
{
glClearColor(144/255.0,168/255.0,56/255.0,1);
glClear(GL_COLOR_BUFFER_BIT);
glBegin(GL_POLYGON);
glColor3f(192/255.0,215/255.0,0.7/255.0);
glVertex3f((95-100)/100.0,-(49-100)/100.0,0.0);
glVertex3f((17-100)/100.0,-(106-100)/100.0,0.0);
glVertex3f((93-100)/100.0,-(165-100)/100.0,0.0);
glVertex3f((174-100)/100.0,-(103-100)/100.0,0.0);
glEnd();
glutSwapBuffers();
}
int main(int argc,char**argv)
{
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_DOUBLE|GLUT_DEPTH);
glutCreateWindow("Hello 3D");
glutDisplayFunc(display);
glutMouseFunc(mouse);
glutMainLoop();
}

改動形狀
#include <GL/glut.h>
#include <stdio.h>
void mouse(int button,int state, int x,int y)
{
if(state==GLUT_DOWN)
printf("glVertex3f((%d-100)/100.0,(%d-100)/100.0,0.0\n",x,y);
}
void display()
{
glClearColor(144/255.0,168/255.0,56/255.0,1);
glClear(GL_COLOR_BUFFER_BIT);
glBegin(GL_POLYGON);
glColor3f(206/255.0,215/255.0,0.7/255.0);
glVertex3f((10-100)/100.0,-(49-100)/100.0,0.0);
glVertex3f((40-100)/100.0,-(106-100)/100.0,0.0);
glVertex3f((13-100)/100.0,-(165-100)/100.0,0.0);
glVertex3f((277-100)/100.0,-(103-100)/100.0,0.0);
glEnd();
glutSwapBuffers();
}
int main(int argc,char**argv)
{
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_DOUBLE|GLUT_DEPTH);
glutCreateWindow("Hello 3D");
glutDisplayFunc(display);
glutMouseFunc(mouse);
glutMainLoop();
}


沒有留言:
張貼留言