Voxel Sculpt questions

Hi guys!

I would like to start learning about voxel sculpt for a possible implementation in Blender, still no promess and also I will queue it into my todo list but will no harm to start gathering related resources from now.

So papers, links, sources codes will be more than wellcome

Currently I have as a reference 3D coat and voxel3D, I will like to first implement something very basic like a voxel array in a new Space called Voxel Sculpt that using a basic brush could be filled or emty

later using marching cubes reconstruct a polygonal surface from it

then, proceed with refinements like optimizations, more brush implementations and so

I could not do that overnigth, perhaps for an experienced dev that could be done easily so if some dev is willing to ease me the pain … :wink:

that feature could also be useful for painting smoke, fields (temperature,forces,etc) and volumetrics like Maya has, and not only for sculpting

As an interesting note, I have found a proposal for a GSOC in 2006 in Blender about implementing a voxel system (at that time a raycaster where not planned, just rendering with particles/halos) but that proposal where very ahead because he planned to use it on smoke simulations and also for sculpting! If that project where accepted and successfully finished then Blender could have being one of the first softwares to include Voxel sculpting back in 2006, much earlier than 3D coat :eek:.!
Lest no miss the chance now to implement it in Blender before the Big boys start including voxel sculpt on them :evilgrin:.

I don’t know of any papers, but it’s really awesome you’re contemplating implementing stuff like voxel sculpting and smoke painting in Blender. I still wonder about your progress with photon mapping though.

Also, you’ll be glad to hear that the volume rendering which you pioneered for Blender is now officially in the 2.5 branch if you haven’t already heard.

I wish you good luck with your current projects, and hoping you can find easier ways to access the internet in Cuba.:slight_smile:

WOW! Really nice! I myself tried to learn adding features to blender and voxel sculpting was be my “goal”, but I realized that it’s not so easy, so I gave up :(. But it’s however really fun to see someone doing this.

I don’t know how related this is, but adding primitives in a voxel style, so that only the surface counts, would however be a nice function too.

Would we see this in 2.5?

Thank you! :smiley:

Would we see this in 2.5?

To make that feature as comprehensive as what he’s planning would likely not be done in time for the 2.5 preview release when Durian starts (unless he did nothing but code all through September).:wink:

And one more thing, I don’t know how obvious this is, but drawing mesh on nothing, so that you quickly would be able to sculpt out a character from nothing, just like painting! That is something I always wanted.

Hi

I think that will not be ready for 2.5 if depends only on me :no: , with other dev help perhaps, but anyway is on the road.

@CD: about the GI is queued in my todo list but currently many projects and changes are on the render area so I keep it on hold until everything get stable enough (raytrace optimizations,2.5, render api, etc) though with the render API we may end up not needing urgently a GI solution I think that anyway Blender should have a GI solution, being able to plug whatever into Blender render pippeline is not an excuse for not having a high end rendering solution.(I think I will post it in my site ;))

                                                                     thanks

Papers:

http://www.uni-koblenz.de/~cg/Diplomarbeiten/VirtualSculpture.pdf
German in the first few pages, but otherwise it’s all in English.

http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.28.841

http://iphome.hhi.de/eisert/papers/wiamis04.pdf

Programs with voxel painting (apart from 3d coat):

http://www.voxelogic.com/index.php

http://www.madsie.com/freestyle.html

Will dig for more stuff :wink:

Some more papers:

http://www.me.iitb.ac.in/~bravi/lab/paper/2005CADCG_VoxelThicknessAnalysis.pdf

http://wscg.zcu.cz/WSCG2007/Papers_2007/journal/B29-full.pdf

http://wscg.zcu.cz/WSCG2007/Papers_2007/short/E03-full.pdf

http://wscg.zcu.cz/WSCG2007/Papers_2007/poster/H79-full.pdf

http://wscg.zcu.cz/WSCG2006/Papers_2006/Journal/C23-full.pdf

And another program found:

Hopefully these papers are what you’re looking for and are not some obscure stuff that coincidently has “voxel” in its title for me to include it here :slight_smile:

Just wanted to say this will be an amazing addition!

Would that be a remesh technique?

Wonder if voxel sculpting is necessarily too memory hungry…

But in any case this feature will be a great addition, and I’m looking forward to it!

Thanks for getting the ball rolling on this subject for Blender!

Sony open sourced their voxel data structure lib if that helps any.

Here’s an example with source-code:
paper: http://www.cs.tufts.edu/~frisken/chainMail-I3DG.pdf
source: http://www.cs.tufts.edu/~frisken/chainMail.c

Voxlap is a project by one of the pioneers in voxel rendering, his project is also opensource.
demo’s can be found and are really impressive:
http://advsys.net/ken/voxlap.htm

Hi farsthary,if you’ll go to do this please consider,from the start,to create a good data structure for the voxel.
I have a good experience with voxel sculpting now and I can tell you that voxel resolution will never be enough,never.
Seriously,a way to store different level of voxel resolution for every cell in the voxel space is the way to go to make it useful(some kind of hierarchical voxel,using some raytracing data structures like octree)
For example,for sculpting an head with sharp details(I don’t say pores,but only sharp edges for eyelids,you need 8 million polygons in 3dcoat)

Voxel sculpting seems to bring some nice additional features compared to current polygonal workflow.

I haven’t tested 3D Coat, but there seems to be version with Cuda support and one without. How those two versions compare to each other and how feasible voxel sculpting is without Cuda (or the coming OpenCL) support?

I have 3d-coat because I can’t go for higher resolutions with blender, and it enables me to get 10x-20x more resolution.

Disadvantage of voxel sculpting is no multiresolution(so far) editing, which means slowdowns when you get to higher resolutions.

I guess maybe a good remeshing algorithm would help the workflow a lot, just recently I discovered this great paper on that:

http://www.graphics.rwth-aachen.de/uploads/media/bommes_zimmer_2009_siggraph_01.pdf

which is from this site:

http://www.graphics.rwth-aachen.de/index.php?id=12

then you could just use some simple voxel based sculpting and transfer it to blender multiresolution.

I guess if drawing speed in blender improves, multiresolution with mesh editing can be actually very powerfull. I have to admit I have some serious trouble with retopologizing voxels(3d coat isn’t good enough in this and blender cannot handle huge resolutions), and I think multires just can be a great way to go since there is no more retopologizing, and the sculpted displacement is actually vector-based, not just normal-based.

Hi Farsthary! First and foremost I want to congratulate you for your amazing work and nice iniciatives in bringing such complex features for Blender.

About the voxel sculpting, I would like to add some considerations I see about it…

*Voxels are great for starting shapes with absolute freedom, but it’s not good for medium to high detailing, as Renderdemon stated. Take a look at this Zbrush 3.5 video http://www.zbrushcentral.com/zbc/showthread.php?p=599966#post599966 about Zspheres 2, looks like they are voxel like, but for fine detailing the mesh is still poligonized.

*Retopology tools becomes a must, as we probably will not be able to do much with voxels only inside Blender. I know Blender already have retopology tools, and I actually didn’t used them, but I’ve heard some fairly trivial complains about it. 3D Coat retopology tools are the best I’ve seen so far, very little but extremelly powerful and intuitive tools. Another nice feature of 3D Coat is auto retopology, not perfect of course, but very useful particularly for static objects.

*Voxels may be even greater for other things than sculpting. There are plenty of uses for voxels IMHO, and think of it only for sculpting is to underutilize it. Would be great if voxels could interact with meta objects (meta ball, spheres, etc) or if the voxel point cloud could be manipulated by particle systems. This could open so many doors for special effects.

In the end what I’m proposing is just to consider the wider possibilities the uses of voxels may bring for Blender.

Regards,

Jr.

That seems to be a great paper with impressive results. Very clean topology and with much sense of the objects’ shape flow.

If those results can be inverse-subdivided, that may be a very quick way to come up with a base-mesh, out of voxel shapes I guess.

Also found this old GSOC application:
http://www.mentalwarp.com/~fred/divers/blender/gsoc/gsoc.html
http://www.mentalwarp.com/~fred/divers/blender/gsoc/GSOC.pdf
http://graphics.ucsd.edu/~henrik/papers/fire/
http://graphics.ucsd.edu/~henrik/papers/smoke/

some progress on this on his blog! ( http://farsthary.wordpress.com/ )

Yeah to have this in 2.5 would be a hectic goal. Awesome that you want to do this though!! P.S The dude from 3D coat implemented Voxel sculpting in about ± 5 months.going by the forums. Very impressive. I wouldn’t know where to begin :slight_smile: ALL THE BEST!!!

3D coat is a great program. a lot more friendly than zbrush. I dont know what the function is, but I like that thing where you can put meta balls together then sculpt it like a mesh.