Title: generating point cloud files from EXR voxel cube Post by: 3dickulus on June 28, 2016, 05:34:25 AM So, I finally had some time to sit down and do some tinkering...
I was wondering how hard it would be to create 1. voxel files 2. point clouds 1. easy! modify the DE-Raytracer-Slicer.frag so that it renders the slice view only. then add a linear easing curve for the XLevel slider to transition through the object render EXR files @ (for instance) 512x512 512 frames using only 1 subframe http://www.digilanti.org/fragmentarium/slice-test.512x512.mpg then use this script (linux bash) to create a single EXR file with all the frames layered from 0-511 Code: #/bin/bash the exrmultipart command is included with the OpenEXR distribution I've coded up a loader/viewer that loads these EXR layered cubes as a gl3DTexture and it looks like this... (it's a transparent julia bulb) (http://www.digilanti.org/fragmentarium/voxel-fragmentarium.jpg) 2. easier... I've also coded a wavefront.obj file output and this one looks like this in Blender3D (http://www.digilanti.org/fragmentarium/voxel-blender.png) So I'm on the fence about whether or not this should be a separate tool(s) or if it should be part of Fragmentarium? As stand-alone tool(s) it could easily be called from script and expanded to other image/obj formats and maybe include generating other stuff like colors and faces etc. As "built-in" features of Fragmentarium it would require a lot of integrating (very crude implementation right now) to play nicely with the existing GL setup. The primary function of this is to get 3D printable objects and is not for exploring fractals in depth and in detail. Title: Re: generating wave front .obj files from EXR voxel cube Post by: Patryk Kizny on June 29, 2016, 11:54:18 PM Broken image. Can't see anything!
I tried similar approach some time ago using the former workflow for mb3d voxel stack (but still rendering with fragmentarium as it's way faster). I used orthogonal camera though and a modified de-kn2. I think that a way better solution than rendering a grid would be to generate a pointcloud with float coordinates. Then you can use tools like meshlab (on open source end) or (commercial) Geomagic Studio or new Thinkbox Software Sequoia to get very good meshes for printing. The advantage is better resolution and detail. 512x512x512 grid is mostly unused data and still very low resolution. With pointcloud you get 100% utilization of every byte. Hope you see what I mean. Can't wait to see the image and sample obj. Title: Re: generating wave front .obj files from EXR voxel cube Post by: 3dickulus on June 30, 2016, 02:12:05 AM the wavefront .obj file contains only points, 3.4 million, I think this will be a stand alone proggy that takes a folder full of images, the EXR format works well for this.
(coders) have a look at this http://doc.cgal.org/latest/Manual/packages.html#PartMeshing edit: and this http://pointclouds.org/documentation/tutorials/index.php#features-tutorial Title: Re: generating wave front .obj files from EXR voxel cube Post by: _revers_ on June 30, 2016, 04:26:21 PM Broken image. Can't see anything! It is not broken image. It seems like server http://www.digilanti.org is blocked for Poland. Try to open this forum thread (or digilanti.org) by proxy server https://hide.me/en/proxy . I noticed this when I tried to download a new version of Fragmentarium and the download page was not available for few days ("Error 403 Forbidden" to be exact). @3dickulus, pretty cool idea! ^^ Title: Re: generating wave front .obj files from EXR voxel cube Post by: 3dickulus on July 01, 2016, 01:33:42 AM @_revers_ ty, it's quite simple really, just based it on a volume render example for gl3dTexture using EXR and wavefront file formats.
My server automatically filters network IPs based on adverse activity, like trying to break in or do XSS, I will study the logs and determine if the culprit is still trying, if it is then it will have to stay that way until it stops or until I isolate the sub-net it's coming from. There would have to be a lot of attempts from different locations in Poland for it to block the entire country, it's probably just a few from the most active/popular IP nets, it usually only prevents a few IPs at a time... the current blocklist is 3372 entries (since last reset) and at first glance it looks like about 3000 from Poland :fiery: I am confident that it won't allow the bad guys in so I may just reset the list and actively observe instead of leaving it on automatic, until then a proxy should be ok as long as it hasn't been used for an attempt ;) Title: Re: generating wave front .obj files from EXR voxel cube Post by: _revers_ on July 01, 2016, 10:31:36 AM The page works fine now. Thanks!
Title: Re: generating wave front .obj files from EXR voxel cube Post by: 3dickulus on July 24, 2016, 07:41:07 PM @_revers_ I made a cmdline only prog that converts OpenEXR Multipart files into PCL pointcloud data files, the only requirement/depend is OpenEXR and the code is very minimal, 200 lines with comments, it should be extremely easy to use in any softwares. The test object I used for the pics is a 512x512x512 juliabulb.
edit: source code zip attached Title: Re: generating point cloud files from EXR voxel cube Post by: Patryk Kizny on July 26, 2016, 07:13:38 PM Whoa! Loos like a decent progress. Can you share a sample .PCL file?
Title: Re: generating point cloud files from EXR voxel cube Post by: 3dickulus on July 27, 2016, 06:53:07 AM the test file is 92,122,439 bytes so sharing it is a bit impractical, however, it's easy to re-create with this (attached) frag follow the instructions in the first post, basically render a 512x512 animation with 512 frames using exr format, the default preset should get you there in a console, cd to the folder with the exr files execute the script in the first post ( with any path adjustments required to find the exrmultipart command ) this will create a single EXR file that contains all of the images compile the program in the previous post and execute it like.. Code: exrmultipart2pointcloud input.exr output.pcd Where input is an EXR Multipart file of cubic dimensions and output is the generated pointcloud file. it will also generate a pointcloud from ANY exrmultipart file but has only been tested with a X512 Y512 Z512 cube |