问题标签 [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.
c - 包含glad.h时的分段错误
我正在遵循 GLFW 入门指南,但我似乎无法让它与 GLAD 一起运行。
这是我的 C 文件 (prac.c)
我通过运行这些命令的 Makefile 编译它:
每当我尝试运行可执行文件时,都会出现分段错误。但是,当我注释掉#include<glad/glad.h>
并gladLoadGL();
构建它时,它会运行。这使我相信在包括时会发生分段错误glad.h
,但是对于我的一生,我无法弄清楚为什么。
c++ - OpenGL 随机运行
我之前制作的应用程序运行没有任何问题。现在,当我对其进行一些调整时,它有时会运行,有时不会。重新启动计算机时,程序有 50% 的机会可以正常运行,但如果没有,则在我重新启动之前不会。所以它与重新启动有关。当当前版本不运行时,即使是功能齐全的先前版本也不会运行。当前版本运行时,其他以前的版本也会运行。
程序一直运行到glfwCreateWindow()
,然后触发断点。
调用堆栈:
-> vrfcore.dll!_VerifierStopMessageEx()
vfbasics.dll!_AVrfpRTIInitializeCriticalSection()
nvdlist.dll
代码:
编辑:
刚刚发现如果调用 exe 文件,例如 program.exe(原始名称),它会崩溃。如果我更改名称,它运行没有问题。知道什么会导致这种情况吗?
linux - 显式链接期间未找到函数 glGetString
因为理解我的问题似乎是一个更大的问题:这不是关于任何源代码或编程实现,而是关于链接现有和工作的程序!所以让我再试一次:
我有一个可以在 Windows 和 Linux 上运行的应用程序,并使用 OpenGL 的 GLAD 包装器。(对于所有从未听说过 GLAD 的人:is 是 OpenGL/MESA 的包装器,可确保为定义的 OpenGL 子集/版本正确加载符号)。它适用于 Windows,但最近我发现它不再适用于 Linux(更具体的是 Ubuntu 18.04 LTS)。
问题是:调用
在函数gladLoadGLLoader() 中返回NULL,表示找不到库函数glGetString。为了澄清这一点:不是函数 glGetString() 返回 NULL,当尝试检索指向 glGetString的函数指针时,由于某种原因无法找到该函数,因此返回 NULL。
所以我的问题是:什么 Linux 库会提供函数 glGetString()?
谢谢!
c++ - 将 /usr/local/include 添加到 Xcode 默认包含搜索路径
默认情况下,Xcode 似乎无法在 /usr/local/include 上找到头文件:file not found error。
我知道可以通过在 target -> Build Settings -> Header Search Paths: workaround添加路径来修复它。
是否可以让 Xcode 将 /usr/local/include 视为系统头搜索路径?所以它可以找到标题而不将它们添加到:目标 -> 构建设置 -> 标题搜索路径。
c++ - 使用 Opengl 函数时程序崩溃 (GLFW + GLAD)
我从教程开始学习 Opengl,为此我使用了 GLFW 和 GLAD。我创建了这段代码来绘制一个简单的三角形:
可执行文件是由这个 makefile 生成的:
代码编译没有任何错误,但是当我运行程序时它崩溃了。
我还注意到控制台不打印 glGenBuffers () 函数之后的消息。
我研究了与此类似的问题,但没有一个能解决问题。
Opengl的版本是1.4
opengl - 为什么图元是三角形时显示的图形,而图元是四边形时却消失了?
我是 OpenGL 的新手。我想渲染一个简单的矩形,当图元为 时显示矩形GL_TRIANGLES
,但是当我使用 时GL_QUADS
,矩形消失了。我不知道为什么。以下是一些核心代码:
但是当我如下设置矩形时indices
,draw
矩形消失了:
矩阵是一样的,只是图元不同,为什么不能画矩形呢?我应该如何改变它? 接下来是主要功能:
c++ - OpenGL改变统一改变先前的绘制
我有这个示例代码
我拥有的着色器:
顶点:
分段:
据我了解,对于每个 glDraw 调用,我应该得到两个矩形,一个在另一个之下,有两种颜色。但相反,我得到一个矩形进行第二次绘制。
我假设,两个绘图调用实际上都为我绘制了一个相同的矩形。但我显然不明白为什么。
我尝试在两者之间进行刷新,在其间创建第二个缓冲区、glUseProgram 等。您可以在此处
查看完整代码
c++ - EXC_BAD_ACCESS (code=1, address=0x0) 当调用“glClear(GL_COLOR_BUFFER_BIT);” 在 glfw 的 hello world 程序中
我正在尝试在 MacOS 上的 CLion 中安装 OpenGL。我的程序可以编译,但是当我运行它时,我得到了这个崩溃报告:
它与 glfw 网站上的代码不完全相同,我不得不导入高兴,在第三行添加了宏和几个打印。网站上的代码甚至没有编译。那是代码:
我使用 HomeBrew 安装了 glfw 库,并在此网站https://glad.dav1d.de上下载了 glfw 库和 gl 版本 4.1 和所有扩展。我在项目的文件夹中添加了所有 zip 文件libs/glad
夹并将其链接到CMakeLists.txt
文件中。那是CMakeLists.txt
文件:
当我在 CLion 的调试器中运行它时,它会在glClear(GL_COLOR_BUFFER_BIT);
函数处停止并给我该错误消息EXC_BAD_ACCESS (code=1, address=0x0)
。当我删除那条线时,我会按预期得到一个黑色窗口。有谁知道我该如何解决这个问题?
c++ - 当 Visual Studio 未以管理员身份运行(GLFW/glad 应用程序)时,KernelBase.dll 异常代码 0x0EEDFADE(但没有崩溃)
我正在使用 Visual Studio 2019,并有以下简单的 OpenGL 程序作为最小示例(使用 GLFW 和 GLAD):
该程序运行良好,但在运行时,我会在调试输出窗口中以几秒到大约 20 秒甚至更多秒的间隔得到类似的行:
该程序继续运行,运行良好,并且退出代码为 0。当我在 Visual Studio 之外执行 EXE 文件时,它也运行良好。当我将 VS 设置为中断所有异常时,我看到异常发生在此调用中(win32_init.c,“createHelperWindow”方法):
我已经在谷歌上花了几个小时试图找到解决方案。我得到的唯一“提示”是当我以管理员身份运行 VS19 时不会发生异常。有人知道是什么原因造成的吗?或者我应该忽略它,因为它运行良好?不过那感觉不对……
更新/解决方案
我遵循了本回答中的提示(请参阅接受的答案)。在对第一次机会异常启用中断后,我得到了以下堆栈跟踪:
DLL“ammemb64.dll”也出现在模块窗口中。它属于“Actual Multiple Monitors”软件,关闭该应用程序后,异常消失了。
c++ - 即使在链接相应的包含文件之后,C++ 编译器也会抛出 C3861“找不到标识符”
我正在尝试为我的一个小项目同时构建一个 opengl 脚本和一个 qt GUI 窗口。即使在将glad、glfw 头文件和glfw3.lib 文件链接到我的编译器设置并将glad.c 导入我的项目之后。这是发生错误的代码
这是输出(我的项目称为“simulador_7”):
为什么会这样?我一次又一次地链接相同的库但无济于事,清理了项目。我的其他 openGL 实践项目可以毫无问题地链接到其相应的库/包含。我已经包含了我的两个库的照片并在此处包含文件夹[1] 。如您所见,我已经包含了glad/glfw3 目录以及QT 对应的目录。这些文件夹之间可能有重叠吗?在我添加 include/QTWidgets 路径之前,高兴的标题工作得很好。