标签: glew

Opengl版本麻烦glew.h

我正在开发一个OpenG L应用程序,需要使用glew库.我正在使用Visual Studio C++ 2008 Express.

我使用gl.h,glu.h和glut.h编译了一个程序就好了,它完成了它应该做的事情.但是在包含glew.h之后它仍然编译得很好,但是当我尝试:

glewInit();
if (glewIsSupported("GL_VERSION_2_0"))
    printf("Ready for OpenGL 2.0\n");
else {
    printf("OpenGL 2.0 not supported\n");
}
Run Code Online (Sandbox Code Playgroud)

它不断印刷:

"不支持OpenGL 2.0".

我试图将它更改为glewIsSupported("GL_VERSION_1_3")或甚glewIsSupported("GL_VERSION_1_0")至它仍然返回false意味着它不支持OpenGL版本.

我有一台Radeon HD 5750,它应该支持OpenGL 3.1和3.2的一些功能.我知道所有设备驱动程序都安装正确,因为我能够运行ATI提供的Radeon sdk中的所有程序.

我还安装了Opengl Extensions Viewer 3.15,它说的是OpenGL 3.1版Ati Driver 6.14.10.9116.我厌倦了所有的人GLEW_VERSION_1_1,GLEW_VERSION_1_2,GLEW_VERSION_1_3,GLEW_VERSION_2_0,GLEW_VERSION_2_1,GLEW_VERSION_3_0和所有这些返回false.

还有其他什么建议吗?我甚至试过GLEW_ARB_vertex_shader && GLEW_ARB_fragment_shader,这也是假的.

c++ opengl glut glew visual-studio-2008

5
推荐指数
1
解决办法
3501
查看次数

GLEW和openGL弃用

我正在使用openGL和glew来检查扩展.

说我想检查是否可以使用multitexture扩展:

如果可以使用它,GLEW_ARB_multitexture将返回true.

arb_multitexture在openGL 3.0中已弃用.

它还会归还吗?

它在3.1中删除了什么?

谢谢.

c++ opengl glew deprecated

5
推荐指数
1
解决办法
764
查看次数

C++ OpenGL线框立方体渲染空白

我只想绘制一堆构成"立方体"的线条.我不能为我的生活弄清楚为什么这会产生黑屏.调试器不会在任何时候中断.

我确定这是我的指针的一个问题,因为我在普通的c ++和OpenGL中只对他们不太好,它变得更糟.

const char* vertexSource = 
    "#version 150\n"
    "in vec3 position;"
    "void main() {"
    "   gl_Position = vec4(position, 1.0);"
    "}";

const char* fragmentSource = 
    "#version 150\n"
    "out vec4 outColor;"
    "void main() {"
    "   outColor = vec4(1.0, 1.0, 1.0, 1.0);"
    "}";

int main() {

    initializeGLFW();

    // Initialize GLEW
    glewExperimental = GL_TRUE;
    glewInit();

    // Create Vertex Array Object
    GLuint vao;
    glGenVertexArrays(1, &vao);
    glBindVertexArray(vao);

    // Create a Vertex Buffer Object and copy the vertex data to it
    GLuint vbo;
    glGenBuffers( 1, &vbo …
Run Code Online (Sandbox Code Playgroud)

c++ opengl glew pointers glfw

5
推荐指数
1
解决办法
2648
查看次数

如何使用States创建游戏菜单

我一直在寻找一个如何制作游戏菜单的例子.例如,我想让应用程序打开菜单.从那里它将打开"玩游戏""显示积分""退出".

到目前为止我所看到的一切都是弹出菜单..

因此我寻找的答案是关于使用"状态",如暂停状态,游戏状态等等.但我无法弄清楚应该是这样的布局或应该如何使用..没有如何创建MenuState而无法找到一个示例任何地方

使用过剩和freeglew

c++ opengl glew freeglut

5
推荐指数
1
解决办法
3440
查看次数

OpenGL错误GL_INVALID_ENUM(0x0500)而glewInit()

我是OpenGL的新手,并尝试按照http://www.openglbook.com教程学习OpenGL 4 .在第二页,我们使用着色器创建一个简单的三角形.但是在创建顶点着色器之后,程序崩溃了.通过调试,我可以找到一个OpenGL错误GL_INVALID_ENUM(0x0500).见下面的代码......

不幸的是,我找不到任何解决方案.也许你知道吗?

编辑:

所以,再次搜索后GL_INVALID_ENUMglewInit(),我发现已经有其他网站上的很多帖子,但:他们大多有一些错别字其着色器和我绝对没有.在 http://www.opengl.org/wiki/OpenGL_Loading_Library上 我发现:

您可能仍然会得到GL_INVALID_ENUM(取决于您使用的GLEW的版本),但至少GLEW会忽略glGetString(GL_EXTENSIONS)并获取所有函数指针.

有人建议只是忽略错误,但我仍然无法运行该程序...顺便说一句,你们中的任何人都可以尝试运行该程序吗?如果你有同样的错误,我们肯定知道它不是我的IDE/Project配置错误.

眼镜:

Windows 8.1 64bit
Intel Core i7-3517U with
Intel HD4000 GPU (OpenGL 4.0.0 Support)
8 GB RAM
Run Code Online (Sandbox Code Playgroud)

IDE:

Eclipse IDE for C/C++ Developers
Version: Kepler Service Release 1
Build id: 20130919-0819
using MinGW Compiler
Run Code Online (Sandbox Code Playgroud)

码:

#include <stdlib.h>
#include <stdio.h>
#include <string>
#define GLEW_STATIC
#include <gl/glew.h>
#include <gl/freeglut.h>


#define WINDOW_TITLE_PREFIX "Chapter 2"

// initialization
int CurrentWidth = 800,
    CurrentHeight = 600,
    WindowHandle = …
Run Code Online (Sandbox Code Playgroud)

c++ opengl crash enums glew

5
推荐指数
1
解决办法
8267
查看次数

设置 Visual Studio 库项目依赖项

鉴于以下情况,我正在努力寻找在 Visual Studio(即 2015)中设置依赖项的正确方法:

我有2个项目:

  • 引擎:它是一个静态库项目,依赖于我在“Librarian”、“其他依赖项”部分中指定的 glfw、glew 和 opengl .lib 文件。我还正确添加了 include 和 libs 目录。
  • 游戏:它应该只能访问 Engine 项目提供的 API,因此我将 Engine headers 目录添加到 Game include 目录中,并且对于生成的 Engine.lib 和附加库目录也是如此。

至此,Engine项目编译成功。

我希望 Game 项目也能工作,但是当我尝试使用简单的 main.cpp 编译该项目时,编译器显示此错误(引用 Engine 项目中的文件):

-- 错误 C1083 无法打开包含文件:'GL/glew.h':没有这样的文件或目录

我不想包含 opengl、glew 和 glfw 库,也不想包含目录到我的游戏项目中,因为用户不应该访问此 API。

那么......实现这一目标的正确方法是什么(越简单越好)?

提前致谢

c++ opengl glew static-libraries visual-studio

5
推荐指数
1
解决办法
5586
查看次数

将 GLEW 添加到项目 (CMake)

我想将 glfw 和 glew 链接到我的图形编程项目。

添加 glfw 非常简单,我按照他们网站上的说明进行操作。使用 glfw 创建一个窗口效果很好。

但是,我看不出我的 CMakeLists.txt 添加 GLEW 有什么问题。程序给出错误:“GL/glew.h:没有这样的文件或目录”。

我的 CMakeLists.txt:

cmake_minimum_required( VERSION 3.5 )

project(Starting)

find_package( OpenGL REQUIRED )

set( GLFW_BUILD_DOCS OFF CACHE BOOL "" FORCE )
set( GLFW_BUILD_TESTS OFF CACHE BOOL "" FORCE )
set( GLFW_BUILD_EXAMPLES OFF CACHE BOOL "" FORCE )

add_subdirectory( ${PROJECT_SOURCE_DIR}/GLEW/build/cmake )
add_subdirectory( ${PROJECT_SOURCE_DIR}/GLFW )

add_executable( Starting ${PROJECT_SOURCE_DIR}/src/main.cxx )

target_link_libraries( Starting glew32s glfw )
Run Code Online (Sandbox Code Playgroud)

我试过给它命名 GLEW、glew、glew32,但没有任何改变。该库从这里下载:https : //github.com/Perlmint/glew-cmake

如果它有任何重要性,这是我用来运行 CMakeLists.txt 的批处理文件(位于我的项目源目录中的构建文件夹中):

@echo off

cmake -G"Unix Makefiles" -DCMAKE_BUILD_TYPE=Debug .. …
Run Code Online (Sandbox Code Playgroud)

c++ windows opengl glew cmake

5
推荐指数
2
解决办法
5987
查看次数

GLEW - 为什么要定义 GLEW_STATIC?

我正在为 GLEW 使用静态链接库,因此我必须定义 GLEW_STATIC 来编译我使用 GLEW 的程序。但我一直不明白为什么这是必要的。所以有人能解释一下原因吗?

opengl glew

5
推荐指数
1
解决办法
3012
查看次数

如何将 ffmpeg 与 gltransition 集成?

我想用 GLTransition 过滤器构建 FFMPEG。我按照此链接中的构建说明进行操作

我还安装了 FFMPEG 构建(GLU 和 GLEW 库)的所有依赖项,并使用 EGL 配置它。

我配置的命令是:

./configure --extra-libs='-lGLEW -lEGL' --enable-filter=gltransition --disable-x86asm
Run Code Online (Sandbox Code Playgroud)

执行此命令后,Enabled Filter 日志中会出现 GLTransition 过滤器。我已经使用命令检查了 GLTransition 过滤器:

./ffmpeg -v 0 -filters | grep gltransition  
Run Code Online (Sandbox Code Playgroud)

但它什么也没显示。

然后还使用下面的 ffmpeg 命令进行交叉检查:

./ffmpeg -i media/0.mp4 -i media/1.mp4 -filter_complex gltransition -y out.mp4
Run Code Online (Sandbox Code Playgroud)

但它显示错误,例如

[AVFilterGraph @ 0x1febe80] No such filter: 'gltransition'
Error initializing complex filters.
Invalid argument.
Run Code Online (Sandbox Code Playgroud)

我是不是错过了什么?

glew ffmpeg filter mesa

5
推荐指数
0
解决办法
1117
查看次数

我是否必须在 GL/glew.h 之后包含 SDL_opengl.h?

我想用 SDL2 创建一个 OpenGL 项目。我通常通过GL/glew.h首先包含来开始我的 OpenGL 项目。SDL_opengl.h之后我必须包括吗?它还包含 OpenGL API 标头,因此在我看来没有必要同时包含两者。

c opengl glew sdl-opengl sdl-2

5
推荐指数
1
解决办法
638
查看次数