Skip to content

Commit 774f21f

Browse files
committed
Automatic merge of T1.5.1-1695-gade019506 and 16 pull requests
- Pull request #570 at f4a7495: glTF 2.0 support with PBR lighting - Pull request #900 at 4629736: DMI in 3D cab + two more dials - Pull request #1030 at d3ae4a2: Refactor settings, in prep for settings exporter - Pull request #1045 at cc4d53c: Bugfix: Empty Start Time for Explore, and other issues loading from Menu Selection and Content Routes - Pull request #1052 at 5bbc476: Content Manager: Add axle count, and lowest derail force - Pull request #1062 at 3b18c48: Train Forces popup Window. - Pull request #1064 at 9b3415e: Add Train Info tab to Help window (F1) - Pull request #1066 at 62c89c1: Log derailment, using TraceInformation. - Pull request #892 at 1f5ba4c: Signal Function OPP_SIG_ID_TRAINPATH - Pull request #1000 at d8d9709: Locomotive operation from control car - Pull request #1029 at 92c74ef: Superelevation Follow Up Fixes - Pull request #1057 at 50c3789: Switchable brake system - Pull request #1069 at 3f153f0: Mouse wheel control only with Alt – Followup for #1051 - Pull request #1055 at f6bf9fa: Route Based TTrack Sounds - Pull request #896 at f1681df: First implementation of https://blueprints.launchpad.net/or/+spec/specific-sounds-for-ai-trains - Pull request #1049 at 4dd8c4f: Re-organise document storage and access
18 parents 7ad335c + ade0195 + f4a7495 + 4629736 + d3ae4a2 + cc4d53c + 5bbc476 + 3b18c48 + 9b3415e + 62c89c1 + 1f5ba4c + d8d9709 + 92c74ef + 50c3789 + 3f153f0 + f6bf9fa + f1681df + 4dd8c4f commit 774f21f

File tree

1 file changed

+20
-4
lines changed

1 file changed

+20
-4
lines changed

Source/RunActivity/Viewer3D/Shapes.cs

+20-4
Original file line numberDiff line numberDiff line change
@@ -1789,7 +1789,7 @@ public class ShapePrimitive : RenderPrimitive, IDisposable
17891789
protected internal int PrimitiveOffset;
17901790
protected internal PrimitiveType PrimitiveType;
17911791

1792-
protected readonly VertexBufferBinding[] VertexBufferBindings;
1792+
protected internal readonly VertexBufferBinding[] VertexBufferBindings;
17931793

17941794
public ShapePrimitive() { }
17951795

@@ -1905,7 +1905,6 @@ public class ShapePrimitiveInstances : RenderPrimitive
19051905
public int SubObjectIndex { get; protected set; }
19061906

19071907
protected VertexBuffer VertexBuffer;
1908-
protected VertexDeclaration VertexDeclaration;
19091908
protected int VertexBufferStride;
19101909
protected IndexBuffer IndexBuffer;
19111910
protected int PrimitiveCount;
@@ -1925,7 +1924,6 @@ internal ShapePrimitiveInstances(GraphicsDevice graphicsDevice, ShapePrimitive s
19251924
HierarchyIndex = shapePrimitive.HierarchyIndex;
19261925
SubObjectIndex = subObjectIndex;
19271926
VertexBuffer = shapePrimitive.VertexBuffer;
1928-
VertexDeclaration = shapePrimitive.VertexBuffer.VertexDeclaration;
19291927
IndexBuffer = shapePrimitive.IndexBuffer;
19301928
PrimitiveCount = shapePrimitive.PrimitiveCount;
19311929
PrimitiveOffset = shapePrimitive.PrimitiveOffset;
@@ -1935,7 +1933,25 @@ internal ShapePrimitiveInstances(GraphicsDevice graphicsDevice, ShapePrimitive s
19351933
InstanceBuffer.SetData(positions);
19361934
InstanceCount = positions.Length;
19371935

1938-
VertexBufferBindings = new[] { new VertexBufferBinding(VertexBuffer), new VertexBufferBinding(InstanceBuffer, 0, 1) };
1936+
var instanceBufferBinding = new VertexBufferBinding(InstanceBuffer, 0, 1);
1937+
1938+
if (VertexBuffer != null)
1939+
{
1940+
VertexBufferBindings = new[] { new VertexBufferBinding(VertexBuffer), instanceBufferBinding };
1941+
}
1942+
else
1943+
{
1944+
VertexBufferBindings = shapePrimitive.VertexBufferBindings.ToArray();
1945+
var dummyInstanceBuffer = RenderPrimitive.GetDummyVertexBuffer(graphicsDevice);
1946+
var position = -1;
1947+
for (var i = 0; i < VertexBufferBindings.Length; i++)
1948+
if (VertexBufferBindings[i].VertexBuffer == dummyInstanceBuffer)
1949+
position = i;
1950+
if (position == -1)
1951+
VertexBufferBindings.Append(instanceBufferBinding);
1952+
else
1953+
VertexBufferBindings[position] = instanceBufferBinding;
1954+
}
19391955
}
19401956

19411957
public override void Draw(GraphicsDevice graphicsDevice)

0 commit comments

Comments
 (0)