2014-09-22 122 views
2

我想作爲呈現於OpenGL 3.3教程:http://www.opengl-tutorial.org/beginners-tutorials/tutorial-3-matrices/的OpenGL 3.3投影矩陣錯誤

它說的投影矩陣可以用GLM爲創建:

glm::mat4 Projection = glm::perspective(45.0, 4.0/3.0, .1, 100.0); 

然而,當我嘗試編譯我的代碼,與它,我得到以下錯誤:

error: conversion from ‘glm::detail::tmat4x4<double>’ to non-scalar type ‘glm::core::type::mat4 {aka glm::detail::tmat4x4<float>}’ requested 
make: *** [src/main.o] Error 1 

什麼可能是錯的?

回答

4

您正在傳遞一個double try傳遞float參數。

glm::mat4 Projection = glm::perspective(45.0f, 4.0f/3.0f, .1f, 100.0f); 
+0

oooh,謝謝....不能猜測這可能是編譯器錯誤的問題。 – mkuse 2014-09-22 06:30:07

+2

@mkuse:C++模板是令人討厭的小事情。就我個人而言,我嘗試在我的代碼中避免它們,它們不會使事情變得更容易或更易讀。如果你不得不爲一些類型組合/排列實例化代碼,他們就會搖擺不定。顯式類型實例是順便說一句,你可以做的也是:'glm :: perspective (...)' – datenwolf 2014-09-22 08:33:17