From: Skybuck Flying on
Hello,

Last time I saw/heared/read John Carmack (the famous programmer of Doom and
Quake) talking about nextgen graphics rendering technology he showed a demo
of "voxel/volume" based rendering.

Such voxel's/volume's based rendering would probably need special hardware
to quickly compresses and decompress voxel/volume's into for example RLE
streams.

Thus I expect if volume rendering is to become a reality for games for new
hardware to be designed ?! ;) =D

Though suddenly I do remember "octal tree's and all of that stuff"... maybe
that's too difficult/complex to do in hardware... and maybe RLE is much
easier to do...

Question left open are:

1. Do the volumes need to be rotated ?

2. What other possibilities are there for hardware acceleration of
"volume-rendering" based graphics" ?!?

3. Is NVIDIA and/or ATI/AMD heading in the wrong direction by focussing to
much on "programmable hardware" / "parallel software" and should they be
concentrating more on working together with John Carmack to try and bring
the next graphics technology to reality ?!?

4. Are they already secretly working with John Carmack... or have they
somehow shitted on his face ? :):):)

I think working together with the good man would be a smart idea ! ;) :)

Bye,
Skybuck =D


From: Paul E. Black on
On Thursday 20 May 2010 23:12, Skybuck Flying wrote:
> Last time I saw/heared/read John Carmack (the famous programmer of Doom
> and Quake) talking about nextgen graphics rendering technology he showed a
> demo of "voxel/volume" based rendering.
>
> ...
>
> 1. Do the volumes need to be rotated ?

I sure they do: either because of changes in world state (e.g. the
person is wheeling around) or changes in view point (e.g. I'm turning
to look left).

-paul-
--
Paul E. Black (p.black(a)acm.org)
From: Skybuck Flying on
I am not so sure about that:

Two possibilities to not have to rotate:

1. Camera view changes... instead of rotating the entire world, rotate the
camera around the static objects. And cast rays from the camera into the
objects.

2. Instead of rotating objects, keep track of there rotations and when
calculations need to be done like rays entering into the object... try to
use an imaginery sphere around the object... when the "rays" enter the
sphere rotate the ray around the sphere... and then let the ray continue
into the object as normal.

These two solutions would/could probably solve the rotation problem.

Therefore assuming the volume is accessible from x,y,z from any direction
vector no rotations would be needed except the rays going into the volume.
Which could be a lot less rotations then rotating entire volume's.

Ultimately graphics cards would need some api to retrieve a voxel like so:

UncompressVoxel( VolumeObject, VoxelX, VoxelY, VoxelZ );

Then such an api could be used by ray-tracers to traverse the volume.

Even better would be ray-tracers which can trace/traverse a ray through a
volume and detect for example a collision or so:

DetectVoxelCollission( in: VolumeObject, RayStartX, RayStartY, RayStartZ,
RayEndX, RayEndY, RayEndZ, out: VoxelX, VoxelY, VoxelZ );

Which could be usefull for "collision detection".

Also for drawing the scene a slightly extended version:

ReturnVoxelCollission( in: VolumeObject, RayStartX, RayStartY, RayStartZ,
RayEndX, RayEndY, RayEndZ, out: VoxelX, VoxelY, VoxelZ, VoxelColor );

Which would also return the voxel's color...

In case voxel's have/needed other properties then it could also return the
entire voxel like so:

ReturnVoxelCollission( in: VolumeObject, RayStartX, RayStartY, RayStartZ,
RayEndX, RayEndY, RayEndZ, out: VoxelX, VoxelY, VoxelZ, VoxelData );

So which these api's the hardware could do "ray traversal" entire in
hardware/memory... and uncompress voxel's as necessary.

Bye,
Skybuck.


From: Nicolas Bonneel on
Skybuck Flying wrote:
> 2. What other possibilities are there for hardware acceleration of
> "volume-rendering" based graphics" ?!?

again I avertise for the GigaVoxel paper...
http://artis.imag.fr/Publications/2009/CNLE09/
From: Skybuck Flying on

"Nicolas Bonneel" <nbonneel(a)cs.ubc.ca> wrote in message
news:ht6t7g$dj1$1(a)swain.cs.ubc.ca...
> Skybuck Flying wrote:
>> 2. What other possibilities are there for hardware acceleration of
>> "volume-rendering" based graphics" ?!?
>
> again I avertise for the GigaVoxel paper...
> http://artis.imag.fr/Publications/2009/CNLE09/

The word compress is found 1 time.

The word compression is found 0 times.

How does it compress volumes ?

Can it compress for example a "(hollow) hull" to mere kilobytes ?

Bye,
Skybuck.