You posed a lot of questions in your response. So I hope you don't mind if I pick them one by one
Quote:
Can you elaborate on how your editing tool actually works?
Sure.
Quote:
For example, does it add a constant value to each voxel within a given range from the mouse cursor?
No.
Quote:
Or does the amount added depend on the distance from the mouse cursor to the voxel?
Yes. The distance to the "brush-source-position" is used to calculate the voxel density.
Quote:
Perhaps you multiply the underlying data by a value rather than adding to it?
No.
Quote:
so you may be better off modifying the behaviour of your editing tools rather than using voxel smoothing.
I don't think that it is possible for the editing tools to output smoother data than they already do.For example if I create say a voxel sphere with radius 5 the voxel sphere density is already as smooth as it can be(depending on the distance) yet if I apply the 3ds max relax modifier on top of that mesh it generates a much smoother mesh.
Quote:
That said, I do think the quality of the voxel-smoothed version can be improved. I suspect the main problem is that the data is being blurred too much, and that less blurring would still improve the smoothness of the surface without losing so much detail.
Yeah could be. For now I am happy with the smooth function( I mainly use it to get rid of "too much detail"). I automatically apply the 3ds max relax function to the mesh after each brush stroke which is fast enough and yields good results.
Quote:
When using this small kernel PolyVox will average each voxel with it's 26 neighbours, giving an equal weighting to each of the 27 voxels. A better approach (which would allow less blurring) would be to take (for example) 80% of the value from the current voxel and the remaining 20% from the average of the neighbours. More generally, we could allow user-specified filter kernels and provide some standard ones like the Gaussian.
yes that seems like a good idea. Having more control over the amount of smoothing would be great especially since as you already stated the current smoothing functionality is way too agressive.
Quote:
A couple more questions - to my eye the non-smoothed version doesn't look quite like the raw output of PolyVox. Have you applied any other algorithms such as decimation to the data?Also, how are your normals computed?
Ah yes.This is a vertex normal issue. Couldn't help that. This automatically happens when I convert my plugin-mesh to the 3ds max editable-mesh object. I guess it recomputes the normals or something. On that image all meshes were converted to editable-mesh except the "voxel-smoothed mesh". But still even before conversion it didn't look much better.
Quote:
Also, how are your normals computed? Are you using the normals from PolyVox or ones generated from 3DS Max? PolyVox does have some options for different normal quality if that helps.
When I convert to 3ds max' editable mesh I usually apply vertex weld modifier and then apply the Smooth-Modifier(which just calculates normals based on the geometry). during editing I use the normals which are generated by polyvox(they are as good as the ones generated by 3ds max and sometimes even much better).
If you look at the new pictures I posted in the showroom you see how it looks during the editing process(without mesh vertex relaxation).