第三章 Hanging Ten——走马观花渲染管道

第三章 Hanging Ten——走马观花渲染管道

 

概述

现在是时候开始在三维里思考了。目前为止我们做的任何事情都是二维的。这一章讲述传统3D渲染流水线的背景知识。我特别指出“传统”,那是因为当前有两种渲染流水线:传统的fixed-function流水线和vertex and pixel shader流水线。传统流水线包括下面的步骤:

n  顶点数据和高阶图元(high-order primitive tessellation

n  变换和光照

n  视口和裁剪

n  纹理/多重纹理

n  雾混合

n  透明,模板和深度测试

n  帧缓存混合

 

DirectX 8加入了vertexpixel shaders,他们使用一种类汇编语言的shader语言。Vertex shaders代替了流水线里的变换和光照步骤,pixel shaders代替了纹理/多重纹理步骤。在DirectX 9里,使用了C语言语法风格的高级着色语言(High Level Shader Language)替代了类汇编语言的shader语言。几章都会用到(devoted)这些shaders。在这本书里我们不会深入专研shaders的高级特性,我们坚持使用传统的流水线,在处理vertex and pixel shaders之前,我们需要扎实的掌握这些技术。

 

很多传统的流水线在现代图形卡都得到支持。这一章我们把焦点集中在准备mesh数据和把数据送给硬件渲染的处理上。事实上,这一章大多数内容解决精确定义哪些顶点数据需要提交进行渲染,以及这些数据怎么组织。为了在3D渲染取得最高的效率,我们需要最小化渲染状态的改变(例如,纹理选择,光照设置,变换矩阵的设定)。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值