【Direct3D-9】D3D两套渲染体系

118 阅读1分钟

责人斯无难,惟受责俾如流,有惟艰哉。 –《尚书·秦誓》
指责别人的错误并不困难,困难的是自己能够像流水一样从容的接受别人的指责。

D3D中渲染方式有两种:

  • 固定功能的渲染流水线(Fixed function render pipeline)
  • 可编程渲染流水线(programmable render pipeline)

1.固定功能的渲染流水线(Fixed function render pipeline)
基本步骤:

  1. 填充顶点数据
  2. 制定纹理坐标
  3. 设置材质
  4. 设置光照
  5. 设置变换矩阵
  6. 设置渲染状态
  7. 绘制图形

这一套流程,就是调用内部函数,我们无法知道内部进行了什么操作。

2.可编程渲染流水线
自己写shader,这是目前3D编程的趋势。不仅限于使用内部接口完成渲染,可自由的发挥编写着色器。

可编程渲染流水线的核心是着色器(shader)。

在Direct3D9中主要关注的是顶点着色器(vertex shader)和像素着色器(pixel shader)。
可编程渲染流水线中使用的一种辅助C++的编程语言,是一种编译和运行在GPU处理器中的Direct3D的独有的着色器编程语言——HLSL(high level shader language)。