想說一個個找原因很麻煩,只好假設是儲存方面的驅動程式,重裝一次 WinXP,但沒裝 NVIDIA IDE SW,果然被我猜中。
為了進一步確認,一切裝好後,設好系統還原,再裝上 NVIDIA IDE SW,重開機後就進不了 WinXP 了,證明無誤。
只有 WinXP 的 NVIDIA IDE SW 有影響,在 Win7 無影響。
void SimLoop() { // dSpaceCollide負責計算空間中兩個幾何物件的可能的碰撞, // 我們必須提供callback函數的位置讓他來計算這些資料。 // callback函數負責在加入碰撞節點前,評估可能的交互作用,碰撞節點的群組叫做contactgroup // 這讓我們在把碰撞節點加入到群組前,可以設定其可能行為 // 第二個參數則是個指標指向任何我們想傳入callback函數的資料。 // 下個章節我們會講到nearCallback。 dSpaceCollide(Space, 0, &nearCallback); // 現在我們使用dWorldQuickStep來進行進階的模擬,這是dWorldStep的快速版本,但精確度會稍低。 // 除了World物件ID之外,我們也將step size傳入,每個 step 會根據一個固定的數字的最小step或迭代來 //更新模擬。 // 預設次數為 20 但妳可以用dWorldSetQuickStepNumIterations來改變數值
dWorldQuickStep(World, 0.05); //移除所有world中已發生過的暫時性的碰撞節點 dJointGroupEmpty(contactgroup); // 當我們呼掉 DrawGeom 時,會根據物件的幾何形狀來繪出畫面 DrawGeom(Object.Geom[0], 0, 0, 0); }