我正在尝试使用像素着色器和两个纹理创建一个平铺引擎。一种纹理将保存图块集,另一种用于保存 map 。
是否可以将纹理数据作为实际(未采样)数据读取,以便我可以从 map 中提取索引?
读取像素数据的最佳方法是什么?
我只尝试过 text2D 但这还有一些不足之处(老实说,我对像素着色器有点陌生)。
基本上,我需要一种方法来从我的 map 纹理中的特定像素读取实际数据,并将其用作瓷砖纹理的整数索引。假设我已经设法创建并将适当的纹理传递给着色器。
有什么想法吗?
(使用monogame for Metro so dx level 9_1)
最佳答案
如果您使用 tex2D
并传入 (x + 0.5) / width
和 (y + 0.5) / height
,您应该在 (x, y)
处获得准确的像素值.更多信息在这里:Texture memory-tex2D basics
关于texture2d - 我可以在像素着色器中创建平铺引擎吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13131356/