還記得上次那個用ASCII碼實現光線追蹤效果的國外小哥嗎?
當時這個專案一經發出,在Reddit上的熱度就達到了2.1K,演示影片在Youtube上的觀看量也達到了3萬多次。
不過我們可以看到,這個效果還是比較粗糙的,紋理也不夠細緻。
光線跟蹤(Ray Tracing)是一個在二維(2D)螢幕上呈現三維(3D)影象的方法。它可以實現更為逼真的陰影和反射效果,同時還可以大大改善半透明度和散射,帶來相似於人眼所看到的更為真實場景效果。
光線追蹤原理
最近,這位小哥再次釋出了改進版的光追效果!
本次的改進主要在於陰影部分的處理和平行計算的方面:
可以看出,改進後的陰影層次更加分明,甚至球體表面反射的影像也更加的清晰。
專案地址:
https://github.com/DinoZ1729/Ray-2
ASCII碼實現其他效果
從小哥的Github中可以看到,他不僅僅使用ASCII碼實現了光線追蹤,甚至還有星系、地球等其他效果。
比如,模擬兩個星系之間的碰撞:
如果想在自己的電腦上執行,整個過程也非常的方便,只需要在控制檯中將字型改為8,就可以實現在Windows上的執行;如果想在Linux或者其他作業系統上執行,那麼只需要加上修改幾行程式碼的步驟就可以了。
實現流體動力學效果
除了這位外國小哥,我們還在Youtube上看到了一些其他用ASCII碼實現的效果,都十分的有創意。
比如這個用ASCII碼實現流體力學(Fluid Dynamics)效果的展示:
波浪
傾倒
甚至還有彩色的效果:
未來這位小哥可能會推出教程,感興趣的同學敬請期待!
參考連結:
https://www.youtube.com/watch?v=QMYfkOtYYlg&feature=emb_logo
最新評論