Closed ClemensU42 closed 2 years ago
Follow the .ply
specification and create a loader for the file format. Additional notes:
Echo.Core.InOut
namespace..ply
has both an ASCII format and a binary format. Let us work towards the ASCII format first and place the binary format as a future goal to support larger mesh files.construct
the loader, use separate methods to perform the actual loading :) structure this loader similar to the BinaryReader
class but we are able to traverse up and down within the file.Echo.Scenic
(through the .echo
format) we will need to translate it into PreparedTriangle
s.Echo.Scenic
system will support reading from streaming data. This mean that if file.ply
has 1 million triangles, we should not load all of it into memory at one time. During preparation phase, Echo.Scenic
will request data to be streamed from file.ply
and progressively loaded into the prepared scene. The reason that we want a new mesh loader targeting the .ply
is to prepare for the incoming .echo
scene file. One of the biggest features the .echo
file will have is its ability to do lazy loading. Information is loaded at the latest point when they are needed and metadata (such as triangle count from .ply
files) will be used to direct PreparedScene
construction and other heuristics to better utilize multiple cores on a large scale.
Additional context http://paulbourke.net/dataformats/ply/