OpenGL窗口

能用于OpenGL的窗口库有很多,常见的有glut、freeglut、SDL、GLFW等。glut基本已经被废弃,其他几个再不同场合都有不同的应用。

GLFW为opengl superbible 6th & 7th中推荐的第三方开源窗口库。GLFW的特点大概总结如下:

跨平台,能在window、Linux和wayland中使用; 支持OpenGL、OpenGL ES; 底层的可配置性;

下面我们来实际看下使用GLFW的实际意义。

OpenGL ES在嵌入式开发中实际比在PC上开发opengl的环境搭建似乎要复杂很多,通常嵌入式开发中使用EGL创建OpenGL渲染的surface,使用wayland创建窗口的surface来实现。在实际开发过程中,我们想通过在PC上开发EGL + OpenGl ES的程序,这个时候,如果平台不同,我们往往在不同平台上实现不同的窗口,如:

window:

OpenGL ES + EGL + Window系统窗口(实际运行还需要加OpenGL ES的模拟器,OpenGL.ES.3.0.Programming.Guide中有介绍高通芯片等模拟器的使用的章节);

Linux:

OpenGL ES + EGL + X11窗口;

ARM:

OpenGL ES + EGL + wayland窗口;

window 窗口系统、X11窗口和wayland窗口的创建和窗口事件获取及处理方式各不相同,而GLFW所做的事情,就是提供统一的窗口创建的方法,使我们能在GLFW上开发与平台无关的OpenGL ES代码。

2、GLFW Window版编译介绍

GLFW官网有详细的各个平台编译步骤介绍,在此我们针对Window + VS2005 + EGL + Mail模拟器进行进行介绍。

下载CMake并安装(官网可直接尚在安装包进行安装);

下载Mail模拟器安装包,安装完成后,在安装路径下可以看待我们在开发过程中需要用到的头文件和相应的dll,大家可以点击mali-cube.exe来测试自己的机器是否能正常运行此模拟器,VM虚拟机对OpenGL版本的支持比较低,一般无法运行此虚拟机,因此大家可能在虚拟机上开发OpenGL ES会受到一些障碍;

下载GLFW源码,使用CMake GUI编译GLFW;

在CMake安装目录bin下找到cmake-gui.exe并运行;

选择源码路径和编译路径;

点击Configure进行配置

完成后,我们得到了配置属性设置项,官网有对每项配置的介绍;

配置完成后我们点击Generate,即可完成项目文件的创建; 在build的目录下,我们可以使用vs2005 打开GLFW.sln并编译GLFW库;

至此,编译部分大致介绍完成,大家在实际编译过程中可能会遇到其他问题,参考官网的介绍应该都能解决。

3、GLFW使用介绍

我们把GLFW编译出来的库和头文件复制到我们的OpenGL ES VS工程中(当然也必须添加模拟器的Dll),如下为实例代码。

-------------------------------------分割线-------------------------------------

linux opengl es,OpenGL ES之GLFW窗口搭建相关推荐

  1. opengl,opengl es,egl,glfw,glew

    OpenGL ES之GLFW窗口搭建 - Plato - 博客园概述 本章节主要总结如何使用GLFW来创建Opengl窗口.主要包括如下内容: OpenGl窗口创建介绍 GLFW Window版编译 ...

  2. LINUX 下构建OpenGL ES 3.0

    Ubuntu LINUX 下构建OpenGL ES 3.0 Category : OpenGL LINUX 下构建OpenGL ES 3.0 软件:PowerVRSDKSetup-4.0.run-x6 ...

  3. opengl、opengl es、webgl介绍与opengl开发入门

    1.OpenGL OpenGL(英语:Open Graphics Library,译名:开放图形库或者"开放式图形库")常用于CAD.虚拟现实.科学可视化程序和电子游戏开发.Ope ...

  4. OpenGL、OpenGL ES、OpenVG、GLX、EGL的简介

    X 视窗系统(X Window System)是一个分布式的.网络透明的.设备独立的.多任务的 windowing 和制图系统,它提供标准工具箱和协议来构建图形用户界面 (GUI), 在 Unix,类 ...

  5. 浅谈OpenGL、OpenGL ES

    最近研究安卓系统屏幕绘制这部分时,可谓是绞尽脑汁- 偶然得到家人的指点有了思路上的突破,实现了想要的功能.本篇文章结合<OpenGL编程指南>书籍的基础上,简单介绍一下OpenGL的结构. ...

  6. 3D游戏引擎系统源码C++本科毕业设计,C++ 3D引擎源码,渲染系统使用的OpenGL 及 OpenGL ES

    Effective 3D Engine 渲染系统使用的OpenGL 及 OpenGL ES,Windows上OpenGL ES使用AMD的ES模拟器. 环境部署 完整代码下载地址:3D游戏引擎系统源码 ...

  7. OpenGL创建一个GLFW窗口的实例

    OpenGL创建一个GLFW窗口 先上图,再解答. 完整主要的源代码 源代码剖析 先上图,再解答. 完整主要的源代码 #include <glad/glad.h> #include < ...

  8. 视频教程-FFmpeg+OpenGL ES+OpenSL ES打造Android视频播放器-Android

    FFmpeg+OpenGL ES+OpenSL ES打造Android视频播放器 从事Android移动端开发多年.主导开发过直播.电商.聊天等各种类型APP和游戏SDK:熟悉Android音视频开发 ...

  9. OpenGL 和 OpenGL ES基础知识

    当今许多视觉应用程序,从简单的游戏到高级工程领域,都使用OpenGL(Open Graphics Library)和OpenGL ES(OpenGL for Embedded Systems)作为其图 ...

最新文章

  1. mysql读写分离(MySQL Proxy 安装和使用)
  2. 【django轻量级框架】在线视频教育系统设计与实现
  3. mysql --创建数据库
  4. Net设计模式实例之备忘录模式(Memento Pattern)
  5. 关于逐项作用函数的用法
  6. jsp 连接MS server 数据库的例子
  7. bcp+Sql语句抽取数据导出
  8. 代码不是艺术,是现实的表现
  9. 微软补丁星期二:修复多个严重 RCE 和IE 0day
  10. 基于Socket的文件传输(使用CSocket类)
  11. Axure RP 9 安装、汉化
  12. 软件构造第一篇博客(“可变形与不可变性”)
  13. oracle exadata咨询,Oracle Exadata专家手册
  14. 深入浅出对话系统——概述
  15. 产品速递 | zCloud-云和恩墨数据库云化管理平台
  16. switch怎么切换服务器账号,怎么查看switch账号所属服务器
  17. JAVA菜鸟驿站快递分发系统计算机毕业设计Mybatis+系统+数据库+调试部署
  18. 生活如何才能不匆忙?
  19. 在64位总线下,安装了8G内存条,却显示可用内存不到8G的原因
  20. 云商之softlayer与saltstack

热门文章

  1. nacos配置中心指定配置文件为yml格式
  2. 用C语言输出图形问题
  3. 【180627】VC++坦克大决战源码(音效+地图)
  4. 商品管理 商品管理软件 用进销存软件做商品管理
  5. 『C语言』系统日期时间
  6. java设计中期检查表_毕业实习中期检查表以附件形式上传
  7. 利用makehumancommunity导入人体模型到COMSOL里(需要solidwork)
  8. @DependsOn注解详解
  9. java guice_如何在Guice中进行需要注入实例的动态绑定?
  10. 计算机对国家发展的作用,自然辩证法毕业论文科技和文化创新对国家发展的作用.docx...