Another new version of Arauna back

Board: Board index ‹ Ray tracing ‹ Tools, demos & sources

(L) [2008/09/09] [Phantom] [Another new version of Arauna] Wayback!

On my webpage ( [LINK http://igad.nhtv.nl/~bikker] ) you can find another new version of my real-time ray tracer, Arauna. This is the version that I cooked up during the summer, and it includes the reported 56% speed improvement, as well as the new dynamic geometry code.
Also on the download page you can find the source code for the student game 'Let there be Light', adapted to work with the latest version of Arauna. Because of the new floating point shading path, it has some visual problems (nothing major), but apart from that it is a good example of using the ray tracer in a game project.
(L) [2008/09/09] [Shadow007] [Another new version of Arauna] Wayback!

Really NICE !!!
Just ... Are you sure you uploaded the updated pages to the server ? I don't see them ...
Or maybe it's still stored on some proxy/cache ...
Thank you !
(L) [2008/09/09] [Phantom] [Another new version of Arauna] Wayback!

You are right. I made the changes locally. The arauna package is now up: [LINK http://igad.nhtv.nl/~bikker/files/arauna_sep09.rar] . The other files are being uploaded, this might take a while.
(L) [2008/09/10] [Shadow007] [Another new version of Arauna] Wayback!

OK, just a note to let you know I've got a few problems...
It seems to be in the new building algorithms. Did you test your version of Arauna on mono-core processors ? While your executable runs well, the ones I generate with Visual Studio 2003 don't ... The first node seems to be detected as a leaf although it's probably not ... and then the counts are all wrong, leading to a total disaster ...
(L) [2008/09/10] [Phantom] [Another new version of Arauna] Wayback!

I never build my code using VS2003, always the Intel compiler. To be exact:
- For DEBUG convert the project to VS2003, select debug, rebuild all.
- For RELEASE convert the project to icc, select draft (not release), rebuild all.
Both steps will result in different lib files (one set with _debug appended). You can use these from your game app: In general, always use the release build, even when debugging. If something brakes in the engine, you'll have a problem anyway, and the speed is really terrible in debug mode. If you are sure you want to use the debug build of the engine, you can select it and it should work out of the box. The released package contains precompiled headers by the way.
One other thing: Make sure header files are in sync. The Let there be Light project is setup to use the headers of the latest arauna package; this will work if your directory structure looks like this:
Code: [LINK # Select all]==> projects
   ==> Arauna_BVH
   ==> Let there be Light
In other words: Let there be Light assumes that libraries are in '..\Arauna_BVH\rtcore\include', and so on.
I hope this helps,
Jacco.
(L) [2008/09/10] [Shadow007] [Another new version of Arauna] Wayback!

When I write about the building algorithym, it's about the BVH build algo, not in the executable one...
I nailed one problem in StaticBuilder::StaticBuilder( Node* a_Node ) :
Code: [LINK # Select all]m_Root = &m_Pool[m_FirstNode];   // this will always be the root
   // Shadow007 addition
   m_Root->SetTCount(0);
   m_Root->SetFirst(0);
 
--> I need to initialize these, or the values are initialized to 0xcdcdcdcd ... --> not good.
With the initializations, the eample test works great, ... if I disable the WATERDEMO define.
--> It seems there is the same problems with the dynamic builder too I guess.
(L) [2008/09/10] [Shadow007] [Another new version of Arauna] Wayback!

Yep, I have the same problem with the ThreadedBuilder too ...
Each time I get a Node from the pool, I need to explicitely set it with Code: [LINK # Select all]node->SetFirst(0);
   node->SetTCount(0);
(or maybe one of the two inits is sufficient ?) because by default they are seen as leafs.
An other solution is to memset the pool in the memory manager ... Works as well, but may mask other uninitialized parts.
I Have an other problem with the waterdemo : I need to comment out the WaveMaker's main code...
(L) [2008/09/10] [Shadow007] [Another new version of Arauna] Wayback!

Finally got the WaterDemo to run by replacing the"vectorized loop over the aligned pixels (1:1 SIMD implementation of the first loop)"  with using only the scalar loop. Doesn't seem to go too badly on the build time [SMILEY :)]
Next step will be to download the LTBL package and compile it ...

back