I am still developing this example, so far I've implemented support for 3dc/asc ascii files that are in the form:
x y z r g b a nx ny nz
So typically looks like:
13.50 -3.15 -5.57 42 212 203 215 0.92 -0.24 0.31
13.53 -3.13 -5.59 70 195 188 190 0.93 -0.27 0.25
13.53 -3.13 -5.60 56 176 167 179 0.95 -0.28 0.15
13.53 -3.13 -5.62 33 149 140 145 1.00 0.05 0.01
13.53 -3.13 -5.63 68 156 149 156 1.00 0.05 0.07
Attached is an image of a dataset that I have from a Present3D (OSG based) museum show, but the dataset is not mine to freely share.
As part of this work I begun the process of implementing helper functions/classes for reading comma/space/tab separated numeric datasets. There is a new vsg::read_line(..) template function now checked into VSG master, and the vsgpoints example has code for use this to parse a complete dataset, chucking the data into vsg::floatArray2D and then finally rebuilding this into the final flat vsg::vec3Array, vsg::ubvec4Array classes used for rendering.
There are also need point sprite support added into a few of the vsgExanples/data/shaders.
I would like to make the parsing of these forms of numeric ascii files in a high level form, but haven't figured out the best path for this yet, essentially you can view the code in vsgpoints as a testbed of what might be possible. It may be that we move helper functions into include/vsg/io to make it easy for users to parse their own files.
These files can be pretty non-standard so having a single parser that handles all combinations may be more complicated than just providing helper functions and letting users tailor their own high level file handling.
How you want to render this data is also quite open ended, so again the vsgpoints is where I'll be experimenting with alternatives. For now it's just point sprites which are hardwired to work well with the datasets I have so far. Over time I'll work to me it less hardwired and provide other implementations.
If you have any of your own datasets that you can share then this might be useful to share. They will ones online that may be worth hunting down and sharing as a test set. At this point I've had my own test data so haven't looked further afield.
Cheers,
Robert.