{"id":1030,"date":"2012-09-01T00:00:50","date_gmt":"2012-08-31T21:00:50","guid":{"rendered":"http:\/\/unitycoder.com\/blog\/?p=1030"},"modified":"2015-01-13T23:30:07","modified_gmt":"2015-01-13T20:30:07","slug":"xyz-point-cloud-data-viewer-dx11","status":"publish","type":"post","link":"https:\/\/unitycoder.com\/blog\/2012\/09\/01\/xyz-point-cloud-data-viewer-dx11\/","title":{"rendered":"XYZ Point Cloud Data Viewer (DX11)"},"content":{"rendered":"<p><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"1031\" data-permalink=\"https:\/\/unitycoder.com\/blog\/2012\/09\/01\/xyz-point-cloud-data-viewer-dx11\/unity_point_cloud_viewer1\/\" data-orig-file=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2012\/08\/unity_point_cloud_viewer1.jpg?fit=680%2C446&amp;ssl=1\" data-orig-size=\"680,446\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"unity_point_cloud_viewer1\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2012\/08\/unity_point_cloud_viewer1.jpg?fit=680%2C446&amp;ssl=1\" class=\"alignnone size-full wp-image-1031\" title=\"unity_point_cloud_viewer1\" src=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2012\/08\/unity_point_cloud_viewer1.jpg?resize=680%2C446\" alt=\"\" width=\"680\" height=\"446\" srcset=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2012\/08\/unity_point_cloud_viewer1.jpg?w=680&amp;ssl=1 680w, https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2012\/08\/unity_point_cloud_viewer1.jpg?resize=300%2C196&amp;ssl=1 300w\" sizes=\"auto, (max-width: 680px) 100vw, 680px\" \/><\/p>\n<p><em><strong><span style=\"color: #ff00ff;\">Latest version is here<\/span> &gt;&gt; Check new page here: <\/strong><a title=\"http:\/\/unitycoder.com\/blog\/2014\/03\/19\/asset-store-point-cloud-viewer-unity\/\" href=\"http:\/\/unitycoder.com\/blog\/2014\/03\/19\/asset-store-point-cloud-viewer-unity\/\" target=\"_blank\">http:\/\/unitycoder.com\/blog\/2014\/03\/19\/asset-store-point-cloud-viewer-unity\/<strong><br \/>\n<\/strong><\/a><\/em><\/p>\n<p>Quick test for reading XYZ point cloud data and displaying it using DX11 features.<\/p>\n<p><strong>Current info:<\/strong><br \/>\n&#8211; 1 million points works fine (60fps with no update loop, 20fps with pos.x+1 for each point in a full for loop)<br \/>\n&#8211; &gt;2 million points hangs the whole computer, need to power off.. (it seems to draw it first but then hangs after few secs..)<br \/>\n&#8211; Dragon scan data from: <a title=\"http:\/\/graphics.stanford.edu\/data\/3Dscanrep\/\" href=\"http:\/\/graphics.stanford.edu\/data\/3Dscanrep\/\" target=\"_blank\">http:\/\/graphics.stanford.edu\/data\/3Dscanrep\/<\/a> (only 1m points shown in the screenshot above..)<br \/>\n&#8211; ToDo: Would it help to split the rendering to multiple scripts? Since &gt;2 million in 1 script hangs it..(?)<br \/>\n&#8211; Actually you only get 1 drawcall, I had some guitext enabled on that screenshot..<\/p>\n<p><strong>Update#1:<\/strong><br \/>\n&#8211; New record: 3.6million points(mouseorbit makes no difference, +60fps) *Image#3<\/p>\n<p><strong>Update#2:<\/strong><br \/>\n&#8211; 20 million points!! (~55fps)<br \/>\n&#8211; New record: <span style=\"text-decoration: underline;\"><strong>40 million points<\/strong>!!<\/span> (~34fps) *screenshot coming later..<br \/>\n&#8211; 45 or 50 million points, doesnt crash, but only shows few points?? (~1-3fps)<br \/>\n&#8211; Now can use laser scanner point intensity or RGB colors for the points (but it takes more memory, 40million points says out of memory, 20mil works..)<br \/>\n&#8211; Using geforce gtx580 3gb<\/p>\n<p><strong>Webplayer:<\/strong><br \/>\nfile size too big..(if include the points)<br \/>\n<em><a title=\"http:\/\/unitycoder.com\/blog\/2014\/03\/19\/asset-store-point-cloud-viewer-unity\/\" href=\"http:\/\/unitycoder.com\/blog\/2014\/03\/19\/asset-store-point-cloud-viewer-unity\/\" target=\"_blank\"><strong><br \/>\n<\/strong><\/a><\/em><\/p>\n<p><strong>Image#2:<\/strong> With 50% transparency &amp; 8x antialias, and MouseOrbit (+60fps to orbit around the point cloud)<\/p>\n<p><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"1037\" data-permalink=\"https:\/\/unitycoder.com\/blog\/2012\/09\/01\/xyz-point-cloud-data-viewer-dx11\/1millionpoints_antialias\/\" data-orig-file=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2012\/09\/1millionpoints_antialias.jpg?fit=680%2C425&amp;ssl=1\" data-orig-size=\"680,425\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"1millionpoints_antialias\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2012\/09\/1millionpoints_antialias.jpg?fit=680%2C425&amp;ssl=1\" class=\"alignnone size-full wp-image-1037\" title=\"1millionpoints_antialias\" src=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2012\/09\/1millionpoints_antialias.jpg?resize=680%2C425\" alt=\"\" width=\"680\" height=\"425\" srcset=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2012\/09\/1millionpoints_antialias.jpg?w=680&amp;ssl=1 680w, https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2012\/09\/1millionpoints_antialias.jpg?resize=300%2C187&amp;ssl=1 300w\" sizes=\"auto, (max-width: 680px) 100vw, 680px\" \/><\/p>\n<p>&#8212;<\/p>\n<p><strong>Image#3<\/strong>: Showing all of the 3.6million points<\/p>\n<p><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"1050\" data-permalink=\"https:\/\/unitycoder.com\/blog\/2012\/09\/01\/xyz-point-cloud-data-viewer-dx11\/3million_vertices_unity_1_object\/\" data-orig-file=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2012\/09\/3million_vertices_unity_1_object.jpg?fit=680%2C369&amp;ssl=1\" data-orig-size=\"680,369\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"3million_vertices_unity_1_object\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2012\/09\/3million_vertices_unity_1_object.jpg?fit=680%2C369&amp;ssl=1\" class=\"alignnone size-full wp-image-1050\" title=\"3million_vertices_unity_1_object\" src=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2012\/09\/3million_vertices_unity_1_object.jpg?resize=680%2C369\" alt=\"\" width=\"680\" height=\"369\" srcset=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2012\/09\/3million_vertices_unity_1_object.jpg?w=680&amp;ssl=1 680w, https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2012\/09\/3million_vertices_unity_1_object.jpg?resize=300%2C162&amp;ssl=1 300w\" sizes=\"auto, (max-width: 680px) 100vw, 680px\" \/><\/p>\n<p>&#8212;<\/p>\n<p><strong>Image#4 (29.01.2014):<\/strong> 2.2million points with vsync and without:<\/p>\n<p><a href=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2012\/09\/point_cloud_before_1.jpg\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"2651\" data-permalink=\"https:\/\/unitycoder.com\/blog\/2012\/09\/01\/xyz-point-cloud-data-viewer-dx11\/point_cloud_before_1\/\" data-orig-file=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2012\/09\/point_cloud_before_1.jpg?fit=308%2C205&amp;ssl=1\" data-orig-size=\"308,205\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"point_cloud_before_1\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2012\/09\/point_cloud_before_1.jpg?fit=308%2C205&amp;ssl=1\" class=\"alignnone size-full wp-image-2651\" src=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2012\/09\/point_cloud_before_1.jpg?resize=308%2C205\" alt=\"point_cloud_before_1\" width=\"308\" height=\"205\" srcset=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2012\/09\/point_cloud_before_1.jpg?w=308&amp;ssl=1 308w, https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2012\/09\/point_cloud_before_1.jpg?resize=300%2C199&amp;ssl=1 300w\" sizes=\"auto, (max-width: 308px) 100vw, 308px\" \/><\/a>\u00a0 <img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2012\/09\/point_cloud_after_1.jpg?resize=308%2C205\" alt=\"point_cloud_after_1\" width=\"308\" height=\"205\" \/><\/p>\n<p>&#8212;<\/p>\n<p><strong>Image#5:<\/strong> PLY (Ascii) importer works<br \/>\nsample data &#8220;Vellum manuscript&#8221; from\u00a0 <a title=\"http:\/\/graphics.stanford.edu\/data\/3Dscanrep\/\" href=\"http:\/\/graphics.stanford.edu\/data\/3Dscanrep\/\" target=\"_blank\">http:\/\/graphics.stanford.edu\/data\/3Dscanrep\/<\/a> , converted to PLY ascii with <a title=\"http:\/\/meshlab.sourceforge.net\/\" href=\"http:\/\/meshlab.sourceforge.net\/\" target=\"_blank\">http:\/\/meshlab.sourceforge.net\/<\/a>\u00a0 (2.155.617 points)<\/p>\n<p><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"2724\" data-permalink=\"https:\/\/unitycoder.com\/blog\/2012\/09\/01\/xyz-point-cloud-data-viewer-dx11\/unity_point_cloud_ply_file_import_1\/\" data-orig-file=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2012\/09\/unity_point_cloud_ply_file_import_1.jpg?fit=655%2C590&amp;ssl=1\" data-orig-size=\"655,590\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"unity_point_cloud_ply_file_import_1\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2012\/09\/unity_point_cloud_ply_file_import_1.jpg?fit=655%2C590&amp;ssl=1\" class=\"alignnone size-full wp-image-2724\" src=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2012\/09\/unity_point_cloud_ply_file_import_1.jpg?resize=655%2C590\" alt=\"unity_point_cloud_ply_file_import_1\" width=\"655\" height=\"590\" srcset=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2012\/09\/unity_point_cloud_ply_file_import_1.jpg?w=655&amp;ssl=1 655w, https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2012\/09\/unity_point_cloud_ply_file_import_1.jpg?resize=300%2C270&amp;ssl=1 300w\" sizes=\"auto, (max-width: 655px) 100vw, 655px\" \/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Latest version is here &gt;&gt; Check new page here: http:\/\/unitycoder.com\/blog\/2014\/03\/19\/asset-store-point-cloud-viewer-unity\/ Quick test for reading XYZ point cloud data and displaying it using DX11 features. Current info: &#8211; 1 million points works fine (60fps with no update loop, 20fps with pos.x+1 for each point in a [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1031,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[293,3],"tags":[573,571,79,397,295,572,574,299,396,297,479,395,398,14,33,298,296],"class_list":["post-1030","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-directx11-unity3d","category-unity3d","tag-asc","tag-catia","tag-color","tag-data","tag-dx11","tag-faro-scene","tag-intensity","tag-laser-scanner","tag-laser-scanning","tag-point-cloud","tag-pointcloud","tag-pointclouds","tag-points","tag-shader","tag-vertex","tag-viewer","tag-xyz"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2012\/08\/unity_point_cloud_viewer1.jpg?fit=680%2C446&ssl=1","jetpack_shortlink":"https:\/\/wp.me\/p1KTaT-gC","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/unitycoder.com\/blog\/wp-json\/wp\/v2\/posts\/1030","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/unitycoder.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/unitycoder.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/unitycoder.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/unitycoder.com\/blog\/wp-json\/wp\/v2\/comments?post=1030"}],"version-history":[{"count":46,"href":"https:\/\/unitycoder.com\/blog\/wp-json\/wp\/v2\/posts\/1030\/revisions"}],"predecessor-version":[{"id":3569,"href":"https:\/\/unitycoder.com\/blog\/wp-json\/wp\/v2\/posts\/1030\/revisions\/3569"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/unitycoder.com\/blog\/wp-json\/wp\/v2\/media\/1031"}],"wp:attachment":[{"href":"https:\/\/unitycoder.com\/blog\/wp-json\/wp\/v2\/media?parent=1030"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/unitycoder.com\/blog\/wp-json\/wp\/v2\/categories?post=1030"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/unitycoder.com\/blog\/wp-json\/wp\/v2\/tags?post=1030"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}