Jump to content
magneto

Is it possible to have solid looking voxels?

Recommended Posts

Hi,

Is it possible to have solid/constant looking voxels? So if you had 2x2x2, it would actually look like actual hard shaded boxes on top of each other. Because when I set big chunks into the same color, it still looks very smooth, smoke like.

I am just wondering if there is a way to achieve sharp looking volumes in the viewport. Or is this only possible via shaders?

I assume the viewport uses a fixed shading for the volumes?

Thanks :)

Share this post


Link to post
Share on other sites

Could't you could try make an isosurface from the volume with a high resolution.

"With a high resolution" <- I doubt that's a good way around it. Res should be absolutely high and even then the "blocks" would have jiggly borders.

What I'd suggest, if what you're after is "solid boxes" look, try and go inside a vop, finding wheter a voxel is filled, if it is place a point in the middle of that voxel (maybe it can be done via scattersop or points from volume sop somehow?), then brutally stamping boxes /planes there?

Share this post


Link to post
Share on other sites

Thanks alot guys. Basically I was just trying to do this as an experiment. Something that looks like this:

free_2720994.jpg

But without creating actual geometry. Because I just wanted to change some voxels using the volume VOP and see their effect clearly in the viewport, without seeing a fuzzy volume.

You know like the difference between using point colors vs primitive colors. Point colors get blended with other point colors. But primitive colors are shaded sharp. They don't bleed into other primitives.

@Spencer: I just tried it on a volume but it didn't work. I imagine I have to mesh my volume first and then use iso offset? But then the boxes become warped.

@Wesley: I am using 100^3, should I go higher? Although I don't think that's it.

@Akabane, I guess copying boxes would work. I will try points from volume. I just thought I could achieve this look without actually creating new geometry.

I imagine this can easily be done with a shader at rendertime, but only an issue for the viewport?

Edited by magneto

Share this post


Link to post
Share on other sites

yes, it works on a volume. you just need to change the mode from Ray Intersect (since the input isnt a surface) to Volume Sample. You may have to invert the sign on your volume before doing this.

  • Like 1

Share this post


Link to post
Share on other sites

Thanks Spencer, it works :) I wish it did have just a cube without any diagonal edges present. I guess I can delete those edges. Currently I am using Tetra Solid and transferring colors using the AttribFromVolume SOP, then promoting the colors to primitive colors. That's why I want to get rid of the diagonal edges.

Share this post


Link to post
Share on other sites

I tried deleting the diagonal edges that I gathered in a group but dissolving, blasting or deleting doesn't work, as they seem to share pretty much all the points.

So I tried points from volume and attrib from volume and copied boxes on each point, then it works well. Although being able to shade the voxels in constant mode would be useful I think.

Share this post


Link to post
Share on other sites

Because voxels are not drawn individually, but as a 3D texture on a series of screen-parallel slices, disabling the linear filtering on them would not give the result you'd want. A copy-stamped cube is pretty much the only way that you're going to be able to match the look in the image, primitive colors, shading and all.

  • Like 1

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×