Manta Interactive Ray Tracer Development Mailing List

Text archives Help


[Manta] packetization issues


Chronological Thread 
  • From: "Biagio Cosenza" < >
  • To:
  • Subject: [Manta] packetization issues
  • Date: Tue, 8 Jul 2008 21:42:50 +0200
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:sender:to:subject:mime-version:content-type :x-google-sender-auth; b=gTEqK+I41VPIRnCHpOJvNJXNrNtQv+qm2E+rO5MDgZl3g9k8srwRlDkLsQlwK2u30b eEX6r6+QfpRBhvBcIwVPiIgVK75C0rfzyhnZj3H4ksYfD+9CenADGbammnR4PdCYT3tb uPKoHbMakKOjDXk4mizhEOJRqfhgM/5uuQywg=

Hi. I'm still writing a parallel implementation (with MPI) of Manta :-)

Here some problem/issues:

(1)  Packetization

I'm implementing my image traverser in order to render tile/bricks coming from a remote visualization node (MPI parallelization).
My high level parallelization system schedules NOT SQUARED tiles (and so, not equally-sized).

Mapping from tile (our high level tile) to packets (used in Manta) can be done in at least 3 several ways:
 1. one-to-one: mapping each high level tile with a single packet
 2. by further splitting each tile in 8x8 or 16x16 packets
 3. by further splitting each tile in a constant number of packets (i.e. in 8 packets)
 4. (...may be there are also other way?)

I tried the first... it performs REALLY bad, because:
   * or you choice small packets (reaching the optimal 8x8 or 16x16 packet size), but you also need to store an huge amount of packets
   * or you choice to use larger (and few) packets, but it perform poorly in traversal

The second strategy (splitting in 8x8 packets) work really good (after a bit of tuning).

I didn't try the third yet. *Maybe* It works good if we suppose that larger tile contains less expensive (hence more coherent rays ?) and so in it we can use larger packets.
Actually I implemented my ImageTraverser, that pop tiles from a queue of tiles, does the 2nd mapping strategy, then write all in the frame buffer. This because I'm also working on work stealing algorithm for dynamic balancing.

I also notice that by only creating squared packets and using the appropriate flag, it s possible to improve of 2x performance!

So... any comment on my work? Do you suggest a different approach?
Any suggestions about packetization and performance hints?


(2) Reflections
I've some problem with reflections. Looking at the three snapshots
(the first with the chessboard lambertian and interpolated normal, the second with Phong reflected chessboard and without interpolating normals, the third is like the second but in a more critical angle), referring to the dots where secondary rays have to be shooted. It seems a classical epsilon problem. I had similar things in my (small) ray tracer cause some nasty epsilon compares. It happens with both KdTree and DynBVH.
How to figure it out?


Again, thanks in advance for your helps :-)
Cheers, Biagio


--
Biagio Cosenza
ISISLab, Dip. di Informatica ed Applicazioni "Renato M. Capocelli"
Universita' degli Studi di Salerno
http://www.dia.unisa.it/~cosenza

Attachment: snap1.bmp
Description: Windows bitmap

Attachment: snap2.bmp
Description: Windows bitmap

Attachment: snap3.bmp
Description: Windows bitmap



  • [Manta] packetization issues, Biagio Cosenza, 07/08/2008

Archive powered by MHonArc 2.6.16.

Top of page