➤ Week03_下載上課資料
1. 從 https://jsyeh.org/3dcg10/ 下載 data .zip / win32 / glut32.dll
2. 解壓縮
windowe.zip
1. 複製week02-1_GLUT_first 的程式碼,並新增以下程式碼
#include <GL/glut.h>
void display()
{
glPushMatrix();
glTranslatef(0.5, 0, 0);
glutSolidTeapot( 0.3 );
glPopMatrix();
glutSwapBuffers();
}
int main(int argc, char *argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
glutCreateWindow("week03");
glutDisplayFunc(display);
glutMainLoop();
}
➤ Week03-1_用滑鼠控制茶壺
#include <GL/glut.h>
void display()
{
glPushMatrix();
glTranslatef(0.5, 0, 0);
glutSolidTeapot( 0.3 );
glPopMatrix();
glutSwapBuffers();
}
#include <stdio.h>
void mouse (int button, int state, int x, int y)
{
printf("%d %d %d %d\n", button, state, x, y);
}
int main(int argc, char *argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
glutCreateWindow("week03");
glutDisplayFunc(display);
glutMouseFunc(mouse);
glutMainLoop();
}
➤ Week03-1_按滑鼠左鍵移動茶壺
#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 ;
}
int main(int argc, char *argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
glutCreateWindow("week03");
glutDisplayFunc(display);
glutMouseFunc(mouse);
glutMainLoop();
沒有留言:
張貼留言