gpt4 book ai didi

matrix - hlsl矩阵乘法

转载 作者:行者123 更新时间:2023-12-04 20:02:28 25 4
gpt4 key购买 nike

我只是在玩 HLSL 。我想在向量“pos”中获取向量“inputPos”。 case2 正在工作但不是 case1 。为什么 ?两种情况不一样吗?M * M_Inv * inputPos = inputPos。为什么案例 1 没有给出正确的值?

//case 1
pos = mul( float4( inputPos, 1), c_mView ); // Line1
pos = mul ( pos , c_mViewInverse ); // Line2

//case2
pos = mul ( mul( float4( inputPos, 1), c_mView ) , c_mViewInverse );

谢谢。

最佳答案

可能在你的情况下变量 pos 是 float3,所以如果你不在第二个操作中提供 w 组件,那将搞乱你的计算。 (在情况 2 中,您直接使用第一个 mul 的结果,它将是一个 float4)

pos = mul( float4( inputPos, 1), c_mView );
pos = mul ( float4(pos,1) , c_mViewInverse );

关于matrix - hlsl矩阵乘法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12280031/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com