GPU编程的一些基础知识点

推荐阅读:GPU Programming And Cg Language Primer 1rd Edition(GPU 编程与 CG 语言之阳春白雪下里巴人 ·康玉之)

基础知识点

  • GPU
  • Shader(图形渲染管线)
    • 应用程序阶段
    • 几何阶段
    • 光栅阶段
  • 图形硬件
    • Zbuffer与Z值
    • stencil buffer
    • framebuffer

GPU

GPU上拥有更多的ALU(算数逻辑单元),于是在处理图形数据和复杂算法上面比CPU拥有更高的效率。GPU采用数据并行处理方式。GPU解决了CPU的不能同时计算大量不相关的数据的缺点,但是因为控制器少于CPU,于是有些情况下还是CPU好用

Shader(图形渲染管线)

应用程序阶段

使用高级语言开发(那些适合CPU计算的部分),比如经典的碰撞检测,场景图建立,视锥裁剪等经典算法。

几何阶段

几何阶段,主要负责顶点坐标变换、光照、裁剪、投影以及屏幕映射,该阶段基于 GPU 进行运算,在该阶段的末端得到了经过 变换和投影之后的顶点坐标、颜色、以及纹理坐标

光栅阶段

几何阶段结束后,将数据输入这一部分,为像素配色,每个像素的信息存储在颜色缓冲器中(color buffer 或 frame buffer)

图形硬件

Zbuffer与Z值

Zbuffer中存储深度值,表示距离视点的远近关系

stencil buffer

通常stencil buffer放在Zbuffer的字节的一部分bit中,表示是否被其他object遮挡

framebuffer

屏幕上每个点的色彩信息从帧缓冲器中取出,然后电子束再按命令在屏幕上成像,形成一系列离散的像素点。所以帧缓冲器一般存储像素的颜色值。

另外补充:
1.垂直同步
打开垂直同步就是将信号(显卡DAC完成一帧扫描后发出的)送入显卡3D图形处理部分,从而让显卡在生成3D图形时受垂直信号的制约

你可能感兴趣的:(图形学,OpenGL)