是否有任何有效的方法以隨機方式獲取紋理數據?也就是說,我想使用紋理作爲查找表,並且需要隨機訪問其元素。因此我會隨機抽樣。這是完全失敗的原因嗎?OpenGL ES 2.0中的高效隨機紋理採樣
0
A
回答
2
隨機存取是GLSL的一項基本功能。例如。
vec2 someLocation = ... whatever you like ...;
vec4 sampledColour = texture2D(sampler, someLocation);
根據您的硬件,它可能花費更多閱讀紋理如果你在像素着色器直接計算出樣品的位置,而不是出在頂點着色器,並允許他們自動爲變進行插值,但這只是一個不可改變的硬件成本,與你正在做的事情的可預測性降低有關。
1
您可以隨時將其他紋理傳遞給包含隨機值和來自其中的樣本的着色器。這將爲每個紋理座標賦予相同的隨機值,但如果您不希望這樣做,則始終可以通過您更新每個幀的統一種子來乘坐座標。
+0
對不起。我不是那個意思。我對生成隨機值不感興趣。我的意思是我最有可能以隨機的方式訪問紋理數據,而不是以序列化的方式訪問紋理數據。 –
相關問題
- 1. OpenGL ES 2.0紋理
- 2. 的OpenGL ES 2.0:在紋理
- 3. Android OpenGL ES 2.0多紋理和相機
- 4. 設置OpenGL ES 2.0紋理
- 5. opengl es 2.0紋理座標
- 6. OpenGL es 2.0 Android紋理
- 7. OpenGL ES 2.0 - 畫紋理?
- 8. OpenGL ES 2.0衍生紋理
- 9. opengl es 2.0紋理加載
- 10. Android OpenGL ES 2.0紋理
- 11. OpenGL ES 2.0中的浮點紋理
- 12. 從OpenGL ES 2.0中的紋理讀取
- 13. OpenGL ES 2.0中的模版紋理
- 14. OpenGL ES 2.0中的紋理點?
- 15. OpenGL ES 2.0中的紋理圖集
- 16. 在OpenGL ES 2.0中,如何從採樣器中讀取相鄰紋理元素?
- 17. 紋理計劃 - 的OpenGL ES 2.0的Android
- 18. Android的OpenGL ES 2.0的黑色紋理
- 19. 的OpenGL ES 2.0 - 複製紋理數據
- 20. opengl es 2.0紋理正確的方式
- 21. 負載多紋理的OpenGL ES 2.0
- 22. OpenGL 2.0 es Android的framebuffer紋理
- 23. OpenGL ES中的高光紋理?
- 24. OpenGL ES 2.0中元胞自動機的紋理格式
- 25. Android NDK OpenGL ES 2.0紋理間距
- 26. OpenGL ES 2.0加載動態紋理
- 27. OpenGL ES 2.0紋理變成黑色
- 28. 紋理被拉伸在android opengl es 2.0
- 29. OpenGL ES 2.0紋理映射問題
- 30. OpenGl es 2.0 GLSL fragmentColor多紋理
是的,隨機訪問是很有可能的,我只是感到困惑的是,從我讀到的隨機訪問GPU的問題遠遠多於CPU的問題,所以我想知道是否有一種通用的方式來最小化處罰的隨機訪問。 –
我不確定你的平臺是什麼,但我對這一趨勢的理解是,這比過去重要得多(手機類型設備處於曲線的較早點),因爲它與GPU可以明顯並且容易地並行處理多個碎片相比,它與單獨爲每個碎片執行的處理相關。然而,對GPGPU的推動使得每個人都進一步推廣,以獲得更多的CPU,就像猜測智能訪問模式的策略一樣。所以你可能會遇到性能問題,但不應該擔心太多。 – Tommy