2014-09-22 2 views
2

Я пытаюсь учебник по OpenGL 3.3, как представлено: http://www.opengl-tutorial.org/beginners-tutorials/tutorial-3-matrices/OpenGL 3.3 Проекция Матрица ошибок

Это говорит проекционная матрица может быть создан с помощью ГЖС, как:

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

Вы передаете двойную попытку передачи аргументов float.

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

oooh, thanks .... не мог догадаться, что может быть проблемой из-за ошибки компилятора. – mkuse

+2

@mkuse: шаблоны C++ - неприятные мелочи. Лично я стараюсь избегать их в моем коде, где они не делают вещи намного проще или лучше читабельны. Они качаются, если вам нужно создать код для нескольких комбинаций/перестановок типа. Явный тип instanciation - BTW, что вы могли бы сделать также: 'glm :: перспектива (...)' – datenwolf

Смежные вопросы