texture2d - 我可以在像素着色器中创建平铺引擎吗?

标签 texture2d pixel-shader tile-engine

我正在尝试使用像素着色器和两个纹理创建一个平铺引擎。一种纹理将保存图块集,另一种用于保存 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/

相关文章:

physics - 2d 平台物理

javascript - 使 Javascript TileEngine 在 Canvas 中可滚动

iOS Metal——在写入纹理时读取旧值

unity3d - 在Unity中最新导入UFPS后出现错误

jogl - GL_TEXTURE_2D 与 GL_TEXTURE_RECTANGLE

c# - 使用 SlimDX 从 RGBA 值创建纹理

wpf - 如何在 csproj 中构建着色器效果 (.fx)

c# - WPF 效果在哪里定义?