grt-talk
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [grt-talk] Some suggestions.


From: Anton N. Mescheryakov
Subject: Re: [grt-talk] Some suggestions.
Date: Sat, 10 May 2003 13:48:53 +0400
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4a) Gecko/20030401

Nikodemus Siivola wrote:

On Thu, 8 May 2003, Anton N. Mescheryakov wrote:
Definitely.  We need a first-intersetion accelerator (or several).

The only problem Z-buffer version is that Z-buffer algorythms for implicit
surfaces tend to get comlicated pretty quickly. Not undoable, just more
difficult for arbitrary surfaces. If you feel like up to it, ... ;)

My current plan is to project the *bounding volumes* onto screen, and store
the depth of the closest bounding surface per pixel. This will allow the
tracing alogorith to step into correct point in octree without intermediate
tests.
The sad fact is that you can't bound an implicit surface in general case, without prior knowledge of its shape. Just about every implicit surface can turn out to be infinite, especialy isosurfaces; it looks like Povray handles infinite stuff separately from the rest. Full-scale analysis of implicit surface isn't something impossible (just some symbolyc derivatives) it's something too big for the current state of grt. But finite primitives: quadrics, polyhedra etc are quite suitable for scanline rasterizers. *Even for hardware-accelerated*

Alternatively we could store sorted lists of objects per screen region (per
pixel or smallish group). Kind of like poor mans ray-sorting.
IMHO, it's called A-buffer or so. KYRA series of 3D cards use (er... used) this stuff; it proved to be bandwidth saver... and display artifact source. And again, it can be hardware accelerated. Please don't think that I suggest you mold grt into some kind of realtime renderer, but 3D is now everywhere and it's a shame to ignore your second processor...


Best regards,
   Anton.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]