computing voxel normals

Fd80f81596aa1cf809ceb1c2077e190b
0
rouncer 103 Aug 01, 2011 at 21:07

i sorta read a bit of complex jargon on this i didnt quite understand, but i figure i get how people do it.
say i take the neighbourhood of a voxel and weight the final normal direction by the count of 90 degree faces in each direction.

how successful is this, and is there an example of it i could see somewhere?

im in a debate whether i should do this, or keep a floating position inside the voxel to compute normals, the latter being difficult enough for me to think twice about doing it.

3 Replies

Please log in or register to post a reply.

Ceee4d1295c32a0c1c08a9eae8c9459d
0
v71 105 Aug 01, 2011 at 23:00

I fear that this might lead to some very concentrade normals along the edges , have you thought to compute the voxel normals, like ordinary small cubes and then averaging if they share an adjacent cube ?

A77e71b962cd6c7c3b885f0488452f1f
0
tobeythorn 101 Aug 02, 2011 at 01:08

Rouncer,
Since a voxel can stand on its own, or be out on a peninsula, and is a 3d object, not a surface, a voxel really must have a vector for each face, even if it is part of a “surface”. v71’s suggestion sounds good, per face.

edit,
you might also start by drawing difference configurations of nearest neighborhood configuration (in 2d) and figuring out what kind of normals make sense for each situation. Then, see if you can generalized (much better than writing out 2\^9th cases manually).

Fd80f81596aa1cf809ceb1c2077e190b
0
rouncer 103 Aug 02, 2011 at 08:01

points taken, yeh maybe youd lose detail.
im just colouring per cube, i dont have enough memory already.

my plan is i super sample the voxels and get a floating position inside the voxel (extra 3 bytes per voxel), then i can make proper directions, and might improve editing tools too.