簡體   English   中英

如何在OpenGL中將兩個不同的圖像渲染為兩個不同的圖元? 2D紋理數組?

[英]How do I render two different images to two different primitives in OpenGL? 2D Texture arrays?

因此,我有一個簡單的OpenGL查看器,您可以在其中繪制用戶想要的任意數量的框。 Ive還添加了拍攝PNG或JPG圖像並將其紋理映射到原始圖像的功能。

我希望能夠讓用戶在屏幕上指定任何多維數據集並將不同的紋理應用於它們。 我是OpenGL的新手。 現在,我可以輕松地將圖像映射到單個圖元,但是我想知道將2個單獨的圖像(可能大小不同)映射到2個獨立圖元的最佳方法是什么。

我已經對2D Textures數組進行了大量的讀取,這似乎是我想要的方式,因為我可以在一個紋理單元中存儲多個紋理,但是考慮到我上面提到的內容,我不確定是否可以。 如果圖像都是不同的尺寸,那么我不認為我可以做到(至少我不這樣認為)。 我知道我可以將每個圖像存儲到單獨的紋理單元中,但是以陣列的方式進行處理似乎更清潔。

最好的方法是什么? 您實際上可以將不同大小的圖像存儲到2d紋理陣列中嗎? 如果是這樣怎么辦? 還是我最好只是將它們存儲在單獨的紋理單元中?

紋理數組主要是指您要繪制單個圖元(或整個網格),並且着色器能夠在圖像之間進行選擇而不會耗盡可用紋理采樣單位的數量。 您可以按照自己的想法使用它們,但是我懷疑這樣做會對您有好處。 另一種方法(類似於紋理陣列)是使用紋理圖集,即創建組成單個紋理的圖像拼湊而成,並使用適當的紋理坐標來選擇子圖像。

對於您的情況,我建議您只需將每張圖片加載到單獨的紋理中,然后在繪制立方體之前綁定適當的紋理。

暫無
暫無

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

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