2017年11月30日 星期四

陳映羽的圖學 week12

1. 下載程式檔案
2.複製程式碼並重新開一個glut,貼上

3.在main加入一些參數

4.執行


楊喻文的學習手札 20171130

week12

Scene 場景

Mocap、Skeleton、Model

1.

到moodle下載"myGL_..."開頭的檔案
  跑執行檔體驗一下(會出現四個框框)
  
  .cpp開啟 試著自己編譯
   但是其實要自己開一個openGL的專案,再把.cpp內容丟到main當中,再加一些工
   加工
    這算是新版本,因為當初覺得不用傳參數,但是好像又應該傳參數才對,所以有兩種版本
      執行結果會和上面的.exe執行結果相同

2.

開啟processing
到速寫本下載兩個東西
I. collada
II.picking
都下載好之後,到檔案->範例程序

A.

找到collada資料夾,打開Viewer2D
直接執行之後,可以看到灰灰的畫面
如果想要看圖片,找到框紅線這行,把其中一個false改成true
就可以看到圖片(每個false都是一個模型)
現在我把第三個false改成true,可以看到一張模型出現了
按照上面指示,按不同鍵的時候,會有不同效果出現
(我按了很多不同鍵+滑鼠之後的結果)


讀模型三部曲
1.宣告模型
2.讀入模型
3.做模型

1.宣告模型
2.讀入模型
model=.....
3.做模型
do......

B.

開啟picking的simple
直接執行可以看到兩個小立方體在轉轉轉
本來畫面應該是一個橘色和一個黃色框框在轉,沒殘影
然後滑鼠移動到橘框框上時,外面黑框框會變成橘色,黃色也是
但是因為本人筆電顯卡有問題,所以顯示不出來>"<

3.

展示一些其他作品

week12-Mocap, Skeleton, Model

Unity v.s. OpenGL

雷亞遊戲:楊善詠
他們不看使用unity的能力,因為大家都會。他們注重C++、C#、圖學等等基本能力


編譯老師的程式
記得把setting裡compiler裡的第二個勾勾給勾掉

用P語言開啟函式庫裡面collada的view2D



老師的檔案
可以用P語言讀取動作捕捉的骨架

羅浩倫的學習筆記 Week12

本週學習重點

1.主題: Scene 場景
2.主題: Mocap, skeleton, Model
3.期末作品分析&協助

上課紀錄

試著編譯老師寫的程式碼

本周期末專期進度

performance.h撰寫(prototype)
用來整合讀取pmd模型和vmd動作的檔案

程式碼:

#ifndef PERFORMANCE_H_INCLUDE
#define PERFORMANCE_H_INCLUDE

#include "libPMD/PMD.h"
#include "libPMD/VMD.h"

class Performance{
public:
    Performance();
    ~Performance();
    bool loadPmd(char *pmdPath);
    bool loadVmd(char *vmdPath);
    void displayPMD();
    void updateAnimationTime(double deltaTime);
    void applyMotion(char *vmdName);
    void updateMotion(char *vmdName, double deltaTime);
    PMD* getPMD();
    VMD* getVMD();
private:
    PMD* _pmd;
    VMD* _vmd;
    double _animationTime;
};

#endif //PERFORMANCE_H_INCLUDE

世弦 qlqweek 12

一、Scene 場景:

1.從moodle 下載 myGL_Frustum 221_Multiview,並試著編譯:

2.新增glut 專案,並把myGL_Frustrum_skeleton.cpp  貼上去:

3.修正(新增這兩行):

int main(int argc, char **argv)
{
    glutInit(&argc, argv);
    ...
}

4.執行:



5. 跑processing 範例程式:



6.跑老師寫的程式testBVH:

肯尼斯的學習筆記 Week 12

Scene 場景


範例檔案



到Moodle下載範例檔案:
myGL_Frustrum221_MultiView_2012_1221-20171130T060949Z-001.zip

開啟CodeBlocks新增GUUT專案,將範例檔案的.cpp檔加入專案

修改一下程式
int main(int argc, char**argv)
{
    glutInit(&argc, argv);
    ....
}

就能成功執行徎式了



P語言


下載Processing並安裝,添加庫文件 -> 分類選"3D"


添加 "Collada""Picking"

Viewer2D範例程序


安裝好後,開啟Viewer2D範例程序
文件 -> 範例程序 -> Contributed Libraries -> Collada -> Viewer2D

更改 modelsEnabled[]後面的Boolean參數可讀入不同的圖檔
執行程式


按 a,d,s,y,x,c,1,2,3,p,o 再拖動滑鼠會有不同功能效果

Simple範例程序


再開啟Picking的Simple範例程序
執行程式


滑鼠指著不同的方塊邊框會變成方塊的顏色

周欣融 week12

執行老師的程式碼

  1. 從moodle下載 myGL_Frustrum221_MultiView_2012_1221-20171130T060949Z-001.zip,解壓縮
  2. 新增codeblocks GLUT project
  3. 將解壓縮後的檔案複製到GLUT project裡面,不需要複製.exe檔
  4. 右鍵點選左側project圖案->add file,將新的檔案新增進去
  5. 右鍵點選左側main.c->remove file from project,將原本的main.c刪除,避免重複的entry point
  6. 如果編譯時出現M_PI的相關錯誤,可以到Settings->Compiler,取消所有勾勾


結果

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

Processing - Colladaloader: Viewer2D

  1. 添加library: 速寫本->引用庫文件->添加庫文件,下載collada loader
  2. 文件->範例程序
  3. 展開Contributed Libraries -> Collada -> Viewer2D,雙擊開啟
  4. 重點程式碼解釋





結果

------------------------------------------------------------------------------------------------------------------------------
Processing - Picking: Simple

  1. 添加library: 速寫本->引用庫文件->添加庫文件,下載picking
  2. 展開Contributed Libraries -> Picking -> Simple,雙擊開啟
  3. 重點程式碼解釋

結果
------------------------------------------------------------------------------------------------------------------------------
Processing - 老師的機器人程式碼


  1. 從moodle下載 testBVH.zip,解壓縮
  2. 下載過processing後,直接進入testBVH/testBVH資料夾,打開testBVH.pde
  3. 內容講解: testBVH/testBVH/data 裡面的habdZ.bvh,其實就是機器人的骨架點,呈現階程式
結果

圖學筆記乄Week12

Scene、Morap,Sketon,Model

一.3D介面教學

1.processing-Library 2D 

首先,下載兩個library 
=>(綠勾部分)

開啟範例程式 run:
=>
程式碼中:

boolean modelsEnabled[] = new boolean[]{false,false,false,false,false,false,true};

          if (modelsEnabled[0]) models[0] = ColladaLoader.load("sketchup/truck.dae",this,optionals);
          // a beer can with textures, basic shapes and lines
          if (modelsEnabled[1]) models[1] = ColladaLoader.load("sketchup/duff.kmz",this,optionals);
          //default sketchupmodel with transparent textures and colors
          if (modelsEnabled[2]) models[2] = ColladaLoader.load("sketchup/ghostly_susan_at_glasswall.kmz",this,optionals);
          //a kmz just with one triangle, one texture and three lines
          if (modelsEnabled[3]) models[3] = ColladaLoader.load("sketchup/simpleshapes.kmz",this,optionals);
         
          optionals.setProperty("LinkingSchema", "Blender"); //blender parsing profile
//          optionals.setProperty("debuglevel", "4"); //4 = extreme details 3 = details, 2 = medium, 1 = abstract , 0 = none (default)

         //Blender formated file (to see it: scale bigger)
         //a transparent skull (triangles only)
          if (modelsEnabled[4]) models[4] = ColladaLoader.load("blender/halloween_crystal.dae",this,optionals);
          //same skull but textured (triangles only)
          if (modelsEnabled[5]) models[5] = ColladaLoader.load("blender/halloween_textured.dae",this,optionals);
          //same skull as grid (lines only)
          if (modelsEnabled[6]) models[6] = ColladaLoader.load("blender/halloween_grid_only.dae",this,optionals);

藍色部分的TRUE/FALSE 與綠色部分對應 不同true/false組合有其意義。
=>

=>

=>

---------------------------------------------------------------------
額外介紹:Unity
=>一個簡單操作,做出圖學的軟件,幾行就能展現出OPENGL幾十行程式碼。
Unity基礎底層是C/C++。
=>內容多,網路有許多教學。
=>優點:他可以專業(懂程式,能寫openGL的人)與非專業人士共同合作製作遊戲
---------------------------------------------------------------------

Morap,Sketon,Model:

---By Processing
簡單的樹狀結構->影像動作分析

=>

=>學習從模仿開始,老師實力高深,說寫就寫出來了!
=>於是分享給學生們看有沒有啟發。或許學下程式碼中的功夫加以應用
(程式碼老師版權,不po)

--------------------------------------------------------------------
其他老師的程式: