簡體   English   中英

OpenGL - 如何將對象渲染為3D紋理作為體積廣告牌

[英]OpenGL - how to render object to 3D texture as a volumetric billboard

我想實現在OpenGL立體廣告牌3.3+描述這里和視頻在這里 我現在面臨的(很基本的)問題是:我怎么渲染3D對象的3D紋理有效 (如本文所述)? 假設對象可以存儲在256x256x128 tex中,創建256*256*128*2幀緩沖區(因為據說它應該在每個軸上渲染兩次: +X,-X,+Y,-Y,+Z,-Z )就像我所知,紋理單元太少而無法處理那么多紋理(更不用說所需的時間)了。

有沒有人知道如何處理這樣的事情?

一片3D紋理可以直接附加到當前幀緩沖區。 因此,創建一個幀緩沖區,一個3D紋理,然后執行渲染,如:

glFramebufferTexture3D( GL_FRAMEBUFFER, Attachment, GL_TEXTURE_3D,
                        TextureID, 0, ZSlice );
...render to the slice of 3D texture...

因此,您只需要1個幀緩沖區,它將通過目標3D紋理中的Z切片數量進行迭代。

暫無
暫無

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

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