【发布时间】:2012-07-02 08:24:42
【问题描述】:
我有一个使用 Visual Studios 2008 在 Windows 上的简单程序。
在我的代码中,我使用 gl 函数,即 #include GLES2/gl2.h 和 #include EGL/egl.h
在代码中,我使用 EGL 来初始化上下文。如下所示。
它创建一个窗口和 CreateEGLContext。
我没有在屏幕上显示我的结果。但存储在内存中,所以我不交换显示和表面缓冲区。
我想从这段代码中删除 egl.h 的问题怎么可能。
任何人都可以给我任何想法。提前谢谢你
GLboolean CreateWindow1 ( ESContext *esContext, const char* title, GLint width, GLint height, GLuint flags )
{
GLuint attribList[] =
{
EGL_RED_SIZE, 5,
EGL_GREEN_SIZE, 6,
EGL_BLUE_SIZE, 5,
EGL_ALPHA_SIZE, (flags & ES_WINDOW_ALPHA) ? 8 : EGL_DONT_CARE,
EGL_DEPTH_SIZE, (flags & ES_WINDOW_DEPTH) ? 8 : EGL_DONT_CARE,
EGL_STENCIL_SIZE, (flags & ES_WINDOW_STENCIL) ? 8 : EGL_DONT_CARE,
EGL_SAMPLE_BUFFERS, (flags & ES_WINDOW_MULTISAMPLE) ? 1 : 0,
EGL_NONE
};
if ( esContext == NULL )
{
return GL_FALSE;
}
esContext->width = width;
esContext->height = height;
if ( !WinCreate ( esContext, title) )
{
return GL_FALSE;
}
if ( !CreateEGLContext ( esContext->hWnd, &esContext->eglDisplay, &esContext->eglContext, &esContext->eglSurface,
attribList) )
{
return GL_FALSE;
}
return GL_TRUE;
}
我的答案是我假设的解决方案。或者,如果我们想或使用任何其他框架,我们可以制作自己的框架:)
@Nicol Bolas:非常感谢您的编辑。我将 OpenGL 添加到我的问题中,因为做 OpenGL 的人将 OpenGL ES 理解为它是 OpenGL 的子 APL。我建议您进行更好的编辑,这会有所帮助。在您进行多次编辑之前,我失去了发布问题的能力
【问题讨论】:
-
我想要另一种简单的方法或任何不使用 egl.h 或任何其他库的方法是否可能
-
您从哪里获得在 Windows 上使用 EGL 的能力?你是从哪里下载这个库的?
-
EGL™ 是 Khronos 渲染 API(如 OpenGL ES 或 OpenVG)与底层原生平台窗口系统之间的接口。可以从here下载
-
我知道 EGL 是什么,但是除了 AMD 的 SDK,你不能在 Windows 上使用它。
-
我在 Imagination 技术模拟器上使用......并且我正在获得输出.. EGL 是一个粘合库,如下面的答案中给出的......它会依赖于模拟器吗?我不这么认为
标签: c visual-studio-2008 opengl-es opengl-es-2.0