(1)期中考:OpenGL必背10函式
(2)複習:移動,旋轉,縮放
(3)主題:T-R-T旋轉
(改變旋轉軸)
(4)主題:glut
TODO:下載範例
1.進入http://www.cmlab.csie.ntu.edu.tw/~jsyeh/3dcg10/ ,下載data win32 glut32.dll
2.將windows解壓縮,再把解壓縮的data和glut.dll放到windows的解壓縮檔裡面
3.打開transformation.exe檔案
Transformation.exe自轉 vs. 公轉
glTranslatef(...)
glRotate(...)
glRotatef(...)
glTranslatef(...)
4.打開https://www.transmissionzero.co.uk/software/freeglut-devel/下載
freeglut 3.0.0 MinGW Package
6.打開codeblocks,複製freeglut的位址貼上就可以打開7.打上程式碼就可以看到甜筒與茶壺年在一起,且甜筒可以旋轉
程式碼:
#include <GL/glut.h>
float angle=0;
void display()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glPushMatrix();
glTranslatef(0,0.5,0);///這是往上移動的茶壺
glutSolidTeapot(0.3);///This is a Teapot
glPopMatrix();
glPushMatrix();
glPopMatrix();
glPushMatrix();
glTranslatef(0.50,0.625,0);///(3)把它掛在你要放的地方
glRotatef(angle,0,0,1);///(1)先有個轉動,但怪怪的
glTranslatef(0.6,0,0);///(2)要更早去移動旋轉中心
glRotatef(-90,0,1,0);///(0)轉動90度的Cone
glutSolidCone(0.2, 0.6 , 30,30);///直直的Cone
glPopMatrix();
glutSwapBuffers();
}
void motion(int x,int y)
{
angle=x;
display();
}
int main(int argc, char**argv)
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE|GLUT_DEPTH);
glutCreateWindow("week10 TRT");
glutDisplayFunc(display);
glutMotionFunc(motion);
glutMainLoop();
}
沒有留言:
張貼留言