1. 打開 https://jsyeh.org/3dcg10/
下載 data data.zip , win32 windows.zip
windows,data 都解壓縮
解完壓縮的data拖入windows資料夾
執行Transformation.exe
出現小黑窗跟車車就完成了
2.開codeblock GLUT-project
#include <GL/glut.h>
void display()
{
glutSolidTeapot(0.3);
glutSwapBuffers();
}
int main(int argc, char *argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
glutCreateWindow("GLUT Shapes");
glutDisplayFunc(display);
glutMainLoop();
}
#include <GL/glut.h>
void display()
{
glTranslatef(0.5,0,0);///新增這行
glutSolidTeapot(0.3);
glutSwapBuffers();
}
int main(int argc, char *argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
glutCreateWindow("GLUT Shapes");
glutDisplayFunc(display);
glutMainLoop();
}
#include <GL/glut.h>
float X=0,Y=0;
void display()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT ); ///清背景
glPushMatrix();
glTranslatef( X, Y, 0);
glutSolidTeapot(0.3);
glPopMatrix();
glutSwapBuffers();
}
void mouse(int button,int state, int x, int y)
{
X = (x-150)/150.0;
Y = -(y-150)/150.0; ///減一半 除一半 y負號
}
int main(int argc,char *argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
glutCreateWindow("week03");
glutDisplayFunc(display);
glutMouseFunc(mouse);
glutMainLoop();
}
新增一些程式碼
#include <GL/glut.h>
void display()
{
glColor3f(2/255.0, 247/255.0, 247/255.0);
glBegin(GL_POLYGON);
glVertex2f( 1, 1);
glVertex2f(-1, 1);
glVertex2f(-1,-1);
glVertex2f( 1,-1);
glEnd();
glColor3f(24/255.0, 2/255.0, 33/255.0);
glBegin(GL_POLYGON);
glVertex2f( (48-100)/100.0, -(65-100)/100.0 );
glVertex2f( (56-100)/100.0, -(78-100)/100.0 );
glVertex2f( (98-100)/100.0, -(31-100)/100.0 );
glVertex2f( (10-100)/100.0, -(52-100)/100.0 );
glVertex2f( (39-100)/100.0, -(70-100)/100.0 );
glVertex2f( (12-100)/100.0, -(45-100)/100.0 );
glVertex2f( (100-100)/100.0, -(110-100)/100.0 );
glVertex2f( (55-100)/100.0, -(99-100)/100.0 );
glVertex2f( (89-100)/100.0, -(23-100)/100.0 );
glVertex2f( (43-100)/100.0, -(56-100)/100.0 );
glVertex2f( (69-100)/100.0, -(78-100)/100.0 );
glVertex2f( (3-100)/100.0, -(30-100)/100.0 );
glVertex2f( (9-100)/100.0, -(90-100)/100.0 );
glVertex2f( (64-100)/100.0, -(12-100)/100.0 );
glVertex2f( (98-100)/100.0, -(70-100)/100.0 );
glVertex2f( (26-100)/100.0, -(11-100)/100.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();
}
沒有留言:
張貼留言