淘宝客网站开发服务商,淘宝店铺如何推广,查询个人公司注册公司,南京网站开发南京乐识优由于移动端GPU规模有限#xff0c;厂商并没有实现完整的OpenGL特性#xff0c;而是实现了它的子集——OpenGL ES。因此如果需要开发的程序要支持移动端平台#xff0c;最好使用OpenGL ES开发。 1、 下载支持库、OpenGL ES Demo 1.1、下载PowerVRSDK支持库作为准备#xff… 由于移动端GPU规模有限厂商并没有实现完整的OpenGL特性而是实现了它的子集——OpenGL ES。因此如果需要开发的程序要支持移动端平台最好使用OpenGL ES开发。 1、 下载支持库、OpenGL ES Demo 1.1、下载PowerVRSDK支持库作为准备里面自带了编译好的libEGL.so和ligGLESv2.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 applications1.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( CommonChapter_2/Hello_TriangleChapter_6/Example_6_3 Chapter_6/Example_6_6Chapter_6/MapBuffersChapter_6/VertexArrayObjectsChapter_6/VertexBufferObjectsChapter_7/InstancingChapter_8/Simple_VertexShaderChapter_9/Simple_Texture2D Chapter_9/Simple_TextureCubemapChapter_9/MipMap2DChapter_9/TextureWrapChapter_10/MultiTextureChapter_11/MRTsChapter_14/Noise3DChapter_14/ParticleSystemChapter_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 ES库和EGL库。 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_LIBARY和OPENGLES_LIBRARY的对应位置因此我这里库已经是齐全了的。 3.2、 如果没有LibGLESv2.so: 假如EGL_LIBARY和OPENGLES_LIBRARY的对应位置为空那刚刚下载的PowerVR SDK就有用了。此时你可以通过设置EGL_LIBARY和OPENGLES_LIBRARY库的位置指向到powervr-sdk/Native_SDK/lib/Linux_x86_64/libEGL.so和libGLESv2.so即可。像这位博主的一样 [OpenGL ES 3.0编程指南]编译环境的搭建_linux编译opengl es教程-CSDN博客 4、 编译 在build文件路径中输入 cmake 如图所示等待编译完成后 输入 ls 就可以看到编译产物了 5、 运行 进入/build/Chapter_14/Shadows文件夹输入ls可以看到编译好的Shadows程序 此时输入./Shadows即可运行该OpenGL ES程序效果如图