DirectX - 根据对象的z坐标模糊对象

时间:2012-11-21 06:14:33

标签: 3d directx motion-blur

我想根据对象的z坐标(进入屏幕的坐标)模拟3D场景中的对象。比如z = 5模糊量= 0,z = 10模糊= 50,z = -30模糊= 40。这必须发生在每个对象上。

  1. 我该怎么做?
  2. 我是否必须使用directx 9.0c或更高版本才能实现此功能(因为着色器)?
  3. 我是否使用Z缓冲区?我对DirectX有点新鲜。

1 个答案:

答案 0 :(得分:1)

它被称为Depth of field这里有一些nice reading是的,它需要着色器。

要实现简单的自由度,您可以渲染场景两次:

  1. 渲染到远一半的纹理(前面剔除在midle和 在场景结束时剔除。)

  2. 使用此纹理渲染四边形(使用简单着色器将其模糊)。

  3. 将前半部分放在上面(背部剔除在中间) 场景)