我当前的问题如下:我尝试使用集成的 Primtive-Rendering(Sprite 和 PrimtiveBatch 合二为一)创建一个 SpriteBatch。
目前 Visual Studio 11 的调试器显示有一行渲染。IA-Stage 是正确的,所以 VertexShader-Stage 是正确的。但我没有得到任何输出。
我用调试器运行它,发现着色器具有异常巨大的值。
我正在传递两个顶点:20,20(位置)和 80、80(位置),它们都是黑色的。ConstantBuffer 有三个矩阵:World(用于手动对象变换)、View 和 Projection。
在代码中,它们都是正确的:M11 = 0.00215749722,依此类推。在着色器中,它看起来像这样:
位置 = x = 200000.000000000,y = 200000.000000000,z = 0.000000000,w = 0.000000000(#1 顶点的位置)
Projection[0] = x = 22.000000000, y = 0.000000000, z = 0.000000000, w = 0.000000000
Projection[1] x = 0.000000000, y = -45.000000000, z = 0.000000000, w = 0.000000000
Projection[2] x = 0.000000000, y = 0.000000000, z = 10000.000000000, w = 0.00000 0000
Projection[3] x = 0.000000000, y = 0.000000000, z = 0.000000000, w = 10000.000000000
最后,XYZW 的输出结果(位置)为 0。在它之前是 413,-918 或类似的东西。我不知道为什么,但现在结果总是 0...
这很奇怪,我完全被困住了:-/
谢谢R