分享一波笔者曾经学习OpenGL、OpenGL ES看过的一些资料。主要还是书籍,能让你系统性入门
Learn OpenGL
// 英文网站
https://learnopengl.com/
// 中文网站
https://learnopengl-cn.github.io/
学习OpenGL,很少有人没有看过LearnOpenGL系列文章的
OpenGL ES应用开发实践指南:Android卷
内容简介:
《OpenGL ES应用开发实践指南:Android卷》是一本系统的OpenGL三维游戏和动态壁纸开发指南,由资深Android开发专家根据OpenGL ES 2.0版本撰写,不仅系统地讲解了OpenGL ES的核心概念、技术,以及Android的图形机制,还通过大量案例讲解了在Android上进行OpenGL ES开发的方法和技巧
《OpenGL ES应用开发实践指南:Android卷》分为两部分,共15章:
第1章主要介绍开发环境的安装和配置,以及如何创建一个新的OpenGL项目和清空屏幕;
第一部分(第2~9章)详细讲解创建一个简单的空气曲棍球游戏的触控、纹理和基本原理,包括如何成功地初始化OpenGL并将数据发送到屏幕上,如何使用基本的向量和矩阵数学创建三维世界,以及Android的许多特定细节,比如在Dalvik虚拟机和本地环境之间编码数据(marshal data)以及如何在主线程和渲染线程间安全地传送数据
第二部分(第10~15章)详细介绍如何搭建三维世界中的效果,比如光照和地形渲染,以及如何创建可以运行在Android主屏幕上的动态壁纸
此外,附录还提供了正交投影和透视投影两个OpenGL常用投影类型背后的矩阵知识,以及一些实用的应用程序调试技巧
这本书是笔者入门OpenGL ES2.0看的第一本书,非常适合Android开发的同学,全文代码示例采用java实现,不需要C++基础
在如何使用TextureView+OpenGL绘制相机预览这篇文章提供的Demo中shader编译、纹理加载等utils方法,实现的粒子系统等都大量参考自本书
内容简介:
本书以C++和OpenGL作为工具,教授计算机图形学编程
全书共14 章和3 个附录,首先从图形编程的基础和准备工作开始,依次介绍了OpenGL 图像管线、图形编程数学基础、管理3D 图形数据、纹理贴图、3D 模型、光照、阴影、天空和背景、增强表面细节、参数曲面、曲面细分、几何着色器,以及其他相关的图形编程技术
附录分别介绍了Windows、macOS 平台上的安装设置,以及Nsight 图形调试器的应用。本书每章最后配备了不同形式的习题,供读者巩固所学知识
OpenGL只是图形学API,更多需要掌握的还是图形学编程的一些概念和数学知识,了解了这些,换成Vulkan这类新一代图形API也能快速掌握。这本书作为了解图形学编程的入门书籍是非常适合的(中文版有些地方的翻译不是很合适,英语基础好的同学可以直接看英文版)
啃完上面两本书,特别是跟着作者把代码自己敲一遍,你的职业道路又拓宽了
如果你还想继续深入学习,下面的这些书籍也是非常不错的
Khronos小组编写的OpenGL官方权威指南,素有“OpenGL红宝书”的美誉
吴亚峰的OpenGL ES 3.x游戏开发上下两卷