第686章 面数不变,效果翻倍! (第2/3页)
高端工业显卡采购商之一。
但游戏不一样。
只要玩家的肉眼看着是那麽回事,那就完全没问题。
「所以我们就需要请出计算机图形学帮一点小忙了。」
卡马克是编程天才,这部分才华溢出了一点,让他在图形学领域也有了不菲的成就。
可他到底是自学成才的车库奇才,并不是真正的科班出身。
在面对一些经典图形学问题时,他总会靠自己的实力强行大力出奇蹟。
虽然有的时候能带来惊喜,顺手再拿一堆奖,再帮图形学界解决一些千古难题。但很多时候,这种性格也会让他很容易重复造轮子,在没必要的事情上浪费精力。
「高洛德着色法(gouraud shading)。」
计算机三维图形学的世界,存在着三种主流的着色方案。
第一种,也是以当下图形性能条件最靠谱,也是最简单最传统的方案,平面着色(flat shading)。
由於在计算机的世界里,三维物体由大量的三角片构成的关系,着色方案也可以非常容易地设计。
在上色的时候,整个三角形只计算一次颜色,整个三角形都应用同一个颜色。
这种方案的好处是显而易见的,速度奇快、性能开销奇低无比。
但缺点也很明显,同时也是目前卡马克始终找不到对策的原因。
僵硬。
颜色之间缺少过渡,整个3d物体的棱角感非常明显,根本不像一个平滑的物体。
诚然,这一点可以通过增加面数得到改善。
前往「必」应」搜「索旗」」可查看最「新章「节!但这种大力出奇蹟的绿皮思路,显然让这些图形学家们非常不爽。
於是在70年代,有两位奇才站了出来,分别拿出了两套解决方案。
亨利·高洛德提出的高洛德着色法,与裴祥风提出的phong着色法。
高洛德的思路是直接通过面的顶点进行计算,随後面上的每个像素都做一个过渡插值。
这样整个面上的颜色就一定是流畅的渐变。
phong要更加极端一些,直接每个像素都进行完整的着色计算,结合光照、材质等因素,综合计算。
相较下来,不难发现phong一定是渲染效果最优秀最漂亮的那一个。
但它也不是完美的。
就像平面着色牺牲了视觉效果换来了绝对的速度优势那样。
phong便是牺牲了性能换来了绝对的画面。
它只适合给影视行业等高度依赖精度,又不需要实时计算的场合使用。
而高洛德……它则是从这两者之间取得了一个折中点。
较低的运算强度,却能换来比平面着色强得多的效果。
面数没有增加,整个模型却一下子就像那麽回事了。
这就足够了。
骗得过玩家的眼睛就已经足够了。
重新编译运行。
原本屏幕上那坨面数有限的模型,一下子便光滑了起来。
高端的开发者,往往能够神不知鬼不觉地偷工减料,为显卡减少负担。
「原来如此……」
卡马克扫了一眼源码,便立刻get到
(本章未完,请点击下一页继续阅读)