Hi Greg & Nathaniel,

Thank you for the input and help. Both of you spotted the error amazingly quick!

I changed hval declaration from “long hval” to “long long hval” in objset.c, 
rebuilt oconv & rpict and both are working correctly for a large geometry (2.4 
GB .rad file) ☺

I think the problem is that hval goes beyond the long limit and becomes a huge 
negative number, causing osentry to become negative, which is an index to 
ostable array.. osentry should never be negative. So I agree that some of these 
variables should be changed to unsigned.

               osentry = (hval + (xtra_long)ntries*ntries) % OSTSIZ;
               os = ostable[osentry];

The reason oconv & rpict worked on Linux is that “long” data type is assigned 8 
bytes just like the “long long” data type.. so no issues. However, on Windows a 
“long” takes up 4 bytes and a “long long” takes up 8 bytes, so there is the 
inconsistency.

Nathaniel, can you please recompile Accelerad rpict and oconv with updated 
objset.c, to account for this for this issue? I would like to test Accelerad 
with a large geometry scene.

Thank you so much,
Andrei Kolomenski



_______________________________________________
Radiance-dev mailing list
Radiance-dev@radiance-online.org
http://www.radiance-online.org/mailman/listinfo/radiance-dev
  • Re: [Radiance-... Kolomenski, Andrei (JSC-SF311)[WYLE INTEG. SCI. & ENG.]

Reply via email to