Community Bonding Period
I have made two patches for OpenCL (OCL) shot code. One patch refactors the existing sph (Sphere) shot code, and the another patch implements ehy (Elliptical Hyperboloid) shot code.
Week 1 : 25-31 May
- Created some example .g files in mged for the primitives to be implemented this week. The Quick Reference Card proved to be quite useful.
- Do the matrix ops for ehy (Elliptical Hyperboloid) in the OpenCL side.
- Made patch for ell (Generalized Ellipsoid) and arb8 (Arbitrary Polyhedron) OpenCL shots:
- M1 complete.
- Tried out a bunch of code browsing tools (cscope, LXR, doxygen, etc). The NetBeans IDE seems the most promising.
Week 2 : 1-7 Jun
- Read code to better understand the main rendering loop. It seems to be something like this:
do_frame() → do_run() → worker()* → do_pixel()* → rt_shootray()* → rt_*_shot()
The code is recursive (which is problematic for OpenCL). I'll work on a simplified version of the rendering loop which only does the primary rays in C as a first approach. After I get the non-recursive parallel friendly C code I'll work on the OpenCL port.