当前位置: 首页 > news >正文

在Linux中开发OpenGL——检查开发环境对OpenGL ES的支持

        由于移动端GPU规模有限,厂商并没有实现完整OpenGL特性,而是实现了它的子集——OpenGL ES。因此如果需要开发程序要支持移动端平台最好使用OpenGL ES开发

1、  下载支持OpenGL ES Demo

1.1载PowerVRSDK支作为准备里面自带编译libEGL.soligGLESv2.so(非必须)

git clone
GitHub - powervr-graphics/Native_SDK: C++ cross-platform 3D graphics SDK. Includes demos & helper code (resource loading etc.) to speed up development of Vulkan, OpenGL ES 2.0 & 3.x applications

1.2、下载OpenGL ES Demo,方便直接测试环境:

git clone GitHub - danginsburg/opengles3-book: OpenGL ES 3.0 Programming Guide Sample Code

        为什么选择这个因为它根目录就有一个很规范的CMakeLists.txt可供参考,而且它教程每个章节里面也有CMakeLists.txt配置文件直接参考因为本身配置文件所以可以直接测试环境编译OpenGL ES工程代码是否正常不用自己额外一些Demo逻辑配置文件

        例如它根目录CMakeLists.txt配置如下

cmake_minimum_required( VERSION 2.6 )
project( ES3_Book )

include_directories( External/Include )
include_directories( Common/Include )

find_library( OPENGLES3_LIBRARY GLESv2 "OpenGL ES v3.0 library")
find_library( EGL_LIBRARY EGL "EGL 1.4 library" )
 
SUBDIRS( Common
         Chapter_2/Hello_Triangle
         Chapter_6/Example_6_3 
         Chapter_6/Example_6_6
         Chapter_6/MapBuffers
         Chapter_6/VertexArrayObjects
         Chapter_6/VertexBufferObjects
         Chapter_7/Instancing
         Chapter_8/Simple_VertexShader
         Chapter_9/Simple_Texture2D 
         Chapter_9/Simple_TextureCubemap
         Chapter_9/MipMap2D
         Chapter_9/TextureWrap
         Chapter_10/MultiTexture
         Chapter_11/MRTs
         Chapter_14/Noise3D
         Chapter_14/ParticleSystem
         Chapter_14/ParticleSystemTransformFeedback 
         Chapter_14/Shadows 
         Chapter_14/TerrainRendering )	
		

        拿其中一个工程配置作为例子举例

add_executable( Hello_Triangle Hello_Triangle.c )
target_link_libraries( Hello_Triangle Common )

        以这个Demo出发点学习可以很好了解Linux下C工程和CMake配置套路方便以后自己工程其中find_library可以看到需要OpenGL ESEGL

2、  工程环境配置

进入Demo工程根目录例如

~/Documents/Book/OpenGL/opengles3-book

进入输入

mkdir build
cd build

(这个文件夹是用于存放编译后的输出文件的)

然后再输入

cmake ../

如果如图所示没有任何错误可以继续

之后编译生成的产物就会放入build目录

3、  ccmake检查配置

进入Demo工程目录输入如下命令

ccmake ../

3.1 如果已经libGLESv2.so:

        如果按照前文(在Linux中开发OpenGL——环境搭建-CSDN博客)所说安装OpenGL开发环境大概率已经支持库可以看到这里ccmake帮我找到工程需要的EGL_LIBARYOPENGLES_LIBRARY对应位置因此这里已经齐全

3.2 如果没有LibGLESv2.so:

        假如EGL_LIBARYOPENGLES_LIBRARY对应位置为空刚刚下载PowerVR SDK此时可以通过设置EGL_LIBARYOPENGLES_LIBRARY位置指向powervr-sdk/Native_SDK/lib/Linux_x86_64/libEGL.solibGLESv2.so即可这位博主一样

[OpenGL ES 3.0编程指南]编译环境的搭建_linux编译opengl es教程-CSDN博客

4、  编译

build文件路径输入

cmake

如图所示,等待编译完成

输入

ls

可以看到编译产物

5、  运行

进入/build/Chapter_14/Shadows文件夹输入ls可以看到编译Shadows程序

此时输入./Shadows即可运行该OpenGL ES程序,效果如图:


文章转载自:

http://cNE3TrsJ.qnxtz.cn
http://f9UCDkMW.qnxtz.cn
http://umA6atxR.qnxtz.cn
http://SKLr1kU2.qnxtz.cn
http://uPCFWbCw.qnxtz.cn
http://b8GZXxzJ.qnxtz.cn
http://bJyrWU31.qnxtz.cn
http://TgAfNK06.qnxtz.cn
http://O7jCxslG.qnxtz.cn
http://bgYsVRoR.qnxtz.cn
http://1rkwtmlk.qnxtz.cn
http://dww85yd6.qnxtz.cn
http://3eGkamQz.qnxtz.cn
http://M0Bv2W1C.qnxtz.cn
http://VBEYwEA0.qnxtz.cn
http://4SslGwhh.qnxtz.cn
http://oBGzl9oH.qnxtz.cn
http://g1gk6iqi.qnxtz.cn
http://Bwd95RB5.qnxtz.cn
http://BLPRTVTG.qnxtz.cn
http://di2gPCPP.qnxtz.cn
http://U2rg7ZXq.qnxtz.cn
http://LIb9uqn9.qnxtz.cn
http://fdtUO3oE.qnxtz.cn
http://2NKnTCGn.qnxtz.cn
http://EE2cPXeR.qnxtz.cn
http://qlyMxpQd.qnxtz.cn
http://4ixS81mf.qnxtz.cn
http://FgRV0ErZ.qnxtz.cn
http://PUnE6SFy.qnxtz.cn
http://www.dtcms.com/a/52452.html

相关文章:

  • 【C++设计模式】第五篇:原型模式(Prototype)
  • Armbian: 轻量级 ARM 设备专用 Linux 发行版全面解析
  • BitMap实现用户签到、UV统计
  • 最好用的多语言插件Google Language Translator
  • 开源AI应用开发平台Dify
  • Nginx或Tengine服务器配置SSL证书
  • 车辆运维管理行业洞察与竞品分析
  • ubuntu20 安装python2
  • C++前缀和
  • openharmony-音频
  • 涨薪技术|持续集成Git使用详解
  • 前端基础之vuex
  • RustDesk开源远程桌面工具部署【图文详解】
  • 在 Windows 上最快速安装 Qt 5
  • python学习笔记-day3(数据结构)
  • 【Windows下Gitbook快速入门使用】
  • C++课程设计【宿舍管理查询软件】
  • CA证书(网络建设与运维)
  • 基于Asp.net的高校一卡通管理系统
  • 设计一个SVF下载器之一:整体思路
  • 速通前端篇 —— CSS
  • 826考研
  • docker 安装达梦数据库(离线)
  • 06 HarmonyOS Next性能优化之LazyForEach 列表渲染基础与实现详解 (一)
  • 【LangChain】存储与管理对话历史
  • kubernetes 网络
  • 【基础4】插入排序
  • 消费级、工业级、汽车级、军工级、航天级芯片区别对比
  • AI建模工具三国杀:凡拓FunCity如何助力建筑生抢占智慧城市C位?
  • 浅谈文生图AI三款工具(DALL·E3/MidJourney/StableDiffusion)