Week03-1模型下載
1. 去https://jsyeh.org/3dcg10/下載範本 Win32.zip data.zip
2.解壓縮win32.zip及data.zip到同個資料夾
Week03-1 Translate
1. 用codeblock創建GLUT專案,過程如前幾周一樣
編寫出茶壺圖案的程式碼
登入Github 選取Gist功能 輸入檔名及附檔名 使用Embedded JavaScript的方式來讓程式插入至Blog的HTML
3.使用程式碼glPushMatrix及glTranslatef來改變茶壺的位置
Week03-2 Translate滑鼠應用
1.首先複製上個程式碼繼續演用並改寫
開頭改寫為
#include <GL/glut.h>
float X=0,Y=0,Z=0;
void display()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
glPushMatrix();
glTranslatef(X,Y,Z);
glutSolidTeapot(0.3);
glPopMatrix();
glutSwapBuffers();
}
2.新增滑鼠相關的座標程式碼
void mouse(int button,int state,int x,int y)
{
X=(x-150)/150.0;
Y=-(y-150)/150.0;
}
3. 在int main內追加glutMouseFunc(mouse);程式碼
確認視窗內圖形是否會因滑鼠點擊而影響位置座標 以下為成果
Week03-3 Translate滑鼠應用繪畫
1.衍用03-2的程式碼 開頭多加 #include<stdio.h>
void mouse 多加
if(state==GLUT_DOWN)printf(" glVertex2f(%.2f,%.2f);\n",X,Y);
2.在 void display 部分刪掉部分程式碼 剩下
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
glutSwapBuffers();
3.執行視窗 開始點擊確認想要的頂點座標
4.利用以下程式碼開始繪畫
glBegin(GL_POLYGON);
glVertex2f ( XY座標 );
glEnd();
沒有留言:
張貼留言