real-world-geometry
real-world-geometry copied to clipboard
[meshing] How should we request normals?
From @thetuvix:
Float32Array? normals;
Some app scenarios on HoloLens end up not requiring normals, which aren't free to calculate. We should also allow apps to skip requesting normals in the first place.
Maybe we can skip normals for now?
I think we should defintely include normals, if the user wants them and the platform has them.
I think we should defintely include normals, if the user wants them and the platform has them.
So, should we optionally include them? @blairmacintyre , are you interested in working on this spec with me? If so, we can discuss it in the next meeting.
Next meeting being the Tuesday calls? Or something else? I'm very interested in seeing this spec, and other AR specs, move forward.
I think next week's call is for the WG and not WCIG. Let's see what happens if I try to add it to the agenda
/agenda Discuss how we can move forward with the AR specs. Are there any concerns about meshing, planes, hit testing, etc
Would you be able to edit your agenda message to add the reason, i.e. "... to resolve how normals should be requested for real world geometry"
those comments are now included in the agenda.
Yeah, the next call is a WG call so for now we'll leave the issue for the next CG call.
As a data point, here is how HoloLens handles spatial surface mesh normals today:
- The app requests mesh normals by setting SpatialSurfaceMeshOptions.IncludeVertexNormals to true.
- If the app requested mesh normals, they can then receive them from the SpatialSurfaceMesh.VertexNormals buffer.
For HoloLens hand mesh, we don't currently have an option for an app to skip normals - they are always provided in a combined vertex buffer that hands out both positions and normals for each vertex.
We don't have normals for hand mesh data and they are optional for the world mesh
Reading this, it sounds like we should allow the dev to request them if they want them. @thetuvix is it a performance hit for you to NOT return normals for the hands? Or should we allow them to be returned even if not requested?
My assumption is that It is probably easiest/most efficient for the UA to compute them if they aren't provided by the platform and the user wants them, so a platform can be required to compute normals for any piece of geometry if requested.