文档章节

OpenGL的学习资源

元谷
 元谷
发布于 2015/07/23 13:20
字数 915
阅读 39
收藏 0

OpenGL是3D图形接口工业标准,使用上非常简单,所有API不过上百个函数,但理解OpenGL就没那么简单,本文总结OpenGL的学习资源,包括官方资料、网上教程、示例程序等。

 

Wikipedia

OpenGL,介绍了OpenGL的历史及版本;

Graphics processing unit,介绍了GPU,由于OpenGL更像个底层驱动,了解GPU对理解OpenGL很重要。

 

书籍

红宝书(The Red Book),OpenGL Programming Guide,目前最新版第8版(2013),中文译本最新第7版,第8版较第7版几乎彻底改版(第8版英文版网上有PDF);

蓝宝书(The Blue Book),OpenGL Superbible: Comprehensive Tutorial and Reference,目前最新第6版(2013),中文译本最新第5版;

更多书籍请见OpenGL官网书籍列表

 

官网

OpenGL主页,这里有非常多的资源,如API规范(Specifications)及快速参考卡(Quick Reference Card)(强烈建议参考)、在线文档Wiki及所列的代码资源相关工具Getting Started页列了更多链接)、论坛等;

Khronos Group,OpenGL标准由该小组维护,该组织还掌管着OpenGL的嵌入式版(移动版)OpenGL ES和网页版WebGL,以及异构并行计算语言OpenCL

两大显卡巨头的OpenGL资源:NVIDIA OpenGLAMD OpenGL,上面有很多酷炫的Samples。

下图是从Quick Reference Card 4.4中摘的“OpenGL Pipeline”(Specification 4.4中有详细解释):

 

顶级课程: 

图形学顶级会议SIGGRAPH和Eurographics几乎每年都会有关于OpenGL的课程:

SIGGRAPH 2014 Introduction to modern OpenGL programming, 2013 An introduction to OpenGL programmingEfficient real-time shadowsOpenGL and DirectX, 往年的还有很多,请自行到dl.acm.org搜索“ACM SIGGRAPH 20xx Courses”并点“Table of Contents”选项卡。

Eurographics 2014 STAR State of the Art Report on Real-time Rendering with Hardware Tessellation, 2014 Tutorial Efficient Sorting and Searching in Rendering Algorithms, 更多技术报告和课程请见 Eurographics 档案

如果文章不能下载,请到Google学术或Google搜索,很有可能能搜到作者网站的下载链接,还有可能搜到报告PPT和视频。

 

网上教程

http://www.opengl-tutorial.org/:很好的教程网站,部分教程有中文版;

http://ogldev.atspace.co.uk/:被上一个网站认为是竞争对手;

http://open.gl/:同样介绍了现代OpenGL编程;

Nehe的教程,关键是有中文翻译版,但是比较老了,可以用来学习经典管线功能;

http://arcsynthesis.org/gltut/:一个非常详尽的教程;

http://antongerdelan.net/opengl/:比较全面,除了OpenGL,还有计算机动画相关的;

另外,OpenGL官网上也有一些教程的链接Getting Started页后面有更多),和代码资源

遇到编程问题,可以到Stack Overflow(一个程序设计领域的问答网站)看看是不是有人问过这个问题。

下图是ogldev.atspace.co.uk的截图:

 

计算机图形学

请参考我另一篇博客:计算机图形学的学习资源

 

GPU硬件

了解GPU架构对理解OpenGL有极大帮助,可以学一学GPU编程:OpenCLCUDAOpenACCC++ AMP,里面都会说GPU架构;

国内有个GPU论坛:HPC论坛,里面也有GPU的资料;

ozone3d.netgeeks3d.com上有GPU检测或性能测试的小工具,也有示例代码和教程;

Pennsylvania大学课程CIS 565: GPU Programming and Architecture,讲了GPU编程及图形学编程,它推荐的参考书有中译本《大规模并行处理器编程实践》(David B. Kirk等著,赵开勇等译)。

下面三幅图分别描述了CPU和GPU连接关系、GPU架构(图中MP在CUDA书中叫做SM)、CPU架构:

                   

(该图取自Wikipedia,这里,该图可能过时了,见这里

(该图取自Aurélien Plyer主页,这里

              

本文转载自:http://www.cnblogs.com/liangliangh/p/3765221.html

元谷

元谷

粉丝 22
博文 112
码字总数 32677
作品 1
深圳
高级程序员
私信 提问
opengl堆叠重建

@局长 你好,想跟你请教个问题:最近接到一个任务,要求实现基于vc++6.0与opengl来实现几百张图片的堆叠重建,用vc++实现图片处理流程,用opengl来实现三维堆叠重建。课下找了好多资源都是有...

大冬瓜7号
2017/04/06
77
0
opengl堆叠重建

各位大神,最近接到一个任务,要求实现基于vc++6.0与opengl来实现几百张图片的堆叠重建,用vc++实现图片处理流程,用opengl来实现三维堆叠重建。课下找了好多资源都是有关opengl三维绘制的比...

大冬瓜7号
2017/04/06
80
0
Android 自定义相机开发(三) —— 了解下EGL

胡说八道 如果要使用OpenGl来自定义相机,这个还是要了解下的。可能大多数开发者使用过OpengGL但是不知道EGL是什么?EGL的作用是什么?这其实一点都不奇怪,因为Android中的GlSurfaceView已经...

aserbao
2018/05/10
0
0
iOS OpenGLES教学

开发过程当中,学习OpenGLES的时候对自己有所帮助的资源,在此共享: http://iphonedevelopment.blogspot.com/2009/05/opengl-es-from-ground-up-table-of.html http://iphonesdkdev.blogspo......

长平狐
2012/08/13
492
0
图片和图形之用OpenGL ES显示图形(9)

原文 概要 Android框架提供了大量用于创建有吸引力的功能性图形用户界面的标准工具。但是,如果您想要更多地控制应用程序在屏幕上绘制的内容,或者冒险进入三维图形,则需要使用其他工具。A...

lichong951
2018/05/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

面向对象方面的一些东东

<!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta http-equiv="X-UA-Compatible" cont......

流年那么伤
28分钟前
2
0
git 过滤文件夹和文件(IDEA)

最近使用git版本管理工具遇到一件很烦的事情,commit时总会把.idea、.*.iml和target文件添加进来,实际开发中,这些是需要过滤掉的。在.gitnore文件添加了过滤不起作用。下面介绍一种成功过滤...

uug
35分钟前
2
0
Spark Streaming 实时统计商户当日累计PV流量

一、问题 对实时流量日志过滤筛选商户流量,对每个商户的流量进行累计,统计商户实时累计流量。 当时间超过24时时,重新统计当日商户的实时累计流量。 二、实现步骤 1、采用Spark Streaming...

boonya
40分钟前
2
0
如果Task与Event 创建了记录类型后,不出现在Lightning的Activities中

如果在Lightning的Activities没出现这两个Button,但是在页面布局的Lightning 按钮区也存在,全局操作的记录类型就需要选择一个,否则不会出现

在山的那边
49分钟前
2
0
ddd中的子域和界限上下文

我们先来说说子域是什么?子域在我的理解是在一个庞大的系统中可以明显感知的不同的区块,如果在电商模块中,商品目录,订单,物流,库存,发票等等都可以感知他们明显的不同,可以认为是子域...

算法之名
58分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部