OpenGL ES学习资料总结

从今年春节后开始学习OpenGL ES,发现网上资料很有限,而且良莠不齐,所以整理了一下我学习时用到的资料和一些心得。

1. OpenGL ES1.x参考资料

把NEHE的教程移植到了Android上,当然用的是ES1

  http://insanitydesign.com/wp/projects/nehe-android-ports/

2. OpenGL ES2.x参考资料

有很多Android上ES2应用的文章

  http://tangzm.com/blog/?p=20

特别好的书,网上有英文版pdf,作者是libgdx的开发者,大神

  《OpenGL ES 2 for Android》

《OpenGL ES 2 for Android》作者的网站,必看

  http://www.learnopengles.com/

讲的太详细了,可以当工具书,网上也有pdf

  《OpenGL ES 2.0 Programming Guide》

讲的都是高级特性,想开发高级功能的可以看一下

  《Pro OpenGL ES for Android》

一个Android上简单的demo,可以借鉴

  https://github.com/yulu/GLtext

3.其他相关资料

计算机图形学&OpenGL的资料,可以看看

  http://www.cnblogs.com/liangliangh/p/3764420.html

  http://www.cnblogs.com/liangliangh/p/3765221.html

骨骼动画原理讲解,写的非常不错

  http://blog.csdn.net/n5/article/details/3105872

透视投影详解

  http://www.cnblogs.com/graphics/archive/2012/07/25/2582119.html

大神的网站,很多不错的OpenGL教程,关键是还有直接可以跑的源码。

  http://www.tomdalling.com/

4.个人心得

能用OpenGL ES2.x就别用ES1.x了,那个太老了,功能太受限制。

Android NDK里面的例子很不错,可以学习借鉴。

IOS有专门的网站讲GPU开发需要注意的事项,很赞。(https://developer.apple.com/library/ios/documentation/3DDrawing/Conceptual/OpenGLES_ProgrammingGuide/Introduction/Introduction.html)

大多数移动设备对uniform数组的大小限制很严重,也就支持128-256个vec4吧,这个在跨平台移植的时候一定要注意

其实最好还是先学OpenGL再搞ES,在电脑上调试什么的都很方便。

如果要写跨平台(Android,ios)的代码,还是需要用C++写,Android用Java封装的那套实在是挺鸡肋。

时间: 2024-08-26 19:29:56

OpenGL ES学习资料总结的相关文章

OpenGL ES学习笔记(二)——平滑着色、自适应宽高及三维图像生成

首先申明下,本文为笔者学习<OpenGL ES应用开发实践指南(Android卷)>的笔记,涉及的代码均出自原书,如有需要,请到原书指定源码地址下载. <Android学习笔记--OpenGL ES的基本用法.绘制流程与着色器编译>中实现了OpenGL ES的Android版HelloWorld,并且阐明了OpenGL ES的绘制流程,以及编译着色器的流程及注意事项.本文将从现实世界中图形显示的角度,说明OpenGL ES如何使得图像在移动设备上显示的更加真实.首先,物体有各种颜色

OpenGL ES 学习教程(十三) Stencil_TEST(模板缓冲测试)

模板缓冲测试,是指 将模版缓冲区中的值 与 一个参考值 进行比较,根据比较的结果,来对缓冲区中的值进行修改.进而决定该片段是否有效. 在应用中的体现就比如:Unity中的Mask . 大致的工作流程: 1.第一次Draw的时候,将所有的片段都设置为不通过模版测试.然后修改模版缓冲区的值,比如+1. 2.第二次Draw的时候,给定一个值 与 模版缓冲区中的值进行比较,比如用 1 与模版缓冲区中的值进行比较 . 因为第一步中,已经+1,所以模版缓冲区中值已经是1,然后用相等 作为条件判定 模版测试通

OpenGL ES学习笔记 (texture)

设置纹理采样方式 1:当多个texl对应一个fragment时 glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); 1:当一个个texl数量少于fragment时 glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAR

opengl基础学习专题 (一 )编程环境搭建

题外话: 第一次在博客园上同大家分享博文.水的的地方,错别字的地方.环境交流.批评.知道了马上改. 以前在百度空间中写技术分享博文,后来百度啥也没说就把整个空间封了.当时感觉 还是有点寒心.只想黑一下它,厂长老了.场子也该换了. 对于想写个oepngl基础学习的专题,主要是网上资源有点老,好多都运行不了,买了红宝书<<OpenGL 编程指南 第8版>>,看了还看,觉得有点专业,优化和技术核心讲的的多. 而且都是代码片段,像自己这种门外汉学习起来还是觉得基础不行.需要恶补一下关于 f

基于OpenGL ES 的深度学习框架编写

基于OpenGL ES的深度学习框架编写 背景与工程定位 背景 项目组基于深度学习实现了视频风格化和人像抠图的功能,但这是在PC/服务端上跑的,现在需要移植到移动端,因此需要一个移动端的深度学习的计算框架. 同类型的库 caffe-android-lib 目前应该是最便于集成使用的深度学习框架库. tensorflow和mxnet据说也有对应的android库,因时间原因暂未测试. CNNdroid,网址https://zhuanlan.zhihu.com/p/25259452,这个是用 ren

基于Cocos2d-x学习OpenGL ES 2.0系列——OpenGL ES渲染之Shader准备(7)

Cocos2d-x底层图形绘制是使用OpenGL ES协议的.OpenGL ES是什么呢? OpenGL ES(OpenGl for Embedded System)是OpenGL三维图形API的子集,针对手机.Pad和游戏主机等嵌入式设备而设计.该API由Khronos集团定义推广,Khronos是一个图形软硬件行业协会,该协会主要关注图形和多媒体方面的开放标准.OpenGL ES是OpenGL三维图形API的子集,针对手机.Pad和游戏主机等嵌入式设备而设计.Cocos2d-x底层图形渲染使

如何学习OpenGL es技术

============问题描述============ 小生不才,现在想学习Android封装后的Opengl es技术,但是我的英文水平不行,看官方文档很吃力,所以,想在这里求教大家帮忙指导一下 不知道大家是怎么学习的这项技术的,或看某些好点的书籍,或完全自己摸索学习,小生希望懂这项技术的大牛们能够慷慨解囊,帮助我们这些还在求学的小生们,给我们指明一条学习的道路和方法: 如果您是看书学会的,还请您能告知这些书籍的名称 或者您是完全靠自己摸索学习的,那小生在这先向您表示佩服,不知您是否愿意将您

基于Cocos2d-x学习OpenGL ES 2.0系列——你的第一个三角形(1)

[本系列转自]http://cn.cocos2d-x.org/tutorial/lists?id=79 前言 在本系列教程中,我会以当下最流行的2D引擎Cocos2d-x为基础,介绍OpenGL ES 2.0的一些基本用法.本系列教程的宗旨是OpenGL扫盲,让大家在使用Cocos2d-x过程中,知其然,更知其所以然.本系列教程不会涉及非常底层的数学原理,同时也不会过多地提及OpenGL本身的一些细节知识.但是我会在每篇文章的最后给出一些参考链接,大家可以顺藤摸瓜,一举Get OpenGL这个新

从零开始学习OpenGL ES之一 – 基本概念

我曾写过一些文章介绍iPhone OpenGL ES编程,但大部分针对的是已经至少懂得一些3D编程知识的人.作为起点,请下载我的OpenGL Xcode项目模板,而不要使用Apple提供的模板.你可以解压到下面位置安装此模板:/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Project Templates/Application/ 已经有大量有关OpenGL的好教程和书籍.但是,却没有多少是关于OpenGL ES,而