簡體   English   中英

Metal或OpenGLES中片段着色器中的共享變量

[英]Shared variables in Fragment shaders in Metal or OpenGLES

這可能不太可能,但是有一個共享全局變量的概念,可以在Metal和OpenGLES中的片段着色器的每次傳遞中更新嗎? 我想在處理每個像素后更新一些統計信息。 我假設每個片段着色器並行運行會出現很多並發問題。

有點像atomic_uint嗎? 我最近需要做類似的事情,這就是我用過的東西。 請參閱我的問題的答案: 如何在Metal片段着色器中實現/使用原子計數器?

碎片着色器的原子性能很可能很老實,因為你會從多個着色器核心獲得大量的並行讀寫,因為如果你按照輸入紋理方法的方法選擇naieve 1片段,着色器會非常短。

通常的實現是將直方圖編碼為幀緩沖區。

從頂點着色器中的紋理讀取並將單個點放置在與“直方圖”坐標匹配的位置。

可以使用混合操作累積直方圖。

使用glReadPixels將直方圖讀回CPU。

暫無
暫無

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

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