0
내 코드 현재 조각난 쉐이더의 벡터를 다른 좌표 공간 (카메라 공간과 그림자 매핑을 사용하는 조명 공간 사이의 변환에 simliar)으로 변환해야하며,이 좌표 공간에서 일부 계산을 수행해야합니다. , 그것을 다시 변환하십시오.변환 된 벡터에 원본 벡터가 아닌 역변환 행렬을 곱한 이유는 무엇입니까?
결과가 만족스럽지 않고, 원인을 찾고 있었기 때문에 결국 벡터를 변환했는지 확인한 다음 변환 행렬의 역행렬을 사용하여 원래 벡터와 같습니다. . 이 같은
뭔가 :
vec4 transformedVec4 = transformMat4 * originalVec4;
vec4 ReTransformedVec4 = inverse(transformMat4) * transformedVec4;
if(transformedVec4 == ReTransformedVec4)
{
//some code to display if equal
}
내가 내 코드는 경우 문을 입력 결코,보고 정말 놀랐습니다.
누구의 출처를 알 수 있습니까? 부동 소수점 정밀도 일 뿐이므로 결과가 서로 다르게 나타 납니까?