Skip to content
This repository has been archived by the owner on Mar 6, 2018. It is now read-only.

Commit

Permalink
Fix frustum radius of models (#178)
Browse files Browse the repository at this point in the history
  • Loading branch information
hach-que committed May 25, 2017
1 parent 31711da commit 545973a
Showing 1 changed file with 9 additions and 7 deletions.
16 changes: 9 additions & 7 deletions Protogame/Assets/Model/Model.cs
Original file line number Diff line number Diff line change
Expand Up @@ -279,26 +279,28 @@ public IRenderRequest CreateRenderRequest(IRenderContext renderContext, IEffect
mappedVerticies.SetValue(vertex, i);
}

var radius = 0f;
float maxX = 0f, maxY = 0f, maxZ = 0f;
foreach (var vert in this.Vertexes)
{
if (vert.Position.HasValue)
{
if (vert.Position.Value.X > radius)
if (Math.Abs(vert.Position.Value.X) > maxX)
{
radius = vert.Position.Value.X;
maxX = Math.Abs(vert.Position.Value.X);
}
if (vert.Position.Value.Y > radius)
if (Math.Abs(vert.Position.Value.Y) > maxY)
{
radius = vert.Position.Value.Y;
maxY = Math.Abs(vert.Position.Value.Y);
}
if (vert.Position.Value.Z > radius)
if (Math.Abs(vert.Position.Value.Z) > maxZ)
{
radius = vert.Position.Value.Z;
maxZ = Math.Abs(vert.Position.Value.Z);
}
}
}

var radius = new Vector3(maxX, maxY, maxZ).Length() * 2;

_localisedBoundingRegion = new LocalisedBoundingRegion(radius);

vertexBuffer = new VertexBuffer(
Expand Down

0 comments on commit 545973a

Please sign in to comment.