2024年4月18日 星期四

電腦圖學 week09

 #week09


#week09-0_sample

0. 桌面安裝 freeglut,把 lib 的l ibfreeglut.a複製成 libglut32.a

1.File-New-Project ,Glut 專案week09-0_smaple


##複習上週的week08-3_glm_guma_opencv_texture_lighting

要把環境設好:OpenCV

1.桌面有葉正聖老師上課軟體安裝openCV2.1

2.小心:Add Path

3.小心:不要改目錄

4.要重開Codeblocks

Codeblocks:Setting-Compiler 要加入新的 OpenCV 相關的3個設定
 -compiler 的include 要加入C:\OpenCV2.1\include
 -linker 的 lib要加入C:\OpenCV2.1\lib
 -linker 的設定,要加入cv210 cxcore210 highgui210


要把上週的GitHub倉庫複製下來
0.安裝Git,開啟Git Bash小黑
1.cd desktop
2. git clone https://github.com/jsyeh/2024graphicsa
3. cd 2024graphicsa
4.start .


把上週的week08-3_glm_guma_opencv_texture_lighting開起來
1.File-Open,到那個目錄,點開.cbp(CodeBlocks Project檔)
2.Build&Run就可以!!!

##把剛剛專案,變成week09-1_glm_guma_opencv_texture_lighting
0.把剛剛的專案,先關起來Close Project(這樣才不會被鎖)
1.目錄:把整個week08-3_glm_guma_opencv_texture_lighting複製到桌面的
week09-1_glm_guma_opencv_texture_lighting
2.檔案:把新目錄裡的專案檔week08-3_glm_guma_opencv_texture_lighting.cbp
改名為week09-1_glm_guma_opencv_texture_lighting.cbp
3.CodeBlocks  File-Open開啟week09-1_glm_guma_opencv_texture_lighting.cbp檔
4.再把專案Title改成week09-1_glm_guma_opencv_texture_lighting
就是用Notepad++開啟week09-1_glm_guma_opencv_texture_lighting.cbp檔,把裡面的
week08-3都改成week09-1就好了記得存檔
5.再用CodeBlocks File-Open打開它,就好了!!!



##week09-2_glutSolidTeapot_glutSolid_glutSolidSphere
1.File-New-Project ,Glut 專案week09-2_glutSolidTeapot_glutSolid_glutSolidSphere
2.貼上 GLUT程式11行
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);
        glutSolidCube(0.3);
        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_glutWire_glutWireSphere
1.File-New-Project ,Glut 專案week09-3_glutWireTeapot_glutWire_glutWireSphere
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);
        glutSolidCube(0.3);
        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();
}










沒有留言:

張貼留言