steap1
程式碼:
#include <GL/glut.h>
void display()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
///glutSolidSphere(0.3, 30, 30);///實心圓///範例偷來ㄉ
glutWireSphere(0.3, 30, 30);///切線圓///範例偷來ㄉ
glutSwapBuffers();
}
int main( int argc, char**argv)
{
glutInit( &argc, argv );
glutInitDisplayMode( GLUT_DOUBLE | GLUT_DEPTH );
glutCreateWindow("08160333");
glutDisplayFunc(display);
glutMainLoop();
}
void display()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
///glutSolidSphere(0.3, 30, 30);///實心圓///範例偷來ㄉ
glutWireSphere(0.3, 30, 30);///切線圓///範例偷來ㄉ
glutSwapBuffers();
}
int main( int argc, char**argv)
{
glutInit( &argc, argv );
glutInitDisplayMode( GLUT_DOUBLE | GLUT_DEPTH );
glutCreateWindow("08160333");
glutDisplayFunc(display);
glutMainLoop();
}
執行成果:
steap2
timmer
程式碼:
#include <GL/glut.h>
void display()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
///glutSolidSphere(0.3, 30, 30);///實心圓
glutWireSphere(0.3, 30, 30);///切線圓
glutSwapBuffers();
}
void timer(int t)///timer響起時, 做你要做的事
{
glClearColor( 1, 0, 0, 0 );///清背景色:紅色
display();///重製畫面
}
int main( int argc, char**argv)
{
glutInit( &argc, argv );
glutInitDisplayMode( GLUT_DOUBLE | GLUT_DEPTH );
glutCreateWindow("08160333");
glutDisplayFunc(display);
glutTimerFunc( 3000 , timer , 0 );
glutMainLoop();
}
steap3
設定3秒開始旋轉
#include <GL/glut.h>
float angle=0;
void display()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glPushMatrix();
glRotatef( angle, 0, 0, 1 );
glutSolidCube( 0.3 );
glPopMatrix();
glutSwapBuffers();
}
void timer(int t)
///timer響起時, 做你要做的事 (鬧鐘)
{
glutTimerFunc( 300, timer, t+1 ); ///起床第一件事, 先設定新鬧鐘
glClearColor( 1, 0, 0, 0 );///清背景色:紅色
angle++;
display();///重製畫面
}
int main(int argc, char**argv)
{
glutInit( &argc, argv );
glutInitDisplayMode( GLUT_DOUBLE | GLUT_DEPTH );
glutCreateWindow("08160333");
glutDisplayFunc(display);
glutTimerFunc( 3000 , timer , 0 );
glutMainLoop();
}
steap4轉完左邊轉右邊
程式碼:
#include <GL/glut.h>]
float angle=0;
void display()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glPushMatrix();
glRotatef( angle, 0, 0, 1 );
glutSolidCube( 0.3 );
glPopMatrix();
glutSwapBuffers();
}
int diff=2;
void timer(int t){
glutTimerFunc(30, timer, t+1);
glClearColor(1, 0, 0, 0);
if(angle>90) diff=-2;
if(angle<0) diff=+2;
angle += diff;
display();
}
int main( int argc, char**argv)
{
glutInit( &argc, argv );
glutInitDisplayMode( GLUT_DOUBLE | GLUT_DEPTH );
glutCreateWindow("08160333");
glutDisplayFunc(display);
glutTimerFunc( 3000 , timer , 0 );
glutMainLoop();
}




沒有留言:
張貼留言