Difference between revisions of "User:Vasco.costa/GSoC15/logs"
From BRL-CAD
(→Development Phase) |
|||
Line 22: | Line 22: | ||
''Week 2 : 1-7 Jun'' | ''Week 2 : 1-7 Jun'' | ||
* Read code to better understand the main rendering loop. It seems to be something like this: | * 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() | + | :<code>do_frame() → do_run() → worker()* → do_pixel()* → rt_shootray()* → rt_*_shot()</code> |
: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. | :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. |
Revision as of 08:53, 2 June 2015
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.
Background Research
- http://graphics.cs.kuleuven.be/publications/LD08CFRGRT/
- http://research.microsoft.com/en-us/um/people/cloop/garanzhaloop2010.pdf
Development Phase
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.