現在來試試同乙個模型在多處顯示。在《opengl讀取3ds檔案顯示 + 螢幕虛擬球旋轉》的基礎上加減。
一些全域性變數:
#define genum 100 //顯示數量,可以是任意的(簡單一點,不顯示零頭)
typedef struct _boxbian //外框邊界
boxbian;
boxbian it;//模型邊界
函式 getbian 放到初始化中:
it=getbian(&gothicmodel);//獲得模型外框邊界
函式體:
//獲得模型外框邊界
boxbian getbian(t3dmodel *model) }
//顯示最小最大值
printf("xmin:%f,xmax:%f\n",xmin,xmax);
printf("ymin:%f,ymax:%f\n",ymin,ymax);
printf("zmin:%f,xmax:%f\n",zmin,zmax);
boxbian bian;
bian.xmax=xmax;bian.xmin=xmin;bian.ymax=ymax;bian.ymin=ymin;bian.zmax=zmax;bian.zmin=zmin;
return bian;
}
渲染模型方陣:
void drawdsmatrix(int ge)//方陣 }
}
在顯示中替換:
//drawmodel(gothicmodel, true, false);//繪模型
drawdsmatrix(genum);
效果圖:
3ds模型 流動的雲
在 pudn.com opengl sky 中找來sky.h 和sky.cpp 這個叫天空球,或叫天空穹,頂的 把它加到我們的場景中,為了匹配我們的程式,部分 需要修改.修改後的sky.h sky.h csky 類介面.if defined afx sky h f6c8078a 2217 4f98 ...
3ds模型 光照開關選單
由於顯示效果不理想,現在來試試開啟 和關閉光照效果有什麼區別。加上選單 glutcreatemenu menuproc 選單 glutaddmenuentry 開啟光照 1 glutaddmenuentry 關閉光照 2 glutattachmenu glut right button 關連到右鍵 ...
匯入3ds模型的注意事項
今年年初的時候參加了imagine cup,發現那時候留下來的小模型真是好用。哪兒都能用,都不用重新做了 這次的動畫大作業我也打算把它們拿出來show一下,不用白不用。關於opengl匯入模型,雖說理論上來講什麼格式的模型都ok,只要你知道它們的儲存結構。但實際上現在用的最多最常見的還是匯入3ds格...