2004年11月8日星期一

3D 桌面与光影

LongHorn 的用户界面将包括 3D 桌面。既然是 3D 的桌面,我就在想,能不能把桌面本身也作为一个 3D 程序来对待呢?既然这样,我们就完全可以把很多目前只有在 3D 游戏里才有的特性加入到我们最常用的桌面上去吧?比如说,光影效果:

  • 试想一下,我们的桌面不再是一成不变的窗口层叠,而是像真正的窗外的阳光照射进来、在不同的窗口级层上产生光影效果;
  • 上面的窗口将真正的在下层窗口产生动态光影(可以参照 Doom3 的引擎嘛);
  • 当我们将桌面上方的一个光源摆放到桌面的左上角时,右下角的窗口将比左上角的窗口更暗;
  • 我们也可以摆设 2 个、3 个,更多个光源(只要硬件够强)在不同位置,将各个光源设置为不同的光源类型:点光源,射线光源,等等;
  • 每个光源的位置也是 3D 的,我们可以以桌面所在的平面为基准的 X-Y 平面;
  • 甚至,我们可以将桌面这个平面像窗口一样进行 3D 上的平移、旋转,而设置相关光源是按照绝对坐标不变化,还是按照桌面平面的相对坐标进行移动。

当然,发挥想象力,还可以有更多的特性。不过,这里也有一些具体的问题:比如从属桌面的子 3D 程序(我们现在的 Windows 的 3D 游戏都是桌面的子 3D 程序,只不过有些全屏,有些不是),它们的光照必然会与桌面的相冲突。我们可以设置隐藏的 Tag,标识非 DirectX(仅仅举个例子)程序,使桌面光源对它们无效。

没有评论: