簡體   English   中英

如何使用 OpenGL 將體積數據渲染成 3D 紋理?

[英]How to render volume data into a 3D texture using OpenGL?

我正在嘗試使用 GPU 將一些 3D 形狀渲染成 3D 紋理。 我正在使用 Framebuffer 對象來完成此操作。 到目前為止,我發現唯一可行的方法是一次渲染 3D 紋理的一個切片(或層)。

例如,如果我想在 3D 紋理上繪制一個球體,我會在紋理的每一層上繪制適當的球體橫截面。

這在小分辨率或少量形狀時效果很好,但隨着分辨率或復雜性的增加而迅速變慢。

有沒有更正確或更快的方法? 我的目標是適度舊的硬件,所以我僅限於 OpenGL 3.x。 具體來說,我不能使用這里描述的一些技術

雖然我沒有親自這樣做過,但我知道有一個針對 directX 的解決方案的示例。 它可以移植到 OpenGL: 使用 GPU 生成復雜的程序地形,請參閱第 1.3.2 節:生成密度值。

簡而言之,進行實例繪制,並將每個實例指向不同的紋理層。

您還可以復制所有三角形,並使用幾何着色器將它們發送到所有相關切片。

暫無
暫無

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

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