microsoft / HoloJS

Provides a framework for creating holographic apps using JavaScript and WebGL.
MIT License
1.19k stars 114 forks source link

Spatial Mapping #156

Closed omaralcheikh closed 5 years ago

omaralcheikh commented 6 years ago

Hello Cristi,

I'm working on an app that utilizes the spatial mapping functionality. The issue I'm having when i render the spatial map from the example it is not as smooth as i expected it to be. There are a lot of spikes and it detects a lot of vertices that are beyond walls. Another thing it seems that changing the "trianglesPerCubicMeter" does not have an effect.

Lets say i want to achieve something like fragments spatial mapping when you first map a room, or simpler have something like how the Hololens maps when in the home screen. What would be the best way to achieve this? Is it best to work on integrating the plane finding algorithm from https://github.com/Microsoft/MixedRealityToolkit/tree/master/SpatialMapping/PlaneFinding (How easy would that be?) or work on simplification techniques for the vertices that are returned?

Your input would be highly appreciated.

Regards, Omar.

omaralcheikh commented 6 years ago

Nevermind i had figured this worng and was able to smooth the mappnig using shaders.

Almost-Done commented 6 years ago

It's great that you got this working. Does trianglesPerCubicMeter work? If not, we should fix it.

omaralcheikh commented 6 years ago

I guess not as nothing changed when changing the value.

omaralcheikh commented 6 years ago

Hello Cristi, I tried changing the trianglesPerCubicMeter variable in the cpp level as a static variable, but it still is not changing anything.

Almost-Done commented 5 years ago

1000 triangles/m3 is about the minimum, 2000 seems about maximum. Any values outside this range don't seem to produce less or more complex meshes.

I'll close the issue for now. There's a new version of spatial mapping in develop/next. It is much more efficient and provides continuous updates from the surface observer. There's a sample in sample-code/appcode/hololens-surface-mapping.js