(撰寫今天的程式碼.先建立glut專案,第一步寫上頭 #include<GL/glut.h>.然後撰寫main函式.凡是包含glut的函式,後面的參數也包含glut.然後要添加glutDisplayFunc(display),這樣寫出來的程式才能夠顯示出來.那兩行注釋掉的程式代表滑鼠的點擊以及滑鼠的移動兩個功能.最後一定要加上glutMainLoop()才能結束)
(然後加上void display()函式,來畫茶壺以及規定茶壺的大小.)
(然後就可以加入motion函式,來實現滑鼠可以拖著茶壺移動)
(在void display中加入glScalef(mouseX, mouseY,0);可以不僅用滑鼠移動茶壺,還可以把茶壺倒轉過來以及改變茶壺的大小)
程式碼:
#include <GL/glut.h>
float mouseX=0, mouseY=0;
void display()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glPushMatrix();
glScalef(mouseX, mouseY, 0);
//glTranslatef(mouseX, mouseY, 0);
glutSolidTeapot(0.3);
glPopMatrix();
glutSwapBuffers();
}
void motion(int x,int y)
{
mouseX = (x-150)/150.0;
mouseY = -(y-150)/150.0;
glutPostRedisplay();
}
int main(int argc, char *argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
glutCreateWindow("04162416 Translate Rotate Scale");
glutDisplayFunc(display);
//glutMouseFunc(mouse);
glutMotionFunc(motion);
glutMainLoop();
}





沒有留言:
張貼留言