廣告:冬瓜哥新作《大話計算機》(從入門到出家,高中生,文科生,看完了變IT領域專家,理科生看完直接看破紅塵),將於2018年10月份出版,詳細內容點擊連結。
內容試讀(根據留言要求貼出):
《大話計算機》內容節選之:fork流程及QPI內存映射
《大話計算機》內容節選之:指令系統和分支預測
《大話計算機》內容節選之:計算的本質、bio
《大話計算機》內容節選之:冬瓜哥彪悍圖解Cache組關聯
《大話計算機》內容節選之:CUDA對線程的安排方式及Linux進程0創建和運行
《大話計算機》內容節選之:詳解超線程
《大話計算機》內容節選之:詳解多核心、用戶棧和內核棧
《大話計算機》內容節選之:GPU是怎麼把平面貼圖計算成立體感觀的
《大話計算機》內容節選之:P/N節、電晶體發展史
《大話計算機》內容節選之:場效應管
《大話計算機》內容節選之:趣味了解浮點數(上)
《大話計算機》內容節選之:趣味了解浮點數(下)
《大話計算機》之:從一份手稿設計圖到PPT
在《大話計算機》第8章中,冬瓜哥向大家詳細通俗介紹了計算機聲音和圖形渲染方面的知識。
昨天英偉達的老黃穿著同款皮夾克發布了一系列新GPU,號稱能將光線追蹤渲染性能提升25倍,並現場演示了一段大概幀率1FPS的電影3D渲染動畫。按照之前的GPU效率,同樣條件下估計每秒只有0.04FPS,也就是渲染1幀需要25秒。
本文閒聊一下什麼叫光線追蹤。大家在一些3D遊戲比如吃雞裡看到的畫面,與電影、廣告效果圖裡那些逼真的畫面相比,完全不在一個檔次上。吃雞的畫面其實真的很一般,與戰地1,巫師3,神秘海域4等沒法比。但是任何實時渲染的3D圖片,都趕不上靜態渲染的,因為後者要的就是更逼真的畫面效果。比如下面的桌球渲染圖。上半部分足以以假亂真,但是下班部分你看上去也挺真實,但是和上面一比就看出差距了。
下面的圖總是缺了點什麼。對了,那就是對環境光照的處理。下面的桌球白色部分真白,絲毫沒有被對周圍物體顏色反光鎖影響,無非就是有些地方暗了一些,而且還不夠暗。而上方圖中可以明顯看到白色部分對周圍多個物體的真實顏色產生了一定程度的倒映。
在一些3D遊戲中,也可以實現對周圍物體倒映(術語:Environment Map,環境貼圖),但是,它們都是假的近似處理,根本談不上物理上的真實性。
如下圖所示,牆面的漫反射非常符合物理現實,而如果用近似方式到時也可以處理,但是很假。
再看下圖,透明物體的反射、折射,都遵從物理規律。
要做到這種逼真效果,目前就只有光線追蹤技術了,因為我們感覺到物體表面體現出來的明暗層次感,都是拜光線物理規律所賜,包括高光反射、漫反射、投射、折射四大現象。要逼真的反映出這種規律,就必須將場景中的光源發出的光線對畫面中的每個像素的影響都精確計算。但是由於物體表面會吸收並反射、散射一定的光線,所以光源的光會在物體表面形成次級光源繼續向其它物體照射,無窮循環直到光強衰減到人眼無法分辨為止。這樣的話會牽扯大量計算。不過人們發明了一些模型可以將這個過程做近似和降低精度,從而可以應用在在實時渲染,明年發布的遊戲《地鐵:逃離》中會使用環境光追蹤技術,當然,是否打開這個選項就看你當時用的是何等檔次的顯卡了。
Global illuminattion。遊戲中有個概念叫做全局光照,其思想與上述環境光追蹤類似,但是是用了其他近似模擬方法,能夠將一個物體的次級光線作用到其周圍的物體上。
使用光線追蹤渲染有個壞處,那就是畫面太過現實了,反而難以實現虛擬環境下的夢幻般光效,而之前使用假近似方式則可以放肆的模擬出各種光影效果。換到光線追蹤渲染模式之後,那就必須真的在對應地方安放對應的光源,精調參數了,可能會進一步增加渲染負擔。
老黃本次發布的顯卡最高達48GB顯存,這也是光線追蹤的一個劣勢,那就是需要大顯存,因為這種光照計算是全局的,而不能僅把部分場景模型數據載入顯存。
綜上,要想在實時渲染遊戲中達到光照逼真效果,並且是可交互的(從各種角度看都實時重新計算光照),為時還早。明年的《地鐵:逃離》先看看效果再說吧。據說老黃快要發布消費級GTX2080了,不過冬瓜哥內心毫無波瀾,因為買不起。
想了解更多圖形渲染方面知識,敬請關注10月底出版的《大話計算機》一書。
大話計算機
大話存儲