1 .從上課軟體下載freeglut
2.將壓縮檔解壓到桌面
3.點開freeglut後復製其連結
4.點開lib後將freeglut.a復製
5.改名為libglut32.a (124KB)
6.新增專案 week10-1
7.貼上上週程式
8.修改程式#include <GL/glut.h>
void display()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glPushMatrix();
glColor3f(1, 0, 0);
glutWireCube(0.6);//my body
glPopMatrix();
glPushMatrix();
glColor3f(0, 1, 0);
glScalef(1, 0.4, 0.4);
glutWireCube(0.3);
glPopMatrix();
glutSwapBuffers();
}
int main(int argc, char*argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH);
glutCreateWindow("week09 Microsoft Visual Studio");
glutDisplayFunc(display);
glutMainLoop();
}
9.修改
#include <GL/glut.h>
void myBody()
{
glPushMatrix();
glColor3f(1, 0, 0);
glutWireCube(0.6);//my body
glPopMatrix();
}
void myArm()
{
glPushMatrix();
glColor3f(0, 1, 0);
glScalef(1, 0.4, 0.4);
glutWireCube(0.3);
glPopMatrix();
}
void display()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
myBody();
myArm();
glutSwapBuffers();
}
int main(int argc, char*argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH);
glutCreateWindow("week09 Microsoft Visual Studio");
glutDisplayFunc(display);
glutMainLoop();
}
10.新增專案week10-2_rotate_myArm
#include <GL/glut.h>
void myBody()
{
glPushMatrix();
glColor3f(1, 0, 0);
glutWireCube(0.6);//my body
glPopMatrix();
}
void myArm()
{
glPushMatrix();
glColor3f(0, 1, 0);
glScalef(1, 0.4, 0.4);
glutWireCube(0.3);
glPopMatrix();
}
float angle =0;
void display()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
myBody();
glPushMatrix();
glRotatef(angle++, 0, 0, 1);
myArm();
glPopMatrix();
glutSwapBuffers();
}
int main(int argc, char*argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH);
glutCreateWindow("week10");
glutDisplayFunc(display);
glutIdleFunc(display);
glutMainLoop();
}
11.新增專案week10-3_rotate_translate_myArm
#include <GL/glut.h>
void myBody()
{
glPushMatrix();
glColor3f(1, 0, 0);
glutWireCube(0.6);//my body
glPopMatrix();
}
void myArm()
{
glPushMatrix();
glColor3f(0, 1, 0);
glScalef(1, 0.4, 0.4);
glutWireCube(0.3);
glPopMatrix();
}
float angle =0;
void display()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
myBody();
glPushMatrix();
glRotatef(angle++, 0, 0, 1);
glTranslatef(0.15, 0, 0);
myArm();
glPopMatrix();
glutSwapBuffers();
}
int main(int argc, char*argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH);
glutCreateWindow("week10");
glutDisplayFunc(display);
glutIdleFunc(display);
glutMainLoop();
}
12.新稱專案week10-4_translate_rotate_translate_myArm
#include <GL/glut.h>
void myBody()
{
glPushMatrix();
glColor3f(1, 0, 0);
glutWireCube(0.6);//my body
glPopMatrix();
}
void myArm()
{
glPushMatrix();
glColor3f(0, 1, 0);
glScalef(1, 0.4, 0.4);
glutWireCube(0.3);
glPopMatrix();
}
float angle =0;
void display()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
myBody();
glPushMatrix();
glTranslatef(0.3, 0.3, 0);
glRotatef(angle++, 0, 0, 1);
glTranslatef(0.15, 0, 0);
myArm();
glPopMatrix();
glutSwapBuffers();
}
int main(int argc, char*argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH);
glutCreateWindow("week10");
glutDisplayFunc(display);
glutIdleFunc(display);
glutMainLoop();
}
13.新增專案
#include <GL/glut.h>
void myBody()
{
glPushMatrix();
glColor3f(1, 0, 0);
glutWireCube(0.6);//my body
glPopMatrix();
}
void myArm()
{
glPushMatrix();
glColor3f(0, 1, 0);
glScalef(1, 0.4, 0.4);
glutWireCube(0.3);
glPopMatrix();
}
float angle =0;
void display()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
myBody();
glPushMatrix();
glTranslatef(0.3, 0.3, 0);
glRotatef(angle++, 0, 0, 1);
glTranslatef(0.15, 0, 0);
myArm();
glPushMatrix();
glTranslatef(0.15, 0, 0);
glRotatef(angle++, 0, 0, 1);
glTranslatef(0.15, 0, 0);
myArm();
glPopMatrix();
glPopMatrix();
glutSwapBuffers();
}
int main(int argc, char*argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH);
glutCreateWindow("week10");
glutDisplayFunc(display);
glutIdleFunc(display);
glutMainLoop();
}
14.新增專案#include <GL/glut.h>
void myBody()
{
glPushMatrix();
glColor3f(1, 0, 0);
glutWireCube(0.6);//my body
glPopMatrix();
}
void myArm()
{
glPushMatrix();
glColor3f(0, 1, 0);
glScalef(1, 0.4, 0.4);
glutWireCube(0.3);
glPopMatrix();
}
float angle =0;
void display()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
myBody();
glPushMatrix();
glTranslatef(0.3, 0.3, 0);
glRotatef(angle++, 0, 0, 1);
glTranslatef(0.15, 0, 0);
myArm();
glPushMatrix();
glTranslatef(0.15, 0, 0);
glRotatef(angle++, 0, 0, 1);
glTranslatef(0.15, 0, 0);
myArm();
glPopMatrix();
glPopMatrix();
glPushMatrix();
glTranslatef(-0.3, 0.3, 0);
glRotatef(angle++, 0, 0, 1);
glTranslatef(-0.15, 0, 0);
myArm();
glPushMatrix();
glTranslatef(-0.15, 0, 0);
glRotatef(angle++, 0, 0, 1);
glTranslatef(-0.15, 0, 0);
myArm();
glPopMatrix();
glPopMatrix();
glutSwapBuffers();
}
int main(int argc, char*argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH);
glutCreateWindow("week10");
glutDisplayFunc(display);
glutIdleFunc(display);
glutMainLoop();
}
15.新增專案
#include <GL/glut.h>
void myBody()
{
glPushMatrix();
glColor3f(1, 0, 0);
glutWireCube(0.6);//my body
glPopMatrix();
}
void myArm()
{
glPushMatrix();
glColor3f(0, 1, 0);
glScalef(1, 0.4, 0.4);
glutWireCube(0.3);
glPopMatrix();
}
float angle =0;
void display()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
myBody();
glPushMatrix();
glTranslatef(0.3, 0.3, 0);
glRotatef(angle, 0, 0, 1);
glTranslatef(0.15, 0, 0);
myArm();
glPushMatrix();
glTranslatef(0.15, 0, 0);
glRotatef(angle, 0, 0, 1);
glTranslatef(0.15, 0, 0);
myArm();
glPopMatrix();
glPopMatrix();
glPushMatrix();
glTranslatef(-0.3, 0.3, 0);
glRotatef(angle, 0, 0, 1);
glTranslatef(-0.15, 0, 0);
myArm();
glPushMatrix();
glTranslatef(-0.15, 0, 0);
glRotatef(angle, 0, 0, 1);
glTranslatef(-0.15, 0, 0);
myArm();
glPopMatrix();
glPopMatrix();
glutSwapBuffers();
}
void motion(int x, int y){
angle= x;
glutPostRedisplay();
}
int main(int argc, char*argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH);
glutCreateWindow("week10");
glutDisplayFunc(display);
glutMotionFunc(motion);
glutIdleFunc(display);
glutMainLoop();
}
16.新增專案把左邊的angle改成負angle
17.新增專案 sound
#include <GL/glut.h>
#include <mmsystem.h>
void myBody()
{
glPushMatrix();
glColor3f(1, 0, 0);
glutWireCube(0.6);//my body
glPopMatrix();
}
void myArm()
{
glPushMatrix();
glColor3f(0, 1, 0);
glScalef(1, 0.4, 0.4);
glutWireCube(0.3);
glPopMatrix();
}
float angle =0;
void display()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
myBody();
glPushMatrix();
glTranslatef(0.3, 0.3, 0);
glRotatef(angle, 0, 0, 1);
glTranslatef(0.15, 0, 0);
myArm();
glPushMatrix();
glTranslatef(0.15, 0, 0);
glRotatef(angle, 0, 0, 1);
glTranslatef(0.15, 0, 0);
myArm();
glPopMatrix();
glPopMatrix();
glPushMatrix();
glTranslatef(-0.3, 0.3, 0);
glRotatef(-angle, 0, 0, 1);
glTranslatef(-0.15, 0, 0);
myArm();
glPushMatrix();
glTranslatef(-0.15, 0, 0);
glRotatef(-angle, 0, 0, 1);
glTranslatef(-0.15, 0, 0);
myArm();
glPopMatrix();
glPopMatrix();
glutSwapBuffers();
}
void motion(int x, int y){
angle= x;
glutPostRedisplay();
}
int main(int argc, char*argv[])
{
PlaySound("C:/horse.wav", NULL, SND_ASYNC);
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH);
glutCreateWindow("week10");
glutDisplayFunc(display);
glutMotionFunc(motion);
glutIdleFunc(display);
glutMainLoop();
}
.png)
.png)
.png)
.png)
.png)
.png)
.png)
.png)
.png)
沒有留言:
張貼留言