怎麼用C語言繪製3D圖形,實現類似於UE4這樣的效果?

模型建立;渲染效果的函數;模型之間互動原理;等。我不太清楚,感覺上好像都能用演算法可以實現,我想知道一些我不明白事情,但又不知道我想明白些什麼?


正如鹿鼎記裡面說的,

韋小寶道:「你開始學武,到練成一指禪,花了多少時候?」

澄觀微笑道:「師侄從十一歲上起始上少林長拳,總算運氣極好,拜晦智禪師座下,學得比同門師兄弟們快得多,到五十三歲,於這指法已略窺門徑。」

C語言只算入門的工具,少林長拳。UE4是一指禪。之間是一條很長的路,而且不是條直路,需要很多分支都搞定之後,匯總的得到的。至少你需要:
1. C++,別指望用C寫大程序。
2. 圖形學。
3. GPU編程。
4. 工程能力。
5. 把最終效果分解成多個特效的能力。
6. 把多個特效組合成所需效果的能力。
7. 胡亂調參數結果還能不錯的經驗。


可看 遊戲程序員的學習之路 第 2、4、6、7 部分。


怎麼用一把鎚子和一個螺絲刀,做一輛跑車,類似於蘭博基尼那種?


請學習DirectX 12


https://github.com/EpicGames UE4 的所有代碼,希望不是勸退


說完全沒有3d空間的確有失偏頗,但我還是堅持要說二維數組。因為我想如果當初學圖形學時,一開始就告訴我渲染管線的最終目的就是合理地給一個和視口尺寸大小一致的二維數組賦值的話,可以節約我大量的學習時間,所以我就這樣告訴題主了。
----------------------------------------------------------:)---逃
哥們,哪有3d空間,別和我說你電腦顯示器用的是全息投影。其實可以把你的屏幕看成一個二維數組,譬如a[1920][1080], 這個數組的元素可以是一個顏色,您要是學過油畫,您自己給這個數組賦值也能畫出3d效果吶,只不過電腦畫得快一點罷了。至於怎麼畫才能畫得像,要麼了解下計算機圖形學,要麼學一下水彩啥的,學個達芬奇透視繪製方法。


如何用俄語字母寫文章,實現類似戰爭與和平這樣的效果?


恭喜你把大神都釣出來了……


沒有記錯的話 解析幾何是高二的內容

程序導入3d圖形 實質上是導入圖形的定點數據,顏色數據等等數據,然後再計算這些數據


這個不是語言的問題吧,Python也可以構建三維空間啊


如何開始用 C++ 寫一個光柵化渲染器?
https://www.zhihu.com/question/24786878


上cad.cam課時看到,老師用vb做過,感覺有點麻煩!!畫的是齒輪,看得眼花繚亂的


前三樓答主…成功釣到大神…


請直接看UE4源代碼


他山之石可以攻玉。
這根本不是語言的問題而是方向的問題。
想吃飯了,非得自己下地種菜那也沒辦法!
別人造的輪子,去拿啊。手動at輪子哥


如果你說只用c語言的話,可以寫個軟體渲染,然後你就會發現做個簡單的光照都卡得不要不要的。


opengl


感謝(?′ω`?)只要告訴我要學習什麼就對我有最大幫助了


推薦閱讀:

計算機程序如何識別音色?
現實世界有哪些 Bug?

TAG:Python | 程序 | AutodeskMaya | 計算機圖形學 |