Skip to content

Commit

Permalink
add multiple mesh support
Browse files Browse the repository at this point in the history
  • Loading branch information
bertt committed Oct 15, 2024
1 parent b6918e1 commit a0c2589
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 6 deletions.
11 changes: 8 additions & 3 deletions src/GPUTileHandler.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
using SharpGLTF.Schema2;
using SharpGLTF.Schema2.Tiles3D;
using SharpGLTF.Transforms;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Numerics;
Expand Down Expand Up @@ -87,13 +88,17 @@ private static void AddModelInstancesToScene(SceneBuilder sceneBuilder, IEnumera
{
var modelInstances = instances.Where(s => s.Model.Equals(model)).ToList();
var modelRoot = ModelRoot.Load(model);
var meshBuilder = modelRoot.LogicalMeshes.First().ToMeshBuilder(); // todo: what if there are multiple meshes?

var pointId = 0;

foreach (var instance in modelInstances)
{
var sceneBuilderModel = GetSceneBuilder(meshBuilder, instance, UseScaleNonUniform, translation, pointId);
sceneBuilder.AddScene(sceneBuilderModel, Matrix4x4.Identity);
foreach(var mesh in modelRoot.LogicalMeshes)
{
var meshBuilder = mesh.ToMeshBuilder(); // todo: what if there are multiple meshes?
var sceneBuilderModel = GetSceneBuilder(meshBuilder, instance, UseScaleNonUniform, translation, pointId);
sceneBuilder.AddScene(sceneBuilderModel, Matrix4x4.Identity);
}
pointId++;
}
}
Expand Down
4 changes: 2 additions & 2 deletions src/ImplicitTiling.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
using subtree;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Linq;
using Wkx;
Expand Down Expand Up @@ -95,8 +96,7 @@ private static byte[] CreateTile(Options o, NpgsqlConnection conn, BoundingBox t

if (useGpuInstancing)
{

tile = GPUTileHandler.GetGPUTile(instances, (bool)o.UseScaleNonUniform);
tile = GPUTileHandler.GetGPUTile(instances, (bool)o.UseScaleNonUniform);
}
else if(!useI3dm)
{
Expand Down
1 change: 0 additions & 1 deletion src/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,6 @@ static void Main(string[] args)
{
Console.WriteLine($"Query: {o.Query}");
}
var bbox = InstancesRepository.GetBoundingBoxForTable(conn, o.Table, geom_column, heights, o.Query);
var bbox_wgs84 = bbox.bbox;
Expand Down

0 comments on commit a0c2589

Please sign in to comment.