簡體   English   中英

OpenGL:使用不同的參數重用相同的紋理

[英]OpenGL: Reusing the same texture with different parameters

在我的程序中,我有一個紋理,在不同的情況下使用了幾次。 在每種情況下,我都需要應用一組特定的參數。

我想避免創建一個額外的緩沖區,並且每次我需要將它用於其他東西時基本上創建紋理的副本,所以我想知道是否有更好的方法?

這就是采樣器對象的用途(自3.3版以來在核心中可用,或使用ARB_sampler_objects )。 采樣器對象將紋理圖像與其參數分開,因此您可以將一個紋理與多個參數集一起使用。 該功能的創建完全是您的問題所在。

來自ARB_sampler_objects擴展規范的引用:

在未擴展的OpenGL紋理中,被認為是圖像數據集(mip-chains,數組,立方體圖面集等)和采樣狀態(采樣模式,mip映射狀態,坐標包裝和鉗位規則等)相結合成一個對象。 應用程序通常使用許多紋理,這些紋理具有一組有限的采樣狀態,它們之間是相同的。 為了以這種方式使用紋理,應用程序必須生成和配置許多紋理名稱,從而增加應用程序和實現的開銷。 此外,如果應用程序希望以多種方式從紋理中進行采樣(例如,使用和不使用mip-mapping),則必須修改紋理的狀態或創建兩個紋理,每個紋理都具有相同圖像數據的副本。 這可能會給應用程序帶來運行時和內存成本。

暫無
暫無

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

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