隨著X-Plane 12的公開,技術人員可以有更多時間在開發部落格上寫一些開發心得紓解壓力。Laminar Research的Ben Supnik就是其中之一,前日他發表了一篇有關現行X-Plane光源渲染處理的技術文章。
文中提及,傳統的色調與畫面渲染,由於顯示面版以及運算技術,在光影呈現上僅能支援低階動態範圍(Low Dynamic Range, LDR),因此,物件與天空等,都像是靜態式「Photoshop」般進行設計的。
![](https://glasscockpit.v-model.studio/wp-content/uploads/2022/02/unnamed-1-2-edited-1024x575.png)
傳統的LDR僅能支援三原色RGB從0到255的色彩渲染,但現實中的光影則是有更多參數及物理效果影響造成的,這其中一大因子就是亮度。因此,Laminar Research將光源流明(Luminance)納入計算單位:luminance in candela per meter squared (cd/m2) 或 nits (nt),而光源的分布則是一個相當龐大的數據落差,從大約2 nts的夜晚燈光到1,600,000,000 nts的白天太陽亮度。但現今的顯示器已經可以分辨差別,並且運算能力上的進化,因此,技術人員得以將渲染流程改為高度動態範圍(High Dynamic Range, HDR),並且使用16位元浮點運算來處理增加的運算需求。
![](https://glasscockpit.v-model.studio/wp-content/uploads/2022/02/Screen-Shot-2021-11-03-at-10.43.11-AM-edited-scaled-1-1024x576.jpg)
不過,考慮到PCD螢幕的亮度極限大約在100-500nts之間,那要如何將十倍或百倍以上的光源如太陽光散射在大氣各地等更明亮的光源映射在各位的眼球上呢?Laminar Research說明他們設計了一個投影模組來處理這項問題,模組中含有一組曝光值,並將HDR場景映射到螢幕上。在這其中,模組含有一組參數能夠壓縮光源的比例,使得光源比例不會完全失真,並且讓景色能夠炫麗的呈現在螢幕之上。除此之外,模組中的曝光值將會根據時間與天氣環境等因子影響太陽光源大小,並且將其自動化,因此在XP12中,暗部(例如背光下的儀表版)與亮部(例如直視太陽)將會更加柔和。
![](https://glasscockpit.v-model.studio/wp-content/uploads/2022/02/unnamed-2-2-edited-1024x577.png)
再來,由於新加入的渲染器幫助處理了顯示器的調色,因此,原先的靜態式Photoshop的天空色調,就不這麼符合現實了。因此,要滿足更真實的景色,還需要一項額外的處理項目:天空。
要將天空配色調整到正常,首先要考慮到大氣條件、觀看角度以及太陽的亮度等。天空因為光線在空氣粒子上散射而導致我們接收到許多藍光。而XP12中加入了這項散射效應的模擬,對此,著色器就直接得到了正確的色調參數,並且從任何時刻、任何角度來看的色調,都與現實中無異。
![](https://glasscockpit.v-model.studio/wp-content/uploads/2022/02/N844X-2021-10-18-23.09.41-2-edited-1024x576.png)
為了建立XP正確的光源顯示,因此Laminar Research根據現實參數重新建構了外部光源,接下來有關內建與額外光源該怎麼進行調教才能不會太亮或太暗呢?在XP12中,航機設計者可以輸入真實世界的LCD顯示亮度參數,然後剩下的交給光源引擎去處理。這種貼近現實方法的方式,比起使用3D編輯器去做調色而言,使光源能夠更真實的反應出來。
![](https://glasscockpit.v-model.studio/wp-content/uploads/2022/02/A330-2021-10-21-11.44.07-2-edited-1024x576.png)
採用新的光源運算方式有許多好處,其中一項便是使模擬飛行的光影與調色顯示看起來更加協調,因為物件的著色使用了一致的標準。所以在處理更多燈光問題如:機場標示燈、滑行燈等,使用了新的光源引擎後,這些問題便迎刃而解,未來在開發時只需要對比與現實的落差,不再需要不斷交叉比對,因此,光源與影像顯示能夠更直覺的並且更貼近現實。