2012年5月9日 星期三

OpenGL: Nate Robins - Tutors 00

since: 2012/05/09
update: 2012/05/09

reference:
1. Nate Robins - OpenGL - Tutors
2. Linux 基本指令

教學程式的專案調整


A. 說明:
     接下來的文章, 主要會對: Nate Robins - OpenGL - Tutors 教學程式本身的執行結果,
     作部分相關的說明, 以期在開始寫程式前, 能對繪圖觀念有更多的瞭解.

-------------------------------------------------------------------------------------------------

B. 下載原始檔案並編譯執行:
     1. 在教學程式網站中, 下載: Tutors source code package (tutors-src.zip 920KB) .

     2. 下載後, 解壓縮到自定的專案目錄位置(在此為: /Lanli/RD/Projects/OpenGL),
          進入 tutors 目錄後, 點二下 tutors.xcodeproj 開啓此教學專案. 

     3. 直接執行專案, 會出現以下的錯誤訊息:
         說明:
         a. 在此專案裡, 預設執行的 active scheme (左上方) 為: texture
         b. 錯誤訊息為: data/fishermen.ppm: No such file or directory

-------------------------------------------------------------------------------------------------

C. 調整專案:

     1. 根據之前的錯誤訊息, 稍微看一下 texture.c 檔案:
....
int main(int argc, char** argv)
{
    image = glmReadPPM("data/fishermen.ppm", &iwidth, &iheight);
    if (!image)
        exit(0);
....
    return 0;
}

    說明: 在讀取 .ppm 檔案時, 其讀取的相對位置是在 data 目錄下.

     2. 但是剛剛我們解壓縮檔案後, 在 tutors 專案目錄下有一個 data 目錄,
         並且在 data 目錄內也有許多的模型檔案, 看起來並沒有錯啊.

     3. 原因是: 當 Xcode 的程式實際在執行時, 預設會去讀取的文件目錄是在:
         ~/Library/Developer/Xcode/DerivedData 目錄下的相對專案名稱目錄.
         $ cd ~/Library/Developer/Xcode/DerivedData
         $ ls -rtl // 列出所有檔案的詳細資料(最久排至最近)
....
drwxr-xr-x@ 6 lanli  staff  204  4 24 15:56 tutors-fxcrcvuschgpjhahdvxmcxojrmxs
drwxr-xr-x@ 6 lanli  staff  204  5  5 09:41 hello-fvorgiypjrbadhequkcvfjqbenmd
drwxr-xr-x@ 6 lanli  staff  204  5  8 11:11 bunnyTest-eptjovdmltxrjjasgeinzgzhjfow
drwxr-xr-x@ 4 lanli  staff  136  5  8 14:32 teapot-ciclmzkmulwutdcgkxofkguajbdw    

     4. 解決方式:
          a. 說明: 必須針對每個 active scheme 來設定, 以下以 texture 為例.

          b. 在選取 texture scheme 的情況下, 點選 "Edit Scheme".

          c. 確認上方的 Scheme(可切換) 為 texture
             > 左方選取 "Run texture Debug"
             > 選擇右邊的 Options Tab
             > 於下方的 Working Directory 勾選: Use Custom working directory:
             > 選取目錄位置(在此為: /Lanli/RD/Projects/OpenGL/tutors)
             > OK

          d. 按照同樣的方式, 分別對以下其它的 scheme 作相同的調整:
               projection, lightposition, shapes, fog, transformationlightmaterial.

              備註: 其實可以在 "Edit Scheme" 時, 切換上方的 Scheme
                         來分別設定好後(copy目錄位置), 再按下 OK.

-------------------------------------------------------------------------------------------------

D. 編譯與執行:
      選取 texture scheme, 編譯執行結果如下:

沒有留言:

張貼留言

注意:只有此網誌的成員可以留言。