Difference between revisions of "User:Vasco.costa/GSoC15/logs"
From BRL-CAD
(→Development Phase) |
(→Development Phase) |
||
Line 30: | Line 30: | ||
* SVN r65153 fails to compile with a bogus error of an unused variable that's actually being used its just that GCC 4.9.1 is too dumb to figure that out. | * SVN r65153 fails to compile with a bogus error of an unused variable that's actually being used its just that GCC 4.9.1 is too dumb to figure that out. | ||
** https://sourceforge.net/p/brlcad/bugs/365/ | ** https://sourceforge.net/p/brlcad/bugs/365/ | ||
− | : | + | : Upgraded Ubuntu and GCC. |
Revision as of 14:09, 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.
- Updated project proposal on Google Melange.
- SVN r65153 fails to compile with a bogus error of an unused variable that's actually being used its just that GCC 4.9.1 is too dumb to figure that out.
- Upgraded Ubuntu and GCC.