3D model to volume
category: general [glöplog]
trace: I love solutions like that. I've written a couple of maxscripts to do my prec...uhm... datasets in similar ways before :)
very good. very clever solution to do it with boolean.
unfortunately my 3dsmax knowledge can only get me to render a static cube on a textured plane.
unfortunately my 3dsmax knowledge can only get me to render a static cube on a textured plane.
kusmabite - sounds exactly like the algorithm implemented by nvidia for their volume-rendering stuff
http://developer.download.nvidia.com/books/gpu_gems_3/samples/gems3_ch30.pdf
http://developer.download.nvidia.com/books/gpu_gems_3/samples/gems3_ch30.pdf
Uh. GPU noodling seems like fun, gotta try doing that some time.
Navis: also here.
Of course trace's method seems the best / more straightforward.
Of course trace's method seems the best / more straightforward.
kamls solution is a good one. when you have the voxel filled with the triangles, searching for filled surfaces is trivial.
And, if you need antialiasing (like a ct scan) you can do it with a big voxel and the resizing down...
And, if you need antialiasing (like a ct scan) you can do it with a big voxel and the resizing down...
*then
i'm sure this is an absolutely stupid question, but what would you want to do all this for?
skrebbel: Hopefully Navis will turn it into yet another kick-ass effect in yet another kick-ass demo! :)
skrebbel: because we can!
Quote:
Niels, did you use this technique while developing 'My Horsey & Me'? ;)
i knew it -- porting that game was gonna get me into trouble sooner or later
Or modify a bit some kd-tree traversal code to get *all* intersection points between the ray and a mesh, setup your rays for orthographic projection on one of the sides of your bounding box, and there you go. It's both easy and fast.
actually this is not for a demo but to construct a very 'weird' volume dataset. I can't say more but when I finish I'll show you..
(IF it works !)
(IF it works !)
Quote:
i knew it -- porting that game was gonna get me into trouble sooner or later
More than you know - I bet Rasmus owns a copy.
probably already mentioned is this 2d method.. you (software)rasterize the
mesh the usual way but for every pixel you store all of the depths written to that pixel.. now you can simple get a silouhette graphics by filling every z span in every pixel in every row taking the z depth as y and the x position as x of the sliced image.. if the mesh is solid and not intersecting this should work. i suppose that the spans not overleap, but maybe that is wrong.
btw ofcourse you must sort the z depths for the spans and take 0,1 for the first span 2,3 for second and soon. its the first thing which came into my mind and that probably it doesnt work.
mesh the usual way but for every pixel you store all of the depths written to that pixel.. now you can simple get a silouhette graphics by filling every z span in every pixel in every row taking the z depth as y and the x position as x of the sliced image.. if the mesh is solid and not intersecting this should work. i suppose that the spans not overleap, but maybe that is wrong.
btw ofcourse you must sort the z depths for the spans and take 0,1 for the first span 2,3 for second and soon. its the first thing which came into my mind and that probably it doesnt work.
Aesterozoa does this. The algorithm is effectively 3d-equivalent of the one used in dose and vihreät.
mad: do you mean taking the Z-depth of the back- and front-faces so you get some sort of "volumetric" rendering?
back front face rendering isnt really required (infact there is the possibility to render intersecting objects by this approach). store for every pixel all z values of every polygon accessing this pixel.. then sort this list contained in every pixel.. and draw the zspans contained in every pixel (consisting of the multiple z values you stored in every pixel).
Is that it?
lol. one of the most unsexy things I have ever seen... except early FLIC pr0n animations probably.
hah voxlap pr0n... ftw or wtf?
suxlap