Opengl 精度转换错误编译错误 E0415
Opengl Precision Conversion Error compiling error E0415
在这里,我想实现一个简单的OpenGL函数,类似于glulookat()
:
mat4 Transform::lookAt(vec3 eye, vec3 up) {
vec3 w = glm::normalize(eye);
vec3 u = glm::normalize(glm::cross(up, w));
vec3 v = glm::cross(w, u);
mat4 r = (
u.x, u.y, u.z, 0,
v.x, v.y, v.z, 0,
w.x, w.y, w.z, 0,
0, 0, 0, 1
);
mat4 t = (
1.0, 0.0, 0.0, -eye.x,
0.0, 1.0, 0.0, -eye.y,
0.0, 0.0, 1.0, -eye.z,
0.0, 0.0, 0.0, 1.0
);
mat4 result = glm::transpose(r)*glm::transpose(t);
return result;
}
VS2017告诉我:
Error (active) E0415 no suitable constructor exists to convert from "double" to "glm::detail::tmat4x4<glm::core::type::precision::lowp_float>"
我知道这个问题可能是由类型转换引起的,但是,在我将所有0.0
修改为 0
后,类似的问题再次出现(从 "int"
到 XXX 没有合适的 XXX(。我不知道如何解决它。有什么建议吗?
矩阵声明代码中存在语法错误,mat4 r = (...)
是错误的。正确的语法应该是:
mat4 r(...);
(没有 = 介于两者之间(
相关文章:
- 用MacOS Mojave编译C++:致命错误:mpi.h:没有这样的文件或目录
- std::is_base_of表示ctor编译错误
- 我的项目不会像"undefined reference to `grpc::g_core_codegen_interface'"那样使用未定义的引用错误进行编译
- 在没有定义返回类型的函数中返回布尔值,并将结果保存在无错误的char编译中-为什么
- Qt5:使用QCommandLineParser类时出现奇怪的编译错误
- Qt Cmake 错误编译"GuiSupportQt not found"
- Opengl 精度转换错误编译错误 E0415
- 库将ARM架构错误编译为架构X64
- RT 音频 Mac 错误 g++ 编译错误
- 错误编译Boost.log
- 错误编译QT创建者 / QT窗口小部件示例
- 错误编译MIPS32
- Visual Studio 2013 中的错误(编译和运行代码)
- 链接错误编译qt项目在visual 2010
- 无法用模板错误编译nsgmls
- 奇怪的错误.编译失败
- 如果有人调用c++中的方法,则强制错误(编译时)
- 来自autoconf测试的错误编译命令
- 时间限制超出错误C++编译
- SFML 2.3 和 CodeBlocks 错误编译