OpenGL超级宝典学习笔记——Using OpenGL(一)


OpenGL超级宝典 第4版 中文版PDF+英文版+源代码 见 

第二章 使用OpenGL

(一)OpenGL 的工作原理

OpenGL是过程式的而非描述性的图形API。开发人员只须规定必要的步骤去实现显示的效果。这些步骤包含了许多OpenGL的命令。这些命令用于绘制许多的几何图元,例如点,线,多边形。OpenGL支持光照和阴影,纹理映射,混合,透明效果,动画,还有许多特殊的效果。

(二)通用实现

通用实现是指软件实现,软件实现的好处是跨硬件。但是性能不佳,没有硬件加速。

软件通用实现的OpenGL API所处的位置如下图:

image

其首先用软件实现去光栅化绘制3D图像,然后传给GDI,GDI负责与显示设备交互显示图像。

(三)硬件实现

OpenGL API调用直接传给硬件驱动。硬件驱动不会把图形传给Windows GDI进行显示。而是直接与图形显示设备交互。

image

(四)图形管线

管线是用于描述一系列的处理流程。下图是一个简化版本的图形管线

image

一个应用程序调用了许多OpenGL的API,这些命令被传送到Commond Buffer

这个buffer填充着许多命令,顶点数据,纹理数据等等,当缓冲区的数据被刷新时,命令和数据就被传递给管线的下一阶段。

顶点数据首先会进行变换和光照。这个阶段完成之后,数据被传输到管线的光栅化部分。最后图像被放入到帧缓冲区。

早期的OpenGL硬件加速器只是对光栅化阶段进行了加速。然而现在的硬件加速器都提供了变换和光照阶段。

 

 

OpenGL编程指南(原书第7版)中文扫描版PDF 下载

 

OpenGL 渲染篇

 

Ubuntu 13.04 安装 OpenGL

 

OpenGL三维球体数据生成与绘制【附源码】

 

Ubuntu下OpenGL编程基础解析

 

如何在Ubuntu使用eclipse for c++配置OpenGL

 

更多《OpenGL超级宝典学习笔记》相关知识 见 

相关内容