Experiment in representation of 3D objects

Started by
4 comments, last by pabloreda 11 years, 7 months ago
Experiment in representation of 3D objects

Testing alternatives to the representation of 3D objects found a different way to vectors, points and voxels.
At first the idea seems too simple and restrictive, but let's see what happens.

The basic idea is to use 6 images, one for each side of the cube, and save these images point height.

The current implementation uses 3 256x256 images saved at each point (4 bytes), the minimum, maximum and there is room for two separate colors (palette).

The test did not make sense because the bitmap go to locate the points is what I'm trying to avoid but I wanted to see how it looks.
I lack the rasterization implement this structure or the intersection of a ray in order to draw solid.
I can calculate the normal using adjacent points although not sure that's a good idea.
The bitmaps are uncompressed, I want to finish the ray tracer first, maybe the search to locate the point on the screen resulting in any way to compress this point.

Any idea or help are welcome !!

all the source is open in my site.
Advertisement
Take a look here: Chapter 21. True Impostors
http://http.developer.nvidia.com/GPUGems3/gpugems3_ch21.html
I have seen a whitepaper describing a technique almost the same as you describe - except they used 6 single-channel images, instead of 3 dual-channel ones. They then rendered the objects as cubes / rectangular-prisms, with a pixel shader that ray-marched into the 6 textures. Unfortunately I can't remember the name of that paper...

Here's spacerat's link in whitepaper form: http://www.ericrisser.com/stuff/Rendering3DVolumesUsingPerPixelDisplacementMapping.pdf
And some other papers along similar lines:
http://moving.lsi.upc.edu/papers/ORIs.pdf
http://www.inf.ufrgs.br/~oliveira/pubs_files/Policarpo_Oliveira_RTM_multilayer_I3D2006.pdf
Thank you for the data
I have actually already experimented to use this method. It solves well for objects with large solid areas (buddha below). However, it seems not well suited for trees and plants. Problems occur for small thin areas of the object that are only a few pixels thick.

buddha_6_side_impostor.png

6_side_impostor.png
Nice work Sven,

The dog in the paper look good.
I see in the paper the code is like Ray marching, I hope found a more direct intersection but i don't know the previous work.

the link of you sign is not correct... voxels.blogspot.com

thank's again

This topic is closed to new replies.

Advertisement