1. 主页
  2. 文档
  3. 从零开始的计算机图形_程序员的3D渲染介绍教程
  4. 从零开始的计算机图形_程序员的3D渲染介绍 线

从零开始的计算机图形_程序员的3D渲染介绍 线

在本书的第一部分中,我们广泛地研究了光线追踪,并开发了一个光线追踪器,它可以使用相对简单的算法和数学来渲染我们的测试场景,并具有准确的光照、材料属性、阴影和反射。这种简单性是有代价的:性能。虽然非实时性能对于某些应用来说是不错的,比如建筑可视化或电影的视觉效果,但对于其他应用来说就不够了,比如视频游戏。

在本书的这一部分,我们将探索一套完全不同的算法,这些算法偏重于性能而不是数学的纯洁性。

我们的光线追踪器从摄像机开始,通过视口探索场景。对于画布上的每一个像素,我们都要回答这样一个问题:”这里可以看到场景中的哪个物体?” 现在,我们将采用一种在某种意义上相反的方法:对于场景中的每个物体,我们将尝试回答 “这个物体在画布的哪些部分是可见的?”

事实证明,我们可以开发出比光线追踪更快地回答这个新问题的算法,只要我们愿意做出一些精度上的折衷。稍后,我们将探讨如何使用这些快速的算法来实现与光线追踪的质量相当的结果。

我们再从头开始:我们有一个尺寸为$C_w$和$C_h$的画布,我们可以用PutPixel()来设置各个像素的颜色,但没有其他功能。让我们探讨一下如何在画布上绘制最简单的元素:两点之间的直线。

 

文章

这篇文章对您有用吗?