首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >相机异常行为,DX11

相机异常行为,DX11
EN

Stack Overflow用户
提问于 2012-01-31 12:41:57
回答 2查看 331关注 0票数 0

我一直在使用directx11编写一个程序,我还编写了一个基本的camera类来操作视图矩阵。当我测试程序时,结果是场景没有移动,但当我移动相机时,它具有切断在任意位置可见的效果。我附上了一些图片来表达我的意思。

我已经让我的像素着色器现在只输出红色像素。

我的顶点着色器基于SDK示例:

代码语言:javascript
运行
复制
 `cbuffer cbChangeOnResize : register(b1)     {         matrix Projection;     };`
代码语言:javascript
运行
复制
cbuffer cbChangesEveryFrame : register(b2)
{
    matrix View;
    matrix World;
};


struct VS_INPUT
{
    float4 Pos : POSITION;
    float2 Tex : TEXCOORD0;
};

struct PS_INPUT
{
    float4 Pos : SV_POSITION;
    float2 Tex : TEXCOORD0;
};

PS_INPUT TEX_VS(VS_INPUT input)
{
    PS_INPUT output = (PS_INPUT)0;
    output.Pos = mul(input.Pos, World);
    output.Pos = mul(output.Pos, View);
    output.Pos = mul(output.Pos, Projection);
    output.Tex = input.Tex;

    return output;
}

关于这个问题,我已经抓挠了几天了,但我不知道是什么导致了这个问题,甚至不知道哪些代码是相关的。PIX显示了世界、视图和投影矩阵似乎存在并正在应用,尽管很明显有些东西是不正确的。

谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-01-31 23:00:51

在将矩阵传递到着色器中之前,可以使用row_major修改器而不是转置矩阵

票数 1
EN

Stack Overflow用户

发布于 2012-01-31 19:43:19

数学失败,我发送了视图矩阵,而不是它的转置到着色器。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9074487

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档