Windows10 搭建vs2017OpenGL ES 3.0 开发环境

2023-11-15

前言
更新于2021/06/29 

1.首先下载

OpenGL® ES 3.0 Programming Guide 随书源码

直接使用CMake工具生成vs2017代码工程,然后使用vs2017打开工程:ES3_Book.sln

然而,vs报错一大堆,原因是没有配置openglES头文件,lib,dll文件


在我的机器上运行报错,主要原因openglES依赖:OpenGL ES Emulator,所以需要下载这个openGL ES Emulator,

OpenGL ES Emulator 下载地址:


笔者的 VS 版本是 VS2017 15.9.10 社区版 下载链接, 建议下载相同的版本。当然下载企业版也没有问题

1.点击:下载visual studio 2017,我这里选择的是社区版,你可可以选择企业版,没有关系。

2.选择安装的组件

安装组件


OpenGL ES 3.0学习汇总
OpenGL ES 3.0 学习记录汇总
准备工作
下载 Visual Studio 2017,
1.下载《opengles3.0编程指南》源码

OpenGL® ES 3.0 Programming Guide 随书源码
下载 CMake 用来编译源码工程


2.下载 mail opengl es模拟器,用来运行opengl程序, 建议下载32位zip包,但是3.0.4没有找到32位版本,我这里下载的是64位版本,没有问题的,程序一样运行

先看下效果:

(1)随书第一个例子:Hello_Triangle

(2)随书第二个例子:

(3)运行第三个例子

openGL ES环境配置
解压 mail opengl es模拟器 压缩包
新开一个窗口找到 Visual Studio 的安装目录下的路径
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023 ,


默认安装路径 C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023
VisualStudioIDE2019Pro 版本路径: VisualStudio\VisualStudioIDE2019Pro\VC\Tools\MSVC\14.22.27905
复制 mail opengl es模拟器 压缩包 下的下列文件:
a. 把include 里的所有文件 copy 到 Visual Studio 的 include 里面。


b. 把 libEGL.lib,libGLESv2.lib,libMaliEmulator.lib 三个文件copy到 Visual Studio 的 lib/x64 里面。


把 libEGL.dll,libGLESv2.dll,libMaliEmulator.dll 三个文件copy到 Visual Studio 的

bin/Hostx64/x64里面。

注意:在CMake配置项里面一定要配置下面2个变量:

(1)EGL_LIBRARY:

C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.16.27023/lib/x64/libEGL.lib

(2)OPENGLES3_LIBRARY:

C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.16.27023/lib/x64/libGLESv2.lib

否则在生成的VS2017的工程失败,无法运行工程代码,CMake具体步骤

1.配置CMake编译路径

  (1)点击coinfigure

 (2)在点击finish

    (3)配置EGL_LIBRARY和OPENGLES3_LIBRARY

(4)再次点击coinfigure

(5)点击generate

注意:这里估计会报警告:

CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required):
Compatibility with CMake < 2.8.12 will be removed from a future version of
CMake.

原因是:CMakeLists.txt里面指定的版本< 2.8.12,所以要把CMakeLists.txt里面的版本改成2.8.12

 打开 CMakeLists.txt,把cmake_minimum_required( VERSION 2.6 )

改成:cmake_minimum_required( VERSION 2.8.12 )

(5)在刚才CMake配置的生成路径下会发现ES3_Book.sln

openGL ES生成include、lib、dll文件

(6)使用VS2017打开ES3_Book.sln工程,选择“ALL_BUILD”


(7)选择右侧的一个 例子,设置为启动项目,例如 ParticleSystem,设置启动项


(8)然后点击 本地windows调试器


运行效果

注意:可能发现这里会报错:

FATAL - Exception thrown in GLES32Api::glCompileShader -> No shader compiler found. Please set the MALI_EMULATOR_COMPILER_MANAGER_PATH environment variable to point to 'mali-compiler-manager' directory.

意思是说:没有配置模拟器的环境变量:MALI_EMULATOR_COMPILER_MANAGER_PATH

在系统里面配置一下环境变量即可

 

 

OK,到此就结束了,有问题请留言。

 

参考资料
Visual Studio 2017安装教程
windows配置opengles3开发环境
Windows7下搭建OpenGL ES3.0开发环境(VS2017)
原文链接:https://www.jianshu.com/p/b5f8627d9cbc
 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Windows10 搭建vs2017OpenGL ES 3.0 开发环境 的相关文章

  • LibGDX - 着色器适用于桌面但不适用于 Android

    我编写了一个简单的程序 可以在 3D 环境中渲染球体 并根据球体周围的四个光源为其着色 当我在桌面上运行该程序时 它工作得很好 但在 Android 设备上 球体只是纯色的 下面是一些图片来说明我正在谈论的内容 gt Desktop gt
  • 在加载“cv2”二进制扩展期间检测到递归

    我有一个小程序 在 pyinstaller 编译后返回 opencv 错误 但无需编译即可工作 我在 Windows 10 上使用 Python 3 8 10 Program 导入 pyautogui将 numpy 导入为 np导入CV2
  • Android中的OpenGL用于视频显示

    是否可以使用 OpenGL 来显示视频并能够在运行时调整视图大小 是的 它的工作原理是通过 glTexSubImage2D 将每个帧作为纹理上传 我已经测试了基于 FFmpeg 的解码器的输出 效果很好
  • OpenGL ES 2.0 中的纹理点?

    我正在尝试在 OpenGL ES 2 0 中为粒子系统实现纹理点 例如点精灵 我遇到的问题是所有点都渲染为实心黑色方块 而不是正确映射纹理 我已经验证 gl PointCoord 实际上返回从 0 0 到 1 0 的 x y 值 这将映射到
  • 使用 UTF-8 编码的 Powershell 字符串变量

    我检查了许多与此相关的问题 但找不到解决我的问题的东西 基本上 我想将 UTF 8 编码的字符串存储在变量中 然后使用该字符串作为文件名 例如 我正在尝试下载 YouTube 视频 如果我们打印视频标题 则会显示非英文字符 ytd这是you
  • Cocos2d - 将 GLImageProcessing 效果应用于 CCSprite

    苹果的oplenglGL图像处理 http developer apple com library ios samplecode GLImageProcessing Introduction Intro html加载图像并应用图像调整 亮度
  • OPENGL ES 不工作:无当前上下文

    我尝试了 OpenGL ES2 for Android 一书中所示的程序 但它不起作用 我已经在Odroid E 三星s3 三星y 三星star上进行了测试 the gl version suported returns 2 but i g
  • OpenGL (ES 2.0) 动态改变线宽

    我目前正在使用大量的工具绘制模型GL LINES全部在统一的半径内 我知道glLineWidth将改变半径all线 但它们各自应该有不同的半径 我想知道是否可以使用glLineWidth 以不同的方式 或其他功能 我还应该怎么做呢 将它们渲
  • 使用 Nexus 10 在 Android 4.3 上滚动时性能不佳

    我的应用程序有一个带有一些滚动的列表视图 在我测试过的所有手机 Nexus One Nexus 4 和 Galaxy S3 4 上都表现得非常好 以 60fps 滚动 但 Nexus 10 上的表现很糟糕 大概在 15fps 左右 我已经将
  • Android 版 OpenGL ES 中的透明纹理

    我试图在 opengl 中设置四边形上纹理的透明度 使用混合函数没有帮助 谷歌上也没有任何帮助 有什么建议么 我遇到了类似的问题 一段代码可以正常工作 而另一段则不能 经过大量的日志记录和调试 我发现差异只是一行代码 在具有工作 Alpha
  • Android OpenGL ES 支持无处不在?

    我需要了解如果我选择在 OpenGL 而不是 android graphics 中的 android 原生 2D 图形 API 进行绘图 我会损失多少潜在安装量 android 文档似乎暗示 OpenGL ES API 基本上在所有手机上都
  • 在我的 iPhone 应用程序中使用视频作为启动画面是个好主意吗?

    我即将完成一个应用程序 现在我想在应用程序完成加载和启动后添加带有我公司徽标的动画启动屏幕 我可以为此使用 openGL 动画 但我想知道使用视频是否会更好 这对我和艺术家来说更容易 因为他只会提供一个小视频 我将在我的应用程序完成后重现该
  • Android Studio 模拟器无法加载 Windows 10

    我在 Windows 10 上全新安装了 android studio 其中包含 android api 22 的所有软件包 当我运行模拟器时 我收到以下消息 C Users admin AppData Local Android sdk
  • 如何将AVFrame转换为glTexImage2D使用的纹理?

    如您所知 AVFrame 有 2 个属性 pFrame gt data pFrame gt linesize 当我从视频 sdcard test mp4 android平台 读取帧后 并将其转换为RGB AVFrame副 img conve
  • kubectl:在 WSL 终端中找不到

    我按照以下说明在 Windows10 上安装了 WSL2 https learn microsoft com en us windows wsl install win10 https learn microsoft com en us w
  • 重启docker Windows 10命令行

    我试图弄清楚如何在命令行中重新启动 docker 以便我可以制作一个 bat 脚本来重新启动它并启动一些容器 我使用管理员访问权限创建了一个 dos 提示符并运行以下命令 PS C Windows system32 gt net stop
  • PHP Composer 和 Laravel 安装程序输出中的奇怪字符 - Windows 10 CMD

    我在 Windows 10 上遇到这个问题 PHP Composer 显示奇怪的字符 我已经尝试安装ansicon按照建议here https stackoverflow com questions 35387667 git bash is
  • Intellij Idea 终端快捷方式不起作用

    我目前正在使用 Intellij Idea 2016 2 4 并在 Windows 10 上运行 我注意到Alt F12打开终端的命令和Alt F7用于查找特定方法的用法的命令均已停止工作 我已经尝试过以下方法 文件 gt 使缓存无效并重新
  • 无法创建 IOS 存档:路径(目录名称必须小于 248 个字符)和/或文件名(必须小于 260 个字符)太长

    ERROR 无法创建 IOS 存档 MyIosProject 进程无法在 XMA 服务器上执行 解压文件时出错C Users myusername AppData Local Xamarin iOS Archives 2020 04 08
  • OpenGL ES 1.1 顶点缓冲区对象不工作

    我正在使用 OpenGL ES 1 1 开发一款 iPhone 游戏 需要使用顶点缓冲区对象来渲染 500 多个粒子而不降低性能 我的游戏能够使用非 VBO 方法成功绘制 但现在我尝试合并 VBO 却不再绘制任何内容 请帮助我找出我做错了什

随机推荐

  • 量化选股策略搭建(四)(短期策略搭建)

    量化选股策略搭建 四 短期策略搭建 首先我们需要把选股这个问题转化为一个机器学习问题 那么如何转化成机器学习问题呢 机器学习也分两类问题 1 回归问题 2 分类问题 常规的一些方法是预测股价增长来进行选股 回顾问题 这里我们将其转化为一个分
  • ZooKeeper 分布式协调工具

    目录 一 ZooKeeper 概述 二 ZooKeeper Windows 单机版安装 三 ZooKeeper 集群环境下选举过程 四 ZooKeeper 存储数据的过程 五 ZooKeeper 监听 六 java 操作 ZooKeeper
  • 为什么说python简单_为什么很多人都说 Python 简单?

    Python是一门入门简单 精通困难的编程语言 Python是一门比较高阶的语言 在基本语法和使用方面没有C Java那么复杂 因此 对于入门者来说 很接近于自然语言的表述方式 经过短暂的的学习就可以完成一些简单的工作 但是 我认为如果仅用
  • 面试官:有一个 List 对象集合,如何优雅地返回给前端?我懵了。。

    1 业务背景 业务场景中 一个会话中存在多个场景 即一个session id对应多个scene id和scene name 如果你写成如下的聚合模型类 public class SceneVO private String sessionI
  • [leetcode]Python实现-389. 找不同

    389 找不同 描述 给定两个字符串 s 和 t 它们只包含小写字母 字符串 t 由字符串 s 随机重排 然后在随机位置添加一个字母 请找出在 t 中被添加的字母 示例 输入 s abcd t abcde 输出 e 解释 e 是那个被添加的
  • oracle 数据库基础知识复习

    1 单表的数据查询 1 1指定字段的数据记录查询 select field1 field2 FROM 表名 WHERE CONDITION 例 select t stuname t age t sex from STUINFO t wher
  • curl命令介绍与使用

    curl 全称CommandLine URL 或 CommandLine Uniform Resource Locator 顾名思义 curl命令是在命令行方式下工作 利用URL的语法进行数据的传输或者文件的传输 这个命令行工具现在多用于U
  • 基于Python Django Mysql 开发的宠物用品商城

    最近做的一个程序设计 核心是基于django做一个商城 功能包含登录 注册 商品浏览 购物车 支付模块 支付宝沙箱支付 评价 轮播图 开发环境 Python版本 3 8 7 Django版本 3 1 5 数据库版本 mysql8 数据库管理
  • Hive(二):获取HiveConnection,及重现获取过程中的某些问题。

    为什么80 的码农都做不了架构师 gt gt gt 一 未创建Maven工程 所需jar包都是自己一一找的 结果碰到许多缺包问题 最后我的lib下包为 二 尝试获取HiveConnection 先附上成功获取HiveConnection的代
  • nexus3 Unauthorized问题解决

    环境 Nexus3 version 3 20 1 01 问题 nexus3 在安装完后通过mvn deploy命令 出行 Return code is 401 ReasonPhrase Unauthorized 异常 分析解决 1 mave
  • Hadoop集群启动后,在web:50070端口只有两个datanode节点

    spark集群部署规划 hadoop1 master worker datanode namenode secondarynamenode hadoop resourcemanager nodemanager yarn hadoop2 wo
  • 使用AD14制作PCB的全部流程以及PCB打样流程介绍

    文章目录 1 各PCB打样公司 1 1 深圳嘉立创 1 2 捷配 1 3 华秋 1 4 猎板 2 嘉立创PCB打样流程 2 1 在线下单 2 2 上传PCB文件 2 3 选择板子数量 2 4 工艺参数设置 3 AD元器件库 4 AD14创建
  • 上手Web自动化测试(Python+selenium+unittest)

    从安装库 包和文件配置上手Web自动化测试 Python主要用selenium和unittest库 此外还有用于远程测试的Selenium Server包 浏览器需要配置chromedriver 1 安装selenium库 可以在Pycha
  • Robot Framework (分层实现UI自动化)

    更多资源请前往博主个人网站 http www qabujiaban com Robot Framework介绍与安装 目录 Robot Framework介绍与安装 Robot Framework是什么 什么是自动化测试框架 Robot F
  • linux Ubuntu 引导,重建ubuntu的grub开机引导

    这里将告诉您重建ubuntu的grub开机引导 具体实现方法 pc开机时 在进入系统之前 要先进入的磁盘里安装了grub开机引导的区域 如果是单系统一般不会有问题 但若是多系统像win ubuntu或者ubuntu ubuntu等 有时会出
  • VS2019+Qt Release模式下显示打印信息

    使用VS作为Qt的开发工具 在Debug模式下开发 软件的运行效率不如Release模式下高 所以经常会出现在Release模式下 查看程序的打印输出 只需要在项目属性配置一下即可 点击项目右键 属性 生成事件 生成后事件 在命令行里添加下
  • HJ212-Pack HJ212协议组包实现

    HJ212 Pack HJ212协议组包实现 仓库地址 https gitee com ll0 0ll HJ212 Pack HJ212协议认识 https blog csdn net lblmlms article details 108
  • STM32定时器----TIMx->SR寄存器

    在研究stm32定时器时发现 当进入定时器的中断时 定时器计数器以及中断接收时正常运行的 并没有因为进入中断而停止 具体看以下分析 定时器初始化代码 TIM捕获通道开启宏定义 1 开启 0 关闭 define TIM ICCH1 1 def
  • Vite热更新不起作用

    错误示例 path show component gt import views Show index vue show 目录名 注意路由中是大写开头 这里是小写的 这就是问题所在 Index vue 文件名 这样写目录名或文件名与路由中写
  • Windows10 搭建vs2017OpenGL ES 3.0 开发环境

    前言 更新于2021 06 29 1 首先下载 OpenGL ES 3 0 Programming Guide 随书源码 直接使用CMake工具生成vs2017代码工程 然后使用vs2017打开工程 ES3 Book sln 然而 vs报错