hellovr_opengl_main.cpp 目前代码架构缩略图

博客涉及VR与OpenGL相关内容,但具体信息缺失。推测可能围绕VR场景下OpenGL的应用等信息技术内容展开。

截至20180422
你遇到的错误是由于 `glm::ortho` 和 `glm::value_ptr` 无法找到,这通常意味着 **GLM(OpenGL Mathematics)库未正确包含或使用方式有误**。 --- ## ✅ 错误分析: ### 报错内容: ``` C3861: 找不到标识符 "value_ptr" C3861: 找不到标识符 "ortho" E0135: namespace "glm" 没有成员 "value_ptr" E0135: namespace "glm" 没有成员 "ortho" ``` ### 原因: - `glm::ortho()` 是用于创建正交投影矩阵的函数。 - `glm::value_ptr()` 是用于将 GLM 向量/矩阵转换为指针以便传给 OpenGL 的函数。 - 这两个函数在现代 GLM 版本中被移到了不同的头文件中(不再是默认包含的)。 --- ## ✅ 解决方案: 你需要显式地包含以下两个头文件: ```cpp #include <glm/glm.hpp> #include <glm/gtc/matrix_transform.hpp> // 包含 ortho #include <glm/gtc/type_ptr.hpp> // 包含 value_ptr ``` ### 修改后的代码片段如下: ```cpp // 在文件开头添加这些包含项 #include <glm/glm.hpp> #include <glm/gtc/matrix_transform.hpp> // glm::ortho #include <glm/gtc/type_ptr.hpp> // glm::value_ptr ``` 然后你的以下代码就可正常编译运行: ```cpp glm::mat4 projection = glm::ortho(0.0f, 800.0f, 600.0f, 0.0f); glUniformMatrix4fv(glGetUniformLocation(shaderProgram, "projection"), 1, GL_FALSE, glm::value_ptr(projection)); ``` --- ## ✅ 补充建议 如果你使用的是较老版本的 GLM(比如 v0.9.5 或更早),可能不需要额外包含 `type_ptr` 或 `matrix_transform`。但为了兼容性和未来开发考虑,推荐始终显式包含所需模块。 --- ## ✅ 安装 GLM 如果你还没有安装 GLM,请从 [https://github.com/g-truc/glm](https://github.com/g-truc/glm) 下载源码,并将其解压到项目目录中,或者通过包管理器安装: ```bash vcpkg install glm ``` ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值