- glutSolid & glutWire -
#include <GL/glut.h>
void display()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glPushMatrix(); ///備份矩陣
glColor3f(0,0,1); ///顏色
glSCalef(0.8,0.3,0.3); ///放大縮小
glutSolidCube(1); ///立方體(但是還沒打光)
glPopMatrix(); ///還原矩陣
glutSwapBuffers();
}
int main(int argc,char**argv)
{
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_DOUBLE|GLUT_DEPTH);
glutCreateWindow("Week 9");
glutDisplayFunc(display);
glutMainLoop();
}
#include <GL/glut.h>
void myCube() ///自訂函式
{
glPushMatrix(); ///備份矩陣
glSCalef(0.8,0.3,0.3); ///放大縮小
glutSolidCube(1); ///立方體(但是還沒打光)
glPopMatrix(); ///還原矩陣
}
void display()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glPushMatrix(); ///備份矩陣
glColor3f(0,0,1); ///藍色
myCube();
glColor3f(1,1,0); ///黃色
glTranslatef(0.5,0.2,0); ///移動
myCube();
glPopMatrix(); ///還原矩陣
glutSwapBuffers();
}
int main(int argc,char**argv)
{
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_DOUBLE|GLUT_DEPTH);
glutCreateWindow("Week 9");
glutDisplayFunc(display);
glutMainLoop();
}
#include <GL/glut.h>
void myCube() ///自訂函式
{
glPushMatrix(); ///備份矩陣
glSCalef(0.8,0.3,0.3); ///放大縮小
glutSolidCube(1); ///立方體(但是還沒打光)
glPopMatrix(); ///還原矩陣
}
float angle=0; ///轉動的變數(角度)
void display()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glPushMatrix(); ///備份矩陣
glColor3f(159/255.0,197/255.0,232/255.0); ///淺藍色
glRotatef(angle,0,0,1); ///轉動
myCube();
glColor3f(1,1,0); ///黃色
glTranslatef(0.5,0.2,0); ///移動
myCube();
glPopMatrix(); ///還原矩陣
angle++; ///角度增加
glutSwapBuffers();
}
int main(int argc,char**argv)
{
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_DOUBLE|GLUT_DEPTH);
glutCreateWindow("Week 9");
glutIdleFunc(display); ///有空idle會重畫畫面
glutDisplayFunc(display);
glutMainLoop();
}
#include <GL/glut.h>
void myCube() ///自訂函式
{
glPushMatrix(); ///備份矩陣
glScalef(0.8,0.3,0.3); ///放大縮小
glutSolidCube(1); ///立方體(但是還沒打光)
glPopMatrix(); ///還原矩陣
}
float angle=0; ///轉動的變數(角度)
void display()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glPushMatrix(); ///備份矩陣
glColor3f(159/255.0,197/255.0,232/255.0); ///淺藍色
glRotatef(angle,0,0,1); ///轉動(用畫面中心當轉動軸)
glTranslatef(0.23,0,0); ///移動(把想當轉軸的圖案移到畫面中間)
myCube();
glPopMatrix(); ///還原矩陣
angle++; ///角度增加
glutSwapBuffers();
}
int main(int argc,char**argv)
{
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_DOUBLE|GLUT_DEPTH);
glutCreateWindow("Week 9");
glutIdleFunc(display); ///有空idle會重畫畫面
glutDisplayFunc(display);
glutMainLoop();
}
#include <GL/glut.h>
void myCube() ///自訂函式
{
glPushMatrix(); ///備份矩陣
glSCalef(0.8,0.3,0.3); ///放大縮小
glutSolidCube(1); ///立方體(但是還沒打光)
glPopMatrix(); ///還原矩陣
}
float angle=0; ///轉動的變數(角度)
void display()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glPushMatrix(); ///備份矩陣
glColor3f(159/255.0,197/255.0,232/255.0); ///淺藍色
glTranslatef(0.5,0.3,0); ///移動2(再把會旋轉的圖移到右上角)
glRotatef(angle,0,0,1); ///轉動(用畫面中心當轉動軸)
glTranslatef(0.23,0,0); ///移動1(先把想當轉軸的圖案移到畫面中間)
myCube();
glPopMatrix(); ///還原矩陣
angle++; ///角度增加
glutSwapBuffers();
}
int main(int argc,char**argv)
{
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_DOUBLE|GLUT_DEPTH);
glutCreateWindow("Week 9");
glutIdleFunc(display); ///有空idle會重畫畫面
glutDisplayFunc(display);
glutMainLoop();
}






沒有留言:
張貼留言