Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 桌面上没有egl的Opengl es 2.0(windows)_C_Visual Studio 2008_Opengl Es_Opengl Es 2.0 - Fatal编程技术网

C 桌面上没有egl的Opengl es 2.0(windows)

C 桌面上没有egl的Opengl es 2.0(windows),c,visual-studio-2008,opengl-es,opengl-es-2.0,C,Visual Studio 2008,Opengl Es,Opengl Es 2.0,我有一个在windows上使用visual Studio 2008的简单程序 在我的代码中,我使用gl函数,即#include GLES2/gl2.h和#include EGL/EGL.h 在代码中,我使用EGL初始化上下文。如下所示 它创建一个窗口并创建EGLContext 我没有在屏幕上显示我的结果。但存储在内存中,所以我不会交换显示器和表面缓冲区 我的问题是,我想从这段代码中删除egl.h,这是怎么可能的 有人能告诉我一些想法吗。先谢谢你 GLboolean CreateWindow1

我有一个在windows上使用visual Studio 2008的简单程序

在我的代码中,我使用gl函数,即#include GLES2/gl2.h和#include EGL/EGL.h

在代码中,我使用EGL初始化上下文。如下所示

它创建一个窗口并创建EGLContext

我没有在屏幕上显示我的结果。但存储在内存中,所以我不会交换显示器和表面缓冲区

我的问题是,我想从这段代码中删除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;
 }
我的答案是我假设的解决方案。或者,如果我们想要或使用任何其他框架,我们可以创建自己的框架:)


@尼古拉斯:非常感谢你的编辑。我将OpenGL添加到我的问题中,因为做OpenGL的人理解OpenGL ES是OpenGL的一个子APL。我建议你做更好的编辑,这会有所帮助。我无法在您多次编辑之前发布问题

EGL在OpenGL ES 2.0(和其他Khronos图形)之间提供了一个“粘合”层 API)和在您的计算机上运行的本机窗口系统,如 GNU/Linux系统、Microsoft Windows或 MacOSX的石英。在EGL确定什么类型的绘图表面之前, 或基础系统的任何其他特征 打开与窗口系统的通信通道。 因为每个窗口系统都有不同的语义,所以EGL提供了 基本不透明类型封装所有系统的EGLDisplay 与本机窗口系统接口的依赖项。第一 任何使用EGL的应用程序都需要执行的操作是创建和初始化
与本地EGL显示的连接。

EGL在OpenGL ES 2.0(和其他Khronos图形)之间提供了一个“粘合”层 API)和在您的计算机上运行的本机窗口系统,如 GNU/Linux系统、Microsoft Windows或 MacOSX的石英。在EGL确定什么类型的绘图表面之前, 或基础系统的任何其他特征 打开与窗口系统的通信通道。 因为每个窗口系统都有不同的语义,所以EGL提供了 基本不透明类型封装所有系统的EGLDisplay 与本机窗口系统接口的依赖项。第一 任何使用EGL的应用程序都需要执行的操作是创建和初始化
与本地EGL显示器的连接。

我想要另一种简单的方式,或者任何不使用EGL.h或任何其他库的方式。是否可能在Windows上从何处获得使用EGL的能力?你从哪里下载这个库的™ 是Khronos渲染API(如OpenGL ES或OpenVG)与底层本机平台窗口系统之间的接口。我知道EGL是什么,但是除了AMD的SDK之外,你不能在Windows上使用它。我正在使用Imagination technologies Emulator。。。我得到了输出。。EGL是一个粘合库,如下面的答案所示。。这取决于仿真器吗?我不认为我想要另一种简单的方法,或者任何不使用egl.h或任何其他lib的方法。有可能吗?在Windows上使用egl的能力在哪里?你从哪里下载这个库的™ 是Khronos渲染API(如OpenGL ES或OpenVG)与底层本机平台窗口系统之间的接口。我知道EGL是什么,但是除了AMD的SDK之外,你不能在Windows上使用它。我正在使用Imagination technologies Emulator。。。我得到了输出。。EGL是一个粘合库,如下面的答案所示。。这取决于仿真器吗?我不这么认为