移動
🔺GLUT做出茶壺 (查看week02)
#include <GL/glut.h>
void display()
{///gl開頭表示gl的程式
glutSolidTeapot( 0.3 );
glutSwapBuffers();
}///gl開頭表示GLUT的程式
int main(int argc, char**argv)///高手的main的參數
{
glutInit(&argc, argv);///啟動GLUT
glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH);
///啟動GLUT的Display的Mode模式: 兩倍的Buffe
glutCreateWindow("week03_translate");
glutDisplayFunc(display);///Display的函式
glutMainLoop();
}
🔺移動成功,但是有Bug
glTranslatef( 0.2, 0.2 ,0 );/// Translate移動x,y,z, f浮點數
副作用:會亂動,不正確
🔺副作用:會亂動,不正確,要加上 glPushMatrix()
glPushMatrix();///備份矩陣,保護好
///要加上glPopMatrix()保護
glPopMatrix();///還原矩陣,保護好
🔺利用滑鼠作標和小畫家查詢圖片座標及顏色 (記得換算)
glBegin(GL_POLYGON);
glColor3f(6/225.0, 140/255.0, 39/255.0);
glVertex2f( (174-100)/100.0, -(86-100)/100.0);
glVertex2f( (120-100)/100.0, -(47-100)/100.0);
glVertex2f( (65-100)/100.0, -(87-100)/100.0);
glVertex2f( (88-100)/100.0, -(146-100)/100.0);
glVertex2f( (155-100)/100.0, -(148-100)/100.0);
glEnd();
glutSwapBuffers();
🔺利用滑鼠作標和小畫家查詢圖片座標及顏色 (記得換算)
glBegin(GL_POLYGON);
glColor3f(6/225.0, 140/255.0, 39/255.0);
glVertex2f( (174-100)/100.0, -(86-100)/100.0);
glVertex2f( (120-100)/100.0, -(47-100)/100.0);
glVertex2f( (65-100)/100.0, -(87-100)/100.0);
glVertex2f( (88-100)/100.0, -(146-100)/100.0);
glVertex2f( (155-100)/100.0, -(148-100)/100.0);
glEnd();
glutSwapBuffers();
沒有留言:
張貼留言