Week09
week09-0_sample
1. 安裝 freeglut 再把 lib\libfreeglut.a 複製成 libglut32.a
2. File-New-Project , GLUT專案 week09-0_sample
複習上週的 week08-3_glm_gundam_opencv_texture_lighting
1. 要把環境設好 : OpenCV
2. 桌面有葉正聖上課用軟體 OpenCV-2.1.0
3. 小心 : Add PATH
4. 小心 : 目錄不要改
5. 要重開CodeBlocks
6. CodeBlocks : Setting-Compiler 裡 , 要設 3 個地方
c:\OpenCV2.1\include
c:\OpenCV2.1\lib
cv210 cxcore210 highgui210
7. 要把上週的 GitHub 倉庫複製下來
安裝 Git , 開啟 Git Bash 小黑
cd desktop
git clone https://github.com/jsyeh/2024graphicsa
cd 2024graphicsa
start .
8. 把上週的 week08-3_glm_gundam_opencv_texture_lighting 開起來
File-Open , 到那個目錄 , 點開 .cbp (codeblock project檔)
Build&Run 就可以
把剛剛的專案變成 week09-1_glm_gundam_opencv_texture_lighting
1. 把剛剛的專案 , 先關起來 Close Project (這樣才不會被鎖)
2. 目錄 : 把整個 week08-3_glm_gundam_opencv_texture_lighting 複製到桌面的 week09-1_glm_gundam_opencv_texture_lighting
3. 檔案 : 把新目錄裡的專案檔 week08-3_glm_gundam_opencv_texture_lighting.cbp 改檔名成 week09-1_glm_gundam_opencv_texture_lighting.cbp
4. 再把專案的 Title 改成 week09-1_glm_gundam_opencv_texture_lighting
5. 再用 CodeBlocks File-Open 開它 , 就好了
#include <GL/glut.h>
void display()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glutSolidTeapot(0.3);
glutSwapBuffers();
}
int main(int argc, char*argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH);
glutCreateWindow("week09 Microsoft Visual Studio");
glutDisplayFunc(display);
glutMainLoop();
}
3. 換畫另外3個, 左上 , 上 , 右上 , 使用期中考教的程式碼
#include <GL/glut.h>
void display()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
///glutSolidTeapot(0.3);
///glutSolidCube(0.3);
glutSolidSphere(0.3, 30, 30);
glutSwapBuffers();
}
int main(int argc, char*argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH);
glutCreateWindow("week09 Microsoft Visual Studio");
glutDisplayFunc(display);
glutMainLoop();
}
#include <GL/glut.h>
void display()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glPushMatrix();
glTranslatef(-0.5, +0.3, 0);
glutSolidTeapot(0.3);
glPopMatrix();
glPushMatrix();
glTranslatef(+0.0, +0.3, 0);
glutSolidCube(0.3);
glPopMatrix();
glPushMatrix();
glTranslatef(+0.5, +0.3, 0);
glutSolidSphere(0.3, 30, 30);
glPopMatrix();
glutSwapBuffers();
}
int main(int argc, char*argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH);
glutCreateWindow("week09 Microsoft Visual Studio");
glutDisplayFunc(display);
glutMainLoop();
}
week09-3_glutWireTeapot__glutWireCube_glutWireSphere
1. File-New-Project , GLUT專案
2. 貼上 week09-3 的程式
3. 修改程式碼
#include <GL/glut.h>
void display()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glPushMatrix();
glTranslatef(-0.5, +0.3, 0);
glutSolidTeapot(0.3);
glPopMatrix();
glPushMatrix();
glTranslatef(+0.0, +0.3, 0);
glutSolidCube(0.3);
glPopMatrix();
glPushMatrix();
glTranslatef(+0.5, +0.3, 0);
glutSolidSphere(0.3, 30, 30);
glPopMatrix();
glPushMatrix();
glTranslatef(-0.5, -0.3, 0);
glutWireTeapot(0.3);
glPopMatrix();
glPushMatrix();
glTranslatef(+0.0, -0.3, 0);
glutWireCube(0.3);
glPopMatrix();
glPushMatrix();
glTranslatef(+0.5, -0.3, 0);
glutWireSphere(0.3, 30, 30);
glPopMatrix();
glutSwapBuffers();
}
int main(int argc, char*argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH);
glutCreateWindow("week09 Microsoft Visual Studio");
glutDisplayFunc(display);
glutMainLoop();
}
沒有留言:
張貼留言