我正在創建一個基於java/canvas的編輯器來創建紋理形狀。結果稍後在OpenGL中渲染,但我需要模擬紋理中彩色像素的插值。
假設我有一個10 texel乘1 texel的紋理。我爲畫布的一部分指定了從0.0到1.0的範圍。所以我插入每個畫布像素的紋理座標,找到兩個相鄰的紋素並插入顏色。
現在我想從tex 0.0到2.0繪製紋理重複。模數計算已經不是微不足道的,因爲1.0,2.0,...需要映射到1.0,而1.x,2.x,...需要映射到0.x.
到目前爲止,我得到這個工作,即使是負值。然而,當包裝發生時,插值是「剪切」的。不考慮最後一個紋素(1.0)和重複的第一個紋素(0.0)之間的範圍。
如何正確模擬?我想我必須處理半像素/像素偏移量。我想要0.0; 1.0繪製一次紋理,0.0; 2.0繪製兩次,-1.0; 2.0繪製三次(依此類推),並在其中重複紋理。這一定是可能的,一些簡單的移位和模數公式是正確的嗎?
是否有一些「便宜的技巧」,例如在外部添加兩個以上的texels用於連續插值,並執行一些補償魔術來解決縮放問題?在畫布上模擬OpenGL紋理包裝+插值?
0
A
回答
2
相關問題
- 1. OpenGL紋理模糊
- 2. OpenGL ES 2.0 - 畫紋理?
- 3. 2D OpenGL動畫紋理(Android)
- 4. 全屏畫出opengl紋理
- 5. 透視校正,紋理插值opengl
- 6. OpenGL ES紋理在模擬器上工作,但不在設備上
- 7. openGL紋理運行在模擬器上,但不是在真實設備上
- 8. LibGdx紋理包裝
- 9. OpenGL - 紋理圖集「模糊」
- 10. OpenGL 3D模型紋理
- 11. openGL:如何禁用dds紋理上的像素插值
- 12. 畫布上的布料模擬+圖像
- 13. 在畫布上模擬手繪
- 14. 在delphi畫布上模擬高光筆
- 15. 在J2ME畫布上包裝文字
- 16. java/opengl:在64位虛擬機上加載紋理
- 17. iPhone模擬器上的PVRTC紋理
- 18. opengl畫三角形帶紋理顛倒
- 19. Android OpenGL ES 2.0紋理動畫
- 20. Opengl ES滑動紋理動畫
- 21. 在OpenGL中爲表面上的紋理製作動畫
- 22. OpenGL紋理管理
- 23. opengl vbo紋理
- 24. OpenGL紋理
- 25. 紋理openGl。 qt
- 26. OpenGL紋理不
- 27. OpenGl - 紋理glutSolidSphere?
- 28. opengl多紋理
- 29. C#opengl紋理
- 30. opengl紋理
謝謝。我不想成爲聰明人,但我確實知道這一點。 ;-)我的問題是處理索引和包裝座標的計算等。基本上是每個畫布像素的紋理座標的插值,並且處理紋理座標超過[0, 1]。我當然可以在很多條件下使用它。但是,必須有一種簡單的方法來處理低級數學問題? –
如果你做得正確,那麼包裝應該是一個簡單的'frac()'調用,並且像素空間的對話由紋理大小和(0.5,0.5)的減法相乘。 – dari
謝謝。你是對的。應該那麼簡單。我意識到我的概念有錯誤。我想要的不是在GLSL或Canvas中工作。沿着表面重複的色標或者必須在重複之間產生硬邊,或者需要在刻度之間有額外的空間用於插值。我想我必須手工插補。無論是紋理包裝還是過濾都不會起作用,如果我只使用紋理的分數。 –