OpenGL ES Windows 搭建环境(MFC版本)

目录

  • 一.OpenGL 和 OpenGL ES
    • 1.OpenGL
    • 2.OpenGL ES
  • 二.EGL 和 WGL
  • 三.OpenGL ES EGL API 简介
  • 四.OpenGL ES 案例
  • 五.依赖动态库
  • 六.猜你喜欢

零基础 OpenGL ES 学习路线推荐 : OpenGL ES 学习目录 >> OpenGL ES 基础

零基础 OpenGL ES 学习路线推荐 : OpenGL ES 学习目录 >> OpenGL ES 特效

零基础 OpenGL ES 学习路线推荐 : OpenGL ES 学习目录 >> OpenGL ES 转场

零基础 OpenGL ES 学习路线推荐 : OpenGL ES 学习目录 >> OpenGL ES 函数

零基础 OpenGL ES 学习路线推荐 : OpenGL ES 学习目录 >> OpenGL ES GPUImage 使用

零基础 OpenGL ES 学习路线推荐 : OpenGL ES 学习目录 >> OpenGL ES GLSL 编程

一.OpenGL 和 OpenGL ES

1.OpenGL

OpenGL(全写 Open Graphics Library)是个定义了一个跨编程语言、跨平台的应用程序接口(API)的规格,它用于生成二维、三维图像。OpenGL 广泛用于 PC 平台(windows、Linux、Unix、Mac OS X);

2.OpenGL ES

OpenGL ES 是 OpenGL 的嵌入式设备版本,用于移动端平台(Android、iOS),但由于嵌入式设备要求的是高性能,所以一些其它纯追求高性能的设备也开始用这种 API 方式;

OpenGL ES 是 OpenGL 的子集,区别在于 OpenGL ES 删减了 OpenGL 一切低效能的操作方式,有高性能的决不留低效能的,即只求效能不求兼容性。(即:OpenGL ES 能实现的,OpenGL 也能实现;OpenGL 部分 API,OpenGL ES 不支持)

二.EGL 和 WGL

EGL 是渲染 API(如 OpenGL ES)和原生窗口系统之间的接口。通常来说,OpenGL 是一个操作 GPU 的 API,它通过驱动向 GPU 发送相关指令,控制图形渲染管线状态机的运行状态,但是当涉及到与本地窗口系统进行交互时,就需要这么一个中间层,因此 EGL 被设计出来,作为 OpenGL 和原生窗口系统之间的桥梁,且它与平台无关的。

在不同平台上有不同的机制以关联窗口系统,在 Windows 上是 WGL ,在 Linux 上是 GLX ,在 Apple OS 上是 AGL 等。

EGL 则是平台上 WGL / GLX / AGL 的等价物。EGL 假设 OS 会提供窗口系统,但 EGL 与平台无关,并不局限于任何特定的窗口系统,所有用到本地窗口系统的地方都用屏蔽指针来处理,这就是易于移植的关键。

简单点来讲:在 Windows OPenGL 使用 WGL,在 Windows OPenGL ES 使用 EGL

三.OpenGL ES EGL API 简介

EGLNativeDisplayType – 系统显示类型,标识你所开发设备的物理屏幕,DX/OPenGL ES/Metal/Vulkan….

EGLNativeWindowType – 系统窗口,渲染显示的窗口句柄

EGLDisplay – 关联 EGLNativeDisplayType 系统物理屏幕的通用数据类型,是平台上 WGL / GLX / AGL 的等价物

EGLSurface – 渲染区域,相当于 OpenGL ES 绘图的画布 (一块内存空间),用户想绘制的信息首先都要先绘制到 EGLSurface 上,然后通过 EGLDisplay 显示

EGLConfig – 对 EGLSurface 的 EGL 配置,可以理解为绘制目标 framebuffer 的配置属性

EGLContext – OpenGL ES 图形上下文

  1. 获取 EGL Display 对象:eglGetDisplay
  2. 初始化与 EGLDisplay 之间的连接:eglInitialize
  3. 获取 EGLConfig 对象:eglChooseConfig / eglGetConfigs
  4. 创建 EGLContext 实例:eglCreateContext
  5. 创建 EGLSurface 实例:eglCreateWindowSurface / eglCreatePbufferSurface
  6. 连接 EGLContext 和 EGLSurface 上下文 eglMakeCurrent
  7. 使用 OpenGL ES API 绘制图形:gl_*
  8. 切换 front buffer 和 back buffer 显示:eglSwapBuffer
  9. 断开并释放与 EGLSurface 关联的 EGLContext 对象:eglRelease
  10. 删除 EGLSurface 对象 eglDestroySurface
  11. 删除 EGLContext 对象 eglDestroyContext
  12. 终止与 EGLDisplay 之间的连接

四.OpenGL ES 案例

demo 下载:《Windows OpenGL ES 图像白平衡色温》

demo 下载:《Windows OpenGL ES 图像绿幕抠图》

demo 下载:《Windows OpenGL ES 图像色调》

demo 下载:《Windows OpenGL ES 图像色彩替换》

demo 下载:《Windows OpenGL ES 图像饱和度调节》

五.依赖动态库

  1. d3dcompiler_47.dll
  2. libEGL.dll
  3. libGLESv2.dll

六.猜你喜欢

  1. OpenGL ES 简介
  2. OpenGL ES 版本介绍
  3. OpenGL ES 2.0 和 3.0 区别
  4. OpenGL ES 名词解释(一)
  5. OpenGL ES 名词解释(二)
  6. OpenGL ES GLSL 着色器使用过程
  7. OpenGL ES EGL 简介
  8. OpenGL ES EGL 名词解释
  9. OpenGL ES EGL eglGetDisplay
  10. OpenGL ES EGL eglInitialize
  11. OpenGL ES EGL eglGetConfigs
  12. OpenGL ES EGL eglChooseConfig
  13. OpenGL ES EGL eglGetError
  14. OpenGL ES EGL eglCreateContext
  15. OpenGL ES EGL eglCreateWindowSurface
  16. OpenGL ES EGL eglCreatePbufferSurface
  17. OpenGL ES EGL eglMakeCurrent
  18. OpenGL ES EGL eglSwapBuffer
  19. OpenGL ES EGL eglDestroySurface
  20. OpenGL ES EGL eglDestroyContext
  21. OpenGL ES EGL eglQueryContext
  22. OpenGL ES EAGLContext 和 EGLContext
  23. OpenGL ES OpenGL WebGL EGL WGL 区别
  24. OpenGL ES freeglut 下载和使用
  25. OpenGL ES glew 下载和使用
  26. OpenGL ES glut 下载和使用
  27. OpenGL ES glfw 下载和使用
  28. OpenGL ES glad 下载和使用
  29. OpenGL ES glut glew glfw glad freeglut
  30. OpenGL ES google angle
  31. OpenGL Windows 搭建环境(MFC 版本)
  32. OpenGL ES Windows 搭建环境(MFC 版本)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/524139.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

企业实战(Jenkins+GitLab+SonarQube)_07_Jenkins 安全设置

前言: 默认全局安全性登录用户,可以进行任何操作,这种安全配置,相对不安全, 因此需要进行安全配置调整. 接上一篇:企业实战06_Jenkins自定义安装插件https://blog.csdn.net/weixin_40816738/article/details/90383716 …

漫画:图的 “最短路径” 问题 | 技术头条

戳蓝字“CSDN云计算”关注我们哦!技术头条:干货、简洁、多维全面。更多云计算精华知识尽在眼前,get要点、solve难题,统统不在话下!作者:蠢萌的小灰转自:程序员小灰————— 第二天 ————…

Linux 环境安装并配置Git

Git是一个开源的分布式版本控制系统,用于存储和管理项目的源代码。 一、Linux 环境安装并配置Git 1. 运行命令在线安装Git2. 验证Git是否安装成功3. 对Git进行初始化4. 生成Git的授权证书5. 将Git证书配置到github上,保证Linux服务器和GitHub之间可连通…

OpenGL Windows 搭建环境(MFC版本)

目录 一.简介二.freeglut glew三.glfw glad四.猜你喜欢 零基础 OpenGL ES 学习路线推荐 : OpenGL ES 学习目录 >> OpenGL ES 基础 零基础 OpenGL ES 学习路线推荐 : OpenGL ES 学习目录 >> OpenGL ES 特效 零基础 OpenGL ES 学习路线推荐 : OpenGL ES 学习目录…

Qt在指定区域内拖动窗口

将窗口中的小窗口按住拖动,使其在该窗口中移动。 效果图如下: 鼠标左键按住上图中的彩色窗口,就可以在窗口的客户区中来回拖动窗口。 项目的文件结构如下: 创建基于QWidget的应用程序,main.cpp的程序没有做任何的改变…

昨天,终于拿到了腾讯 offer

戳蓝字“CSDN云计算”关注我们哦!技术头条:干货、简洁、多维全面。更多云计算精华知识尽在眼前,get要点、solve难题,统统不在话下!作者 | 程序员小吴本文来自程序员小吴的一个读者的投稿,我跟他是在 2 月份…

OpenGL 褐色

目录 一.OpenGL 褐色 1.IOS Object-C 版本1.Windows OpenGL ES 版本2.Windows OpenGL 版本 二.OpenGL 褐色 GLSL Shader三.猜你喜欢 零基础 OpenGL ES 学习路线推荐 : OpenGL ES 学习目录 >> OpenGL ES 基础 零基础 OpenGL ES 学习路线推荐 : OpenGL ES 学习目录 >&…

企业实战(Jenkins+GitLab+SonarQube)_03_Jenkins登录

Jenkins怎样登录?接上一篇Jenkins运行 https://blog.csdn.net/weixin_40816738/article/details/90383686 文章目录1. Windows复制秘钥登录Jenkins2. Linux复制秘钥登录Jenkins1. Windows复制秘钥登录Jenkins 秘钥存放文件的位置(如上图所示): C:\User…

OpenStack精华问答 | OpenStack 网络中 OpenFlow 规则的作用是什么?

被亲生父母抛弃,被众多大厂拒绝,OpenStack 却依旧坚挺。今天就让我们看看关于OpenStack 的精华问答。1Q:OpenStack 网络中 OpenFlow 规则的作用是什么?A: OpenFlow 规则是一种机制,这种机制定义了一个数据包如何从源到达目的地。O…

企业实战(Jenkins+GitLab+SonarQube)_02_Jenkins运行

Jenkins怎样运行? 文章目录一、Jenkins怎样在Windows运行?1. 找到下载的本地jenkins.war的目录,cmd进入命令行,执行:2. jenkins启动成功后,浏览器访问:localhost:8080二、Jenkins怎样在Linux运行…

Windows OpenGL ES 图像褐色

目录 一.OpenGL ES 图像褐色 1.原始图片2.效果演示 二.OpenGL ES 图像褐色源码下载三.猜你喜欢 零基础 OpenGL ES 学习路线推荐 : OpenGL ES 学习目录 >> OpenGL ES 基础 零基础 OpenGL ES 学习路线推荐 : OpenGL ES 学习目录 >> OpenGL ES 特效 零基础 OpenGL E…

要闻君说:国内首个5G电话由中国移动在京被打通!360公司转让奇安信股权;腾讯宣布开源三大开发工具 ,紧追技术共享步伐;...

关注并标星星CSDN云计算极客头条:速递、最新、绝对有料。这里有企业新动、这里有业界要闻,打起十二分精神,紧跟fashion你可以的!每周三次,打卡即read更快、更全了解泛云圈精彩newsgo go go OPPO技术开放日第三期&#…

qt编译器5.12.3怎么一次性删除所有的断点

自己尝试出来的一个可以一次性删除所有断点的方法,可能还有其它方法,知者望以告知。 方法: 在debug模式下,进行调试运行,此时会出现调试的箭头,方框之类的一栏,如下图,在横向紧挨着的…

Linux操作系统需要做的准备

Linux操作系统需要做的准备 1. 确定IP地址2. 确认登录用户名密码3. 查看/启动ssh服务4. 确认可以远程连接5. 确认防火墙处于关闭状态 1. 确定IP地址 ifconfig2. 确认登录用户名密码 账号:root 秘钥:1234563. 查看/启动ssh服务 检查ssh服务是否启动 …

Windows OpenGL 图像褐色

目录 一.OpenGL 图像褐色 1.原始图片2.效果演示 二.OpenGL 图像褐色源码下载三.猜你喜欢 零基础 OpenGL ES 学习路线推荐 : OpenGL ES 学习目录 >> OpenGL ES 基础 零基础 OpenGL ES 学习路线推荐 : OpenGL ES 学习目录 >> OpenGL ES 特效 零基础 OpenGL ES 学习…

Qt线程写日志

之前没有考虑写日志时采用单独的线程,而是将写日志的部分放在了主线程中实现,后面发现当程序输出的日志信息过多,程序长时间运行后会造成主线程的运行性能降低。故尝试创建一个单独的线程用来写日志。 此程序有一个弊端,运行时没有…

京解之才——2019年技术盘点微服务篇(三)| 程序员硬核评测

戳蓝字“CSDN云计算”关注我们哦!程序员硬核测评:客观、高效、不说软话。无论是技术质量、性能水平,还是工具筛选,一测便知!过去几年来,“微服务架构”方兴未艾,尽管这种架构风格没有确切的定义…

Linux环境安装并配置Maven

一、Linux环境安装并配置Maven 1. 进入官网下载Tomat安装包2. 解压安装Tomcat3. 配置可执行权限4. 配置可执行端口(避免端口冲突)5. 验证Tomcat是否可以正常启动和停止 1. 进入Maven官网复制下载地址下载maven maven官网:http://maven.apach…

OpenGL 色阶

目录 一.OpenGL 色阶 1.Windows OpenGL ES 版本2.Windows OpenGL 版本 二.OpenGL 色阶 GLSL Shader三.猜你喜欢 零基础 OpenGL ES 学习路线推荐 : OpenGL ES 学习目录 >> OpenGL ES 基础 零基础 OpenGL ES 学习路线推荐 : OpenGL ES 学习目录 >> OpenGL ES 特效 …

Qt中全局变量的使用

一般在项目中想要定义一个变量可以被多个类进行访问,此时就可以定义全局变量。习惯上会将项目中所有类都用到的变量,集中定义在一个头文件中,使用时只需包含此头文件。但是对于我这样基础不牢靠的人,就犯了一个错误,而…