Manta Interactive Ray Tracer Development Mailing List

Text archives Help


Re: [Manta] Image degrades as more processors get involved!


Chronological Thread 
  • From: "Christian Odom" <cnsodom@gmail.com>
  • To: MANTA <manta@sci.utah.edu>
  • Subject: Re: [Manta] Image degrades as more processors get involved!
  • Date: Wed, 5 Sep 2007 17:44:43 -0400
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:references; b=gKpPnzlZcMZ+rlC+e1zrCRA3IpiBK0iYe6F0wA5anPTFlncTCVH/ZjuotxGTaYzQAFfgcydPFfkpyhv41v9vBqIZPm9UeBjJa7vghedrJOErEA667X0vFWT14dGahXoC2cqq49dFfHMBrpxsntq7hU9es+god/f8OKrd/iOI8Yo=



On 9/5/07, Solomon Boulos <boulos@cs.utah.edu> wrote:
Do you run into the problem with -np 1? Also, would it be possible to get the full copy of your camera implementation instead of just makeRays (which looks okay to me).

I am having to forward the X session over the net so it is really slow, but from what I can tell the image looks fine with -np 1.

I have attached the current MatrixCamera class. I really need to go through and clean it up. Please excuse the mess.

 

On Sep 4, 2007, at 10:49 PM, Christian Odom wrote:



On 9/5/07, Abe Stephens <abe@sci.utah.edu> wrote:
It looks like ray packets or fragments are being corrupted somehow (e.g. invalid directions or origins causing rays that should it the background to hit the plane).

Do you experience this problem when using the default pinhole camera? We don't experience the artifact on our systems, which suggests it could be a IA64 code path problem, a non-SSE code path problem, or an issue with your camera implementation. 

If it doesn't occur with the default camera we can eliminate the first two and we'll have a lot less of the code to deal with.

The default camera is fine. 

This is our makeRays implementation.

void MatrixCamera::makeRays(RayPacket& rays) const
{

ASSERT(rays.getFlag(RayPacket::HaveImageCoordinates));
ASSERT(rays.getFlag(RayPacket::ConstantEye));
rays.setFlag(RayPacket::ConstantOrigin);

float temp[4];
temp[0] = inverseProjView[0][3];
temp[1] = inverseProjView[1][3];
temp[2] = inverseProjView[2][3];
temp[3] = inverseProjView[3][3];

Vector tempEye;
tempEye = Vector((float)temp[0]/(float)temp[3],(float)temp[1]/(float)temp[3],(float)temp[2]/(float)temp[3]);


for(int i = rays.begin(); i < rays.end(); i++){
temp[0] = inverseProjView[0][0]* rays.getImageCoordinates(i, 0) + inverseProjView[0][1]*rays.getImageCoordinates(i,1 )
+ inverseProjView[0][2] + inverseProjView[0][3];
temp[1] = inverseProjView[1][0]*rays.getImageCoordinates(i, 0) + inverseProjView[1][1]* rays.getImageCoordinates(i,1 )
+ inverseProjView[1][2] + inverseProjView[1][3];
temp[2] = inverseProjView[2][0]*rays.getImageCoordinates(i, 0) + inverseProjView[2][1]*rays.getImageCoordinates(i,1 )
+ inverseProjView[2][2] + inverseProjView[2][3];
temp[3] = inverseProjView[3][0]*rays.getImageCoordinates(i, 0) + inverseProjView[3][1]*rays.getImageCoordinates(i,1 )
+ inverseProjView[3][2] + inverseProjView[3][3];


target = Vector((float)temp[0]/(float)temp[3],(float)temp[1]/(float)temp[3],(float)temp[2]/(float)temp[3]);
target.normalize();
rays.setRay(i, tempEye, target);
}


Abe

On Sep 4, 2007, at 9:26 PM, Christian Odom wrote:

Hi everybody.

I wanted to see if anybody had an idea about what is going on in the picture.
The "Left Screen" is running on an ia64 system using 3 processors.  The
"Right Screen" is also running on an ia64 system, but it is using 25 processors.
Both are using a custom camera class, which uses a matrix to generate the eye point and 
the raydir.

It seems that the "noise" in the image is related to the number of processors we use.  The
more processors the more "noise."

Any ideas would be awesome.

--
Christian Odom
Graduate Student
Center for Advanced Computer Studies
http://www.cacs.louisiana.edu
Louisiana Immersive Technologies Enterprise
http://www.lite3d.com
<snapshot1.png >




--
Christian Odom
Graduate Student
Center for Advanced Computer Studies
http://www.cacs.louisiana.edu
Louisiana Immersive Technologies Enterprise
http://www.lite3d.com




--
Christian Odom
Graduate Student
Center for Advanced Computer Studies
http://www.cacs.louisiana.edu
Louisiana Immersive Technologies Enterprise
http://www.lite3d.com

Attachment: MatrixCamera.cc
Description: Binary data

Attachment: MatrixCamera.h
Description: Binary data




Archive powered by MHonArc 2.6.16.

Top of page