问题标签 [glad]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
578 浏览

c++ - 高兴导致 glfwSwapBuffers 返回错误消息

代码

背景信息
我的操作系统是最新版本的windows 10
我使用visual studio v16.6.3(最新)
我很新(今天刚学习openGL)并且正在尝试学习如何使用openGL制作图形
我使用gold和GLFW

问题
该程序应该生成一个空白的无响应窗口
除非在运行程序时,该窗口被创建,但随后 glClear 命令返回错误“Project1.exe 中在 0x0000000000000000 处引发的异常:0xC0000005:访问冲突执行位置 0x0000000000000000。”

我尝试过
(不出所料)注释掉问题代码导致程序正确运行
我已经重新安装了我的显卡驱动程序
我尝试在生成器站点上安装一堆不同的组合
我尝试在 32 位和 64 位中运行程序(使用相应的 GLFW 位类型)
注释掉 #include <glad.h> 和 <glad.c> 导致程序正常运行

图像
程序属性:
. C/C++:
. . 一般: https
://i.stack.imgur.com/nirHo.png 。 链接器:
。. 一般: https
://i.stack.imgur.com/zHkLT.png 。. 输入: https ://i.stack.imgur.com/TbEiM.png
文件:
. GLFW: https
://i.stack.imgur.com/DTxeX.png 。 很高兴: https ://i.stack.imgur.com/GXNaw.png

0 投票
0 回答
436 浏览

c++ - 如何让 Visual Studio 代码在 Visual Studio 代码、ubuntu 中检测到glad.h

我已经尝试更改 c_cpp_properties 文件以包含glad.h 的安装路径,如下所示:

我什至将glad.h 文件复制粘贴到了usr/bin,大多数可执行文件(包括g++)都在其中,而vs 代码仍然无法检测到该文件。错误是"glad.h: no such file or directory". 甚至智能感知在您编写文件时也会显示该文件。有人可以指出我正确的方向。

我将发布我的代码以供参考,它是 opengl 中的一个简单三角形:

0 投票
1 回答
1050 浏览

c++ - 在 OpenGL 中旋转/平移对象

我目前正在使用 OpenGL(高兴,GLFW,GLM)。我刚开始学习,找不到正确的方法来翻译并实际渲染它。例如,我想每帧旋转 1 度。我已经看过有关如何使用 GLM 进行这些翻译的教程,但我似乎无法弄清楚如何采用这样的方法:glm::mat4 translate = glm::translate(glm::mat4(1.f), glm::vec3(2.f, 0.f, 0.f));并将其应用于像这样呈现的对象:

我真的不确定我不理解什么,任何帮助将不胜感激。

编辑:我知道您可以更改顶点并重新绑定数组,但这似乎会很慢。那行得通吗?

0 投票
1 回答
174 浏览

c++ - OpenGL 函数实际上是特定于上下文的吗?

我知道在初始化上下文后我必须将glfwGetProcAddress函数传递给函数。gladLoadGLLoaderGLFW 文档说这个函数返回当前上下文的指定函数的地址。根据这些信息,如果我想在另一个上下文中绘制一些东西,我必须输入

每次我想更改绘图上下文。glfwMakeContextCurrent但是,只需使用函数更改上下文就足够了。文档还备注

不保证给定函数的地址在上下文​​之间是相同的。

但似乎返回的地址在上下文​​之间实际上是相同的(至少在 Windows 中)。问题是,为了实现稳定和便携的行为,这样做的真正方法是什么?

0 投票
1 回答
1114 浏览

opengl - 为什么要使用外部 OpenGL 加载器函数而不是 GLAD 的内置加载器?

一段时间以来,我一直在使用 GLAD 和 SFML,并且一直在使用 GLAD 的内置函数加载器,gladLoadGL它对我来说效果很好。现在我在看 GLFW,它在他们的指南和 Khronos opengl wiki 上都说你应该使用它gladLoadGLLoader((GLADloadproc) glfwGetProcAddress)。有什么特别的原因吗?

0 投票
0 回答
13 浏览

opengl - 在 Ubuntu 18.04 中链接 glfw3 的问题

我正在尝试使用 OpenGL 运行单个程序:

但是如果我尝试用这个 Makefile编译它,我会得到以下错误:

我也在使用 GLAD。

结果glxinfo | grep version

附加信息:我已经编译glfw3了自己,我正在尝试按照本教程学习 OpenGL 基础知识。Microsoft Visual Studio 2019我没有使用,而是使用Visual Studio Code.

我使用的所有代码都可以在这个存储库中找到。

0 投票
1 回答
87 浏览

c++ - 我可以在 SFML 2.5.1 中使用什么函数/类成员来加载高兴

我将如何在 SFML 2.5.1 应用程序中初始化高兴?是否有函数或类成员可以做到这一点?我正在关注learnopengl 的教程(但这次使用 SFML,而不是 GLFW)

编辑:

澄清一下,我的意思是,对于高兴和 GLFW,您使用 gladLoadGLLoader((GLADloadproc)glfwGetProcAddress)

加载函数来加载OpenGL。是否有为此的 SFML 2.5.1 功能,还是我必须自己编写?

0 投票
0 回答
113 浏览

c++ - 在 OpenGL 中使用多个纹理(GLFW/GLAD)

我正在开发一个基本上只是 2D 绘画的 OpenGL 项目。您可以从画布中添加/删除“块”并执行其他一些基本操作。我正在尝试实现多个纹理并且很难做到这一点。需要明确的是,我不需要多个着色器,只需要不同的纹理。这是我的 Block 类的样子:

就是 shader_s 标头的来源(learnopengl)。

基本上,主要问题是构造函数中有关 OpenGL 内容的代码被下一个纹理覆盖(我认为这是问题所在)。结果是除了最后一个创建的纹理类之外的所有纹理类都被忽略。我不知道如何解决这个问题,因为我不能 100% 确定所有 OpenGL 函数的作用。

0 投票
0 回答
24 浏览

c++ - Visual Studio 找不到glad.h

Visual Studio 找不到glad.h。

为了测试一切是否正常,我使用了以下代码:

这些是我在编译上面的代码时遇到的错误:

错误

0 投票
0 回答
412 浏览

c++ - 与 glfw 链接时出现问题

嗨,我是编程初学者,我正在尝试学习 c++ openGL,但我不知道为什么会发生这些错误。如果有人能帮助我理解我做错了什么,我将不胜感激。

我正在使用代码块、MinGW 和 Windows 10。

我将高兴和 GLFW 的包含文件夹的目录放在搜索目录下的编译器下。我将 GLFW 的 lib 文件夹的目录放在了搜索目录下的编译器下。我还将 libopengl32.a、libglfw3.a 和 libglfw3dll.a 放在链接器设置下。

错误:

代码: