OpenGL
文章平均质量分 75
郭叶军
这个作者很懒,什么都没留下…
展开
-
介绍1---什么是3D
考察计算机显卡最后输出到显示器的环节,有一块和屏幕分辨率大小一致的物理连续的memory,有一个名为Display Controller的硬件设备,该硬件将memory中的数据传递给显示器,进而在显示器屏幕screen显示。此时,这块memory被称为on screen buffer。换句话说,可以存在多块memory,其内容都可以被Display Controller传给显示设备,而当前被Dis原创 2009-07-22 16:04:00 · 2479 阅读 · 3 评论 -
4. OpenGL综合知识 --- 窗口系统Windows和Linux/X
说明:在本节涉及的frame buffer是以显示为目的的frame buffer。 为了将GPU绘制结果在窗口中显示出来,必然需要将OpenGL和具体窗口系统相结合。如下图所示,OpenGL spec定义了GL context</span>的行为,从具体窗口衍生出frame buffer,两者结合,即可完成OpenGL应用程序的显示输出。当然,GL context的输出格式和原创 2009-08-15 14:52:00 · 3977 阅读 · 1 评论 -
3. OpenGL综合知识---Frame Buffer
GPU的绘制结果并不一定直接写入on screen buffer中。On screen buffer中的数据是被用以显示输出的颜色信息,所以,on screen buffer属于color buffer。在OpenGL中定义了多个color buffer,比如front buffer、back buffer、left buffer等等,其中front buffer就是on screen buffe原创 2009-08-08 12:01:00 · 2732 阅读 · 0 评论 -
2. OpenGL综合知识---GL state和GL Context
OpenGL定义了数百个以gl开头的函数(可称之为glAPI),供应用程序调用;OpenGL也规定了从glAPI到on screen buffer中数据的转换过程,即OpenGL的Pipeline。Pipeline直译的中文意思是管道,可以理解为将三维空间中表达的数据(比如三维物体、灯光配备等)经由这个管道转换为二维屏幕上的画面。如上图所示。 OpenGL Pipeline原创 2009-08-08 11:56:00 · 5044 阅读 · 0 评论 -
1. OpenGL综合知识---2D和3D
考察计算机显卡最后输出到显示器的环节,有一块和屏幕分辨率一致的物理连续的memory,有一个名为Display Controller(?名称待确认)的硬件设备,该硬件将memory中的数据传递到显示设备中显示。此时,这块memory被称为on screen buffer。 可以同时存在多块memory,其内容都可以被Display Controller传给显示设备,而当前原创 2009-08-08 11:53:00 · 1471 阅读 · 0 评论 -
介绍5---OpenGL Pipeline
之前讲述的都是将OpenGL Pipeline当中一个整体来看的,接下去,我们开始探索其内部了。 一. 顶点处理三维空间中的物体,从几何角度来说,是由多个顶点构成的,所以OpenGL Pipeline的第一个步骤就是顶点处理。计算每个顶点的属性,比如这个顶点在当前光照条件下应该是什么颜色的,在当前的视野下应该做的坐标变换等等。在这个步骤,每个顶点都是被独立处理的,不存在相互依原创 2009-07-25 11:32:00 · 2305 阅读 · 0 评论 -
介绍4---memory和client/server
很粗略的,我们可以从三个主要角度来看待memory:1. CPU可以读写的,称为system memory,我们一般写的程序都是使用system memory。2. CPU可写GPU可读的,属于video memory,这种memory在驱动程序中具有重要意义,是驱动程序软件和GPU硬件的桥梁。驱动程序往此memory写入硬件指令,GPU读取指令然后执行。3. CPU可读GPU可写的,原创 2009-07-24 13:28:00 · 1558 阅读 · 1 评论 -
介绍2---OpenGL和窗口系统
业界3D的标准主要有两个,一个是微软的Direct3D(或者简称D3D),另外一个则是OpenGL,在http://www.opengl.org/documentation/specs/可以看到其全部Spec。 OpenGL Spec定义了OpenGL pipeline的输入,即以gl开头的API函数(glAPI),也规定了pipeline的内部过程,以及其输出结果应该是什么,原创 2009-07-22 17:07:00 · 2073 阅读 · 1 评论 -
介绍3---Frame Buffer
实际上,OGL的输出并不一定直接修改on screen buffer。有三种可能情况:1. 下图中的bufer就是on screen buffer,或者是on screen buffer的一部分,此时,OGL的输出直接修改on screen buffer的内容。【扩展】当应用程序以front buffer作为draw buffer,或者选择single buffer时,是这样的情况,但是屏原创 2009-07-24 10:29:00 · 1491 阅读 · 1 评论 -
5. OpenGL综合知识 --- Memory类型和数据传递
从应用程序到驱动程序再到Frame buffer,粗略的,可以将memory分成四类:1. CPU可读可写的,称为system memory。我们一般写的程序使用的memory都是这种类型的,比如OpenGL应用程序,OpenGL驱动程序中的部分memory2. CPU可写GPU可读的,属于video memory,这种memory在驱动程序中具有重要意义,原创 2009-08-20 21:20:00 · 1621 阅读 · 0 评论