簡體   English   中英

使用按 z 軸排序的 2D 水平多邊形實現 3D 模型

[英]Achieve 3D model using 2D horizontal polygons sorted by z-axis

請建議我。
我想使用按 z 軸排序的 2D 水平多邊形(實際上是一組形成閉合輪廓的 2D 點)在 C++ 中構建一個 3D 模型(使用像 OpenGL 這樣的框架)。
我怎么能那樣做?

謝謝。

3D 模型通常由一個頂點數組和一個三角形數組組成。 頂點是與順序無關的點。 三角形數組然后只包含來自頂點數組的索引並以這種方式描述三角形。 例如,如果您的點是 pA、pB、pC 並按該順序存儲在頂點數組中,則您的三角形數組包含 0、1、2。

然而,實際細節在很大程度上取決於您的實施環境。 在您想要的引擎中查找一些示例。

順便說一句,如果這是用於研究項目或類似的東西,我會推薦比 OpenGL 更高級別的引擎。 我使用Unity做了一個關於代碼生成3D模型項目的論文項目。 那是 C# 而不是 C++,但是除非您需要在實時中創建大型模型,否則速度很容易就足夠了,而且您的開發效率也會更高。

你可以看看 id Software 的DOOM 引擎,他們使用非常相似的原理來顯示 3D 場景。 另外,看看游戲引擎黑皮書:DOOM

簡而言之,將 2D 多邊形轉換為BSP 樹以創建一組凸節點,然后將其用於渲染。 還有其他類似技術的資源,例如使用門戶渲染的構建引擎

請注意,您嘗試使用的這種技術有一些限制。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM