我可以在像素着色器中创建tile引擎吗?

Jas*_*son 7 tile-engine texture2d pixel-shader

我正在尝试使用像素着色器和两个纹理创建一个tile引擎.一个纹理将保持tileset,一个将保存地图.

是否可以将纹理数据作为实际(非采样)数据读取,以便从地图中提取索引?

读取像素数据的最佳方法是什么?

我只尝试过text2D,但是还有一些不足之处(说实话,我对像素着色器有点新意).

基本上,我需要一种方法来从地图纹理中的特定像素读取实际数据,并将其用作切片纹理的整数索引.假设我已经设法创建并将适当的纹理传递给着色器.

有什么想法吗?

(使用monogame for metro所以dx等级9_1)

Ell*_*lle 0

如果您使用tex2D并传入(x + 0.5) / width(y + 0.5) / height,您应该在 处获得准确的像素值(x, y)。更多信息请参见:纹理内存-tex2D 基础知识