glm-math

    6熱度

    1回答

    我已經開始在我的代碼中使用GLM庫了。看起來不錯,但我不能這樣做: void foo (const glm :: vec3 & arg); foo ({x, y, z}); 因爲構造函數都是顯式的。 這是開始惹惱了我的地獄。我想不出一個很好的理由來禁止這種簡單的價值類型的隱式構造。作者是否盲目地遵循一些不相干的格言,或者他們知道我沒有的東西?

    2熱度

    1回答

    我正在嘗試在glm :: quat中定義的方向翻譯相機的位置。 void Camera::TranslateCameraAlongZ(float distance) { glm::vec3 direction = glm::normalize(rotation * glm::vec3(0.0f, 0.0f, 1.0f)); position += direction * dis

    2熱度

    1回答

    有沒有人使用這些庫? cxx-prettyprint和glm。我遇到了一個難以理解的編譯時問題。 9 #include "Math.h" 10 #include "UnitTestConfigurator.h" 11 #include <vector> 12 using namespace std; 13 14 ostream& operator

    0熱度

    2回答

    我有一個在OpenGL ES場景中旋轉「相機」的傳感器派生的四元數。 此外,我將這個四元數的倒數應用於場景中的某些對象,所以它們「面對」「相機」 - 這可以按預期工作。 問題是,我需要取消這些對象在Z軸上的旋轉。 我如何想出一個在Z分量內沒有旋轉的四元數? 我的測試: 我試圖提取歐拉角,創建一個否定四元數,並建立了旋轉矩陣從兩個四元數相乘這些對象 - 結果是不正確的。 glm::quat rMQ

    1熱度

    1回答

    我正在一個FPS風格的相機上使用OpenGL在我的3D場景飛行。我正在使用GLM來進行數學運算,並且我使用鼠標移動來計算glm :: rotate在x軸和y軸上的方向向量。我有一個靜態向上矢量,因爲我對橫軸上的掃射很好,並且不需要任何滾動。 然而,當我向前朝負z方向和我最終到達攝像機的垂直翻轉場景(Z = 0)(y方向)的中心點。向下移動鼠標現在將導致向上運動。方向向量的計算就像他們應該這樣,我猜

    6熱度

    3回答

    如何在visual studio 2012中設置GLM Library? 開始我嘗試提取GLM librar目錄到我的VS 2012項目目錄(包含GLM庫的目錄名爲GLM-0.9.4.4)。那我就GLM-0.9.4.4添加到 項目 - >屬性 - > VC++目錄 - >包含目錄 ,然後當我試圖用包括在我的代碼#include <glm/glm.hpp>我得到了以下錯誤: 致命錯誤C1083:無法

    2熱度

    2回答

    我想創建自己的四元數類,得到奇怪的結果。我試圖旋轉的立方體像瘋了一樣閃爍,或者它正在變形。 這是我的代碼: void Quaternion::AddRotation(vec4 v) { Quaternion temp(v.x, v.y, v.z, v.w); *this = temp * (*this); } mat4 Quaternion::GenerateMatri

    1熱度

    1回答

    我正在編寫CUDA Raytracer,似乎陷入了一個奇怪的問題。我在Mac OS X上使用CUDA 5.5和GCC4.2.1,並使用GLM 0.9.4.4。 每當我打電話給我的raycastFromCameraKernel函數,我得到這個錯誤: Cuda錯誤:內核失敗!:操作系統調用失敗或此操作系統不支持操作。 一些調試後,我想我已經縮小問題的glm::normalize(temp)功能。如果我

    0熱度

    1回答

    我有一個以0,0,0爲中心定義的立方體,其邊緣伸出到-1/+ 1(即立方體的寬度,高度,深度均爲2)。 我然後設置以下矩陣: glm::mat4 modelMat4; modelMat4 = glm::translate(modelMat4, 0.0f, 0.0f, 200.f); modelMat4 = glm::scale(modelMat4, 200.0f, 200.0f, 200.0f

    4熱度

    1回答

    所以我有存儲在glm :: fquat中的對象的方向,我想用它來旋轉我的模型。我怎麼做? 我想這: glPushMatrix(); glTranslatef(position.x, position.y, position.z); glMultMatrixf(glm::mat4_cast(orientation)); glCallList(modelID); glP