日历

<< 2010-7 >>

Sun

Mon

Tue

Wed

Thu

Fri

Sat

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

最近发表

Search

我在这里: 首页 » 浏览栏目: 深度缓冲

 

相信大部分引擎开发者也碰到这样一个大问题——使用了alpha混合后出现某些面片的混合颜色不正确,请先让我解释一下问题的原因。

当绘制一个3D场景时, 对图形进行深度排序是非常重要的, 这样离镜头近才画在远处物体的前面. 我们不会希望看到远处的山把近在眼前的建筑给挡住了!

如今有如下排序方法得到了广泛的应用:

深度缓冲 (也叫做 z-buffering)
画家算法
不幸的是, 每种都有其局限性. 为了达到好的结果, 大多数引擎是把三种方法结合起来使用的.而这里只讨论本引擎使用的深度缓冲.

  查看全文 | 发表评论
Tags: 深度缓冲  zbuffer  alpha  

    为什么有透视。因为眼球是个透镜。假如地球生物进化的都靠超声波探测空间,那也许眼睛就不会有变成球,而是其他形状...
为什么有人玩3D头晕?其中一个重要的作用是,眼球不完全是个透镜。所以当视野大于60度,屏幕四周投影的变形就比眼球投影视网膜利害多。而且人脑习惯了矫正眼球投影的信息。突然有个屏幕上粗糙的模拟眼球成像,大脑还真一时适应不了。

    Z BUFFER数值计算,以及PERSPECTIVE PROJECTION MATRIX设置,使用D3D或者OPENGL,可以直接让显卡完成这些工作。但是弄清Z BUFFER如何计算,以及PROJECT MATRIX的原理。对于进行各种高级图像处理,非常有用。例如shadowmap的应用。目前为了得到好的shadowmap,很多人在如何加大shadowmap精度做了很多努力(改变生成shadowmap时的perspective project matrix来生成精度更合理的shadowmap) 。比如透视空间的perspective shadow map,light空间的Light-space perspective shadow,perspective shadowmap变种Trapezoidal shadow maps,改正交投影为对数参数投影的 Logarithmic Shadow Maps。另外,Doom3中shadow volume采用的无限远平面透视矩阵绘制stencil shadow volume。都需要对perspective projection有透彻了解。

...  查看全文 | 发表评论
Tags: zbuffer  透视投影  深度缓冲  
分页(1): « 首页...«1»...尾页 »