Directx中的精灵剪切
Sprite Shearing in Directx
当我在 Directx 11 中剪切精灵时,它显示这个
******* ******* <= fixed
* * => * *
******* *******
这不是我想要的结果
我想要的是这个
******* *******
* * => * *
******* ******* <= fixed
附言。我正在使用XMMatrixOrthographicOffCenterLH来设置相机
剪切变换基本上如下: 对于输入位置(p.x,p.y),将y坐标的一部分添加到x坐标。所以结果是:(p.x + s * p.y,p.y)。
考虑到这一点,你应该按照一丁的建议去做。首先应用对齐矩形的变换,执行切变并还原第一个变换。
最简单的方法是向上平移spriteHeight
并使用负剪切系数。因此,转换将是:
Translate(0, -spriteHeight, 0) * shearx(-s) * Translate(0, spriteHeight, 0)
相关文章:
- 如何在directx/c++中进行平移/缩放操作
- DrawIndexedInstanced 具有不同的 Index Count per Instance (Directx
- Directx 11 - CompileFromFile() is not compiling
- OpenGL 着色器不绘制任何东西 - 糟糕的精灵类
- 字节数组初始化会导致 DirectX 崩溃
- 在 DirectX 11 中从 GPU 读回顶点缓冲区(并获取顶点)
- 从精灵表在 sfml 中为精灵制作动画
- 是否可以使用 DirectX 3D 11 绘制由三角形组成的圆?
- Directx 12 :在两个进程之间共享图形内存
- DirectX 11 如何处理来自 GPU 上的 sharedHandle 的图像
- > 64k C++的 DirectX 大型机型
- Linking DirectX
- Directx中的精灵剪切
- DirectX 10.1 / C++:如何在 ID3D10Resource* 纹理上渲染精灵上的文本
- C++DirectX 9.0精灵Alpha混合未显示
- 使用 directX 10 绘制大型精灵时性能低下
- 使用精灵时变形的纹理(Directx 9)
- 在DirectX 10中渲染精灵最有效的方法是什么
- DirectX精灵在缩放时呈现在不同的位置
- DirectX 9点精灵未缩放