OPENgl入門過程中遇到的問題

2022-05-30 01:42:13 字數 869 閱讀 6221

開發內容大概為:

使用庫檔案註冊乙個繪製視窗並命名。使用opengl繪製兩個長方體當作動畫短片的空間。在兩個空間之間繪製乙個管道,使得在第乙個空間的小球可以通過該管道運動至另一空間。製作若干小球,使它們在第乙個空間隨機運動,並有一定機率運動到第二個空間中去。給空間中新增光照與材質為每個模型新增紋理利用碰撞實現小球在撞擊空間邊緣時產生特定的碰撞效果(類似**閃光效果)。在第乙個空間中通過粒子來實現四個「噴射」動作特效渲染環境。

問題一:  使用實驗一所使用的控制台方式,不適合本實驗的方式,不靈活。

解決辦法:若使用控制台方式,只能在display函式中加入小球繪製過程,與重新整理過程。但是我們的實驗需要引入大量的其他類,需要靈活處理。所以我們採用了從網上學習到的glwindows庫檔案來註冊視窗,並新增需要的函式。

問題二: 在設定小球碰撞的時候,小球剛開始附著在上面然後不會動。

解決辦法:由於碰撞檢測判斷的是射線與面或球的交點,需要的引數為面的發現和射線的發現,但是當我在設定上面的法線時設定成了相反方向。經過修改後程式執行正常。

問題三:加入粒子特效後,並無顯示。

解決辦法:在走投無路的時候我將其他所有的繪製物體方法注釋後新增粒子特效,發現是由於粒子特效過小所以在圖中無顯示。所以經過設定引數,將粒子特效設定成正常大小。

問題四: 加入摩擦力時速度並無變化

解決辦法:加入摩擦力的原理為在小球碰撞右面盒子的時候,將速度設定為速度的百分之50.但是測試時碰撞並不減速。最後經過斷點除錯之後發現摩擦因數為0.由於設定引數的時候摩擦因數設定為int型別,而摩擦因數為小數。改變摩擦因數為double之後產生了正確的效果。

實驗效果圖:

React Native 開發過程中遇到的問題

問題1 view巢狀scrollview時,scrollview不能滾動。view巢狀listview時,listview不能滾動。react native scrollview inside view doesn t scroll.react native listview inside view...

寫Shader部署到手機的過程中遇到的問題

今天遇到了乙個說不上奇怪的問題,這裡記錄一下 在電腦端的shader是這樣寫的 uniform sampler2d texture uniform vec2 sizeinfo varying mediump vec2 texcoord const vec2 src size vec2 1.0 siz...

MySQL過程中遇到的問題

my.ini檔案中搜尋mysqld關鍵字,在下面新增skip grant tables 我的my.ini配置如下 client 設定客戶端埠號 port 3306 設定預設資料編碼格式 default character set utf8 mysqld skip grant tables 設定為自己...