Fix regression from 07aafea5af
This commit is contained in:
@@ -124,9 +124,9 @@ void BoundingBox::Transform(const BoundingBox& box, const Matrix& matrix, Boundi
|
|||||||
const auto ya = up * box.Minimum.Y;
|
const auto ya = up * box.Minimum.Y;
|
||||||
const auto yb = up * box.Maximum.Y;
|
const auto yb = up * box.Maximum.Y;
|
||||||
|
|
||||||
const auto backward = matrix.GetBackward();
|
const auto forward = matrix.GetForward();
|
||||||
const auto za = backward * box.Minimum.Z;
|
const auto za = forward * box.Minimum.Z;
|
||||||
const auto zb = backward * box.Maximum.Z;
|
const auto zb = forward * box.Maximum.Z;
|
||||||
|
|
||||||
const auto translation = matrix.GetTranslation();
|
const auto translation = matrix.GetTranslation();
|
||||||
const auto min = Vector3::Min(xa, xb) + Vector3::Min(ya, yb) + Vector3::Min(za, zb) + translation;
|
const auto min = Vector3::Min(xa, xb) + Vector3::Min(ya, yb) + Vector3::Min(za, zb) + translation;
|
||||||
@@ -146,9 +146,9 @@ void BoundingBox::Transform(const BoundingBox& box, const ::Transform& transform
|
|||||||
const auto ya = up * box.Minimum.Y;
|
const auto ya = up * box.Minimum.Y;
|
||||||
const auto yb = up * box.Maximum.Y;
|
const auto yb = up * box.Maximum.Y;
|
||||||
|
|
||||||
const auto backward = Float3::Transform(Float3::Backward, transform.Orientation);
|
const auto forward = Float3::Transform(Float3::Forward, transform.Orientation);
|
||||||
const auto za = backward * box.Minimum.Z;
|
const auto za = forward * box.Minimum.Z;
|
||||||
const auto zb = backward * box.Maximum.Z;
|
const auto zb = forward * box.Maximum.Z;
|
||||||
|
|
||||||
const auto min = Vector3::Min(xa, xb) + Vector3::Min(ya, yb) + Vector3::Min(za, zb) + transform.Translation;
|
const auto min = Vector3::Min(xa, xb) + Vector3::Min(ya, yb) + Vector3::Min(za, zb) + transform.Translation;
|
||||||
const auto max = Vector3::Max(xa, xb) + Vector3::Max(ya, yb) + Vector3::Max(za, zb) + transform.Translation;
|
const auto max = Vector3::Max(xa, xb) + Vector3::Max(ya, yb) + Vector3::Max(za, zb) + transform.Translation;
|
||||||
|
|||||||
@@ -474,9 +474,9 @@ namespace FlaxEngine
|
|||||||
var ya = up * box.Minimum.Y;
|
var ya = up * box.Minimum.Y;
|
||||||
var yb = up * box.Maximum.Y;
|
var yb = up * box.Maximum.Y;
|
||||||
|
|
||||||
Double3 backward = transform.Backward;
|
Double3 forward = transform.Forward;
|
||||||
var za = backward * box.Minimum.Z;
|
var za = forward * box.Minimum.Z;
|
||||||
var zb = backward * box.Maximum.Z;
|
var zb = forward * box.Maximum.Z;
|
||||||
|
|
||||||
var translation = transform.TranslationVector;
|
var translation = transform.TranslationVector;
|
||||||
var min = Vector3.Min(xa, xb) + Vector3.Min(ya, yb) + Vector3.Min(za, zb) + translation;
|
var min = Vector3.Min(xa, xb) + Vector3.Min(ya, yb) + Vector3.Min(za, zb) + translation;
|
||||||
@@ -514,9 +514,9 @@ namespace FlaxEngine
|
|||||||
var ya = up * box.Minimum.Y;
|
var ya = up * box.Minimum.Y;
|
||||||
var yb = up * box.Maximum.Y;
|
var yb = up * box.Maximum.Y;
|
||||||
|
|
||||||
Double3 backward = transform.Backward;
|
Double3 forward = transform.Forward;
|
||||||
var za = backward * box.Minimum.Z;
|
var za = forward * box.Minimum.Z;
|
||||||
var zb = backward * box.Maximum.Z;
|
var zb = forward * box.Maximum.Z;
|
||||||
|
|
||||||
var min = Vector3.Min(xa, xb) + Vector3.Min(ya, yb) + Vector3.Min(za, zb) + transform.Translation;
|
var min = Vector3.Min(xa, xb) + Vector3.Min(ya, yb) + Vector3.Min(za, zb) + transform.Translation;
|
||||||
var max = Vector3.Max(xa, xb) + Vector3.Max(ya, yb) + Vector3.Max(za, zb) + transform.Translation;
|
var max = Vector3.Max(xa, xb) + Vector3.Max(ya, yb) + Vector3.Max(za, zb) + transform.Translation;
|
||||||
|
|||||||
@@ -136,12 +136,12 @@ void Matrix::Decompose(Float3& scale, Matrix3x3& rotation, Float3& translation)
|
|||||||
const auto right = Float3::Cross(up, at);
|
const auto right = Float3::Cross(up, at);
|
||||||
rotation.SetRight(right);
|
rotation.SetRight(right);
|
||||||
rotation.SetUp(up);
|
rotation.SetUp(up);
|
||||||
rotation.SetBackward(at);
|
rotation.SetForward(at);
|
||||||
|
|
||||||
// In case of reflexions
|
// In case of reflexions
|
||||||
scale.X = Float3::Dot(right, GetRight()) > 0.0f ? scale.X : -scale.X;
|
scale.X = Float3::Dot(right, GetRight()) > 0.0f ? scale.X : -scale.X;
|
||||||
scale.Y = Float3::Dot(up, GetUp()) > 0.0f ? scale.Y : -scale.Y;
|
scale.Y = Float3::Dot(up, GetUp()) > 0.0f ? scale.Y : -scale.Y;
|
||||||
scale.Z = Float3::Dot(at, GetBackward()) > 0.0f ? scale.Z : -scale.Z;
|
scale.Z = Float3::Dot(at, GetForward()) > 0.0f ? scale.Z : -scale.Z;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Matrix::Decompose(Float3& scale, Matrix& rotation, Float3& translation) const
|
void Matrix::Decompose(Float3& scale, Matrix& rotation, Float3& translation) const
|
||||||
|
|||||||
@@ -225,7 +225,7 @@ void Matrix3x3::Decompose(Float3& scale, Matrix3x3& rotation) const
|
|||||||
const auto right = Float3::Cross(up, at);
|
const auto right = Float3::Cross(up, at);
|
||||||
rotation.SetRight(right);
|
rotation.SetRight(right);
|
||||||
rotation.SetUp(up);
|
rotation.SetUp(up);
|
||||||
rotation.SetBackward(at);
|
rotation.SetForward(at);
|
||||||
|
|
||||||
// In case of reflexions
|
// In case of reflexions
|
||||||
scale.X = Float3::Dot(right, GetRight()) > 0.0f ? scale.X : -scale.X;
|
scale.X = Float3::Dot(right, GetRight()) > 0.0f ? scale.X : -scale.X;
|
||||||
|
|||||||
@@ -271,7 +271,7 @@ void PostProcessingPass::Render(RenderContext& renderContext, GPUTexture* input,
|
|||||||
|
|
||||||
// Calculate star texture rotation matrix
|
// Calculate star texture rotation matrix
|
||||||
Float3 camX = renderContext.View.View.GetRight();
|
Float3 camX = renderContext.View.View.GetRight();
|
||||||
Float3 camZ = renderContext.View.View.GetForward();
|
Float3 camZ = renderContext.View.View.GetBackward();
|
||||||
float camRot = Float3::Dot(camX, Float3::Forward) + Float3::Dot(camZ, Float3::Up);
|
float camRot = Float3::Dot(camX, Float3::Forward) + Float3::Dot(camZ, Float3::Up);
|
||||||
float camRotCos = Math::Cos(camRot) * 0.8f;
|
float camRotCos = Math::Cos(camRot) * 0.8f;
|
||||||
float camRotSin = Math::Sin(camRot) * 0.8f;
|
float camRotSin = Math::Sin(camRot) * 0.8f;
|
||||||
|
|||||||
Reference in New Issue
Block a user