簡體   English   中英

OpenGL中的地形小地圖?

[英]Terrain minimap in OpenGL?

所以我本質上是一個游戲...這個游戲有地形。 我希望能夠創建一個自頂向下的視圖小地圖,以便“玩家”可以看到他們要去的地方。 我正在地形上做一些陰影處理,所以我也希望將其顯示在小地圖中。 看來我只需要創建第二台攝像機,然后以某種方式使該攝像機的顯示出現在特定的框中。 我也在想像鏡子這樣的東西會起作用。

我正在尋找可以采用的方法,基本上可以給我與當前相同的觀點,只是自上而下...這似乎可行嗎? 隨時提出問題...謝謝!

一種方法是創建一個附加了渲染緩沖區的FBO(幀緩沖區對象),向其渲染您的小地圖,然后將FBO綁定到紋理。 然后,您可以將紋理映射到任何想要的東西,通常是四邊形。 您可以對各種HUD對象執行此操作。 這也意味着您不必像主視圖那樣頻繁地重繪HUD /菜單對象的內容。 僅根據需要更新關聯的緩沖區。 在這種情況下,您通常需要對在FBO上渲染的對象/場景進行降采樣(從多邊形計數的角度而言)。 您要檢查的API中的函數是:

  • glGenFramebuffersEXT
  • glBindFramebufferEXT
  • glGenRenderbuffersEXT
  • glBindRenderbufferEXT
  • glRenderbufferStorageEXT
  • glFrambufferRenderbufferEXT
  • glFrambufferTexture2DEXT
  • glGenerateMipmapEXT

gamedev.net上有關於使用FBO的文章 另一個潛在的優化是,如果小地圖的內容是靜態的,而您只是在靜態視圖上移動攝像機(實際上只是一個地圖)。 您可以通過調整映射到其上的對象的紋理坐標來渲染比實際要顯示給播放器大得多的地圖部分,並偽造相機。 僅當您的小地圖為正交投影時,此方法才有效。

好吧,我對您的特定問題沒有答案,但是在游戲中通常會使用從上方正交的角度將世界渲染為圖像,並將其用於小地圖。 與動態渲染相比,它至少會降低性能強度。

暫無
暫無

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

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