Open main menu

CDOT Wiki β

Changes

XB PointStream

1,185 bytes added, 12:54, 9 February 2011
no edit summary
</pre>
===Performance Issue IdeasExtending XB PointStream===* Spatially partition point cloud into Bounding volume hierarchy Using the internal XB PointStream parser and do bounding volume frustum cullingshader* Do static rendering* Render low LOD when rotating If you decide to use the internal XB PointStream parser and shader, you can have a script displaying your point cloud in about 10 lines of JavaScript. However, you will be required to send in your point cloud* Push as much an .ASC file as that is the only format we can to CPU currently support. Also, the built-in shader will only draw the minimum necessary for you point cloud. That is, it will only render vertex positions and GPUcolors. Using the internal XB PointStream parser with a custom shader* Use progressive "mesh" optimization It is possible to render create shader effects on point cloud objects if they are far from to add effect such as mirroring, etc. If you decide to use the internal .ASC parser and write a custom shader, you'll need to ensure your vertex shader uses the correct uniform and attribute variable names which XB PointStream refers to. The built-in .ASC parser only reads in vertex position and colors, so you must use the camerafollowing names to refer to those attributes in your vertex shader: vec3 ps_Vertexvec4 ps_Color * Allow user XB PointStream will refer to control LODthe following uniforms:* Stream For transformations:mat4 ps_ModelViewMatrixmat4 ps_ProjectionMatrix For point size:float ps_PointSizevec3 ps_Attenuation Using the internal XB PointStream shader with a custom parser If your point cloudis in a format other than .ASC, but you want to use the built-in shader, dynamically create and merge bounding volumesyou'll need to make sure your parser writes to the correct attribute names* Pre-create Bounding volume hierarchyinsert URL to example* "ps_Vertex""ps_Color" Your script must also register your parser with XB PointStream with:ps.registerParser("XYZ", Your_XYZ_Parser_Name); * Use web workersUsing a custom shader and parser
1
edit