茶壺準備要進化了!!!
老樣子一個茶壺登場
#include <stdio.h>
#include <GL/glut.h>
void display()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );//清空
glutSolidTeapot(0.3);//實心茶壺 大小0.3
glutSwapBuffers();//交換兩倍的Buffers
}
int main(int argc, char**argv)
{
glutInit(&argc,argv);//GLUT初始設定
glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH);//顯示模式
glutCreateWindow("08160465 邁向15週");
glutDisplayFunc(display);//display顯示函式
glutMainLoop();//主要迴圈
}
#include <GL/glut.h>
void display()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );//清空
glutSolidTeapot(0.3);//實心茶壺 大小0.3
glutSwapBuffers();//交換兩倍的Buffers
}
int main(int argc, char**argv)
{
glutInit(&argc,argv);//GLUT初始設定
glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH);//顯示模式
glutCreateWindow("08160465 邁向15週");
glutDisplayFunc(display);//display顯示函式
glutMainLoop();//主要迴圈
}
茶壺變多了!還會動???
#include <stdio.h>
#include <GL/glut.h>
float angle=0, diff=2;
void timer(int t)
{
glutTimerFunc( 30, timer, t+1 );//設定新timer
angle += diff;
if(angle>90) diff = -2;
if(angle<0) diff = +2;
glutPostRedisplay();//上週教的display();
}
void display()
{
glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
glPushMatrix();
glutSolidTeapot( 0.3 );//身體
glPushMatrix();
glTranslatef(-0.3,0,0);
glRotatef(angle, 0,0,1);
glTranslatef(-0.3,0,0);
glutSolidTeapot( 0.3 );//左手臂, 要用 T-R-T移位置
glPushMatrix();
glTranslatef(-0.3, 0,0);
glRotatef(angle, 0,0,1);
glTranslatef(-0.3, 0,0);
glutSolidTeapot( 0.3 );//左手肘
glPopMatrix();
glPopMatrix();
glPushMatrix();
glutSolidTeapot( 0.3 );//右手臂
glutSolidTeapot( 0.3 );//右手肘
glPopMatrix();
glPopMatrix();
glutSwapBuffers();
}
int main( int argc, char** argv )
{
glutInit( &argc, argv );
glutInitDisplayMode( GLUT_DOUBLE | GLUT_DEPTH );
glutCreateWindow( "08160465 Week15 茶壺變手臂!" );
glutDisplayFunc( display );
glutTimerFunc( 0, timer, 0);
glutMainLoop();
}
茶壺旁邊長茶壺??喔喔是手臂~
左邊畫完?換右邊!!!!
#include <stdio.h>
#include <GL/glut.h>
float angle=0, diff=2;
void timer(int t)
{
glutTimerFunc( 30, timer, t+1 );//設定新timer
angle += diff;
if(angle>90) diff = -2;
if(angle<0) diff = +2;
glutPostRedisplay();//上週教的display();
}
void display()
{
glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
glPushMatrix();
glutSolidTeapot( 0.3 );//身體
glPushMatrix();
glTranslatef(-0.3,0,0);
glRotatef(angle, 0,0,1);
glTranslatef(-0.3,0,0);
glutSolidTeapot( 0.3 );//左手臂,用 T-R-T移位置
glPushMatrix();
glTranslatef(-0.3, 0,0);
glRotatef(angle, 0,0,1);
glTranslatef(-0.3, 0,0);
glutSolidTeapot( 0.3 );//左手肘
glPopMatrix();
glPopMatrix();
glPushMatrix();
glTranslatef(+0.3,0,0);
glRotatef(-angle, 0,0,1);
glTranslatef(+0.3,0,0);
glutSolidTeapot( 0.3 );//右手臂
glPushMatrix();
glTranslatef(+0.3,0,0);
glRotatef(-angle, 0,0,1);
glTranslatef(+0.3,0,0);
glutSolidTeapot( 0.3 );//右手肘
glPopMatrix();
glPopMatrix();
glPopMatrix();
glutSwapBuffers();
}
int main( int argc, char** argv )
{
glutInit( &argc, argv );
glutInitDisplayMode( GLUT_DOUBLE | GLUT_DEPTH );
glutCreateWindow( "08160465 Week 茶壺變手臂!" );
glutDisplayFunc( display );
glutTimerFunc( 0, timer, 0);
glutMainLoop();
}



沒有留言:
張貼留言