Difference between revisions of "User:Vasco.costa/GSoC15/logs"
From BRL-CAD
(→Development Phase) |
(→Development Phase) |
||
Line 36: | Line 36: | ||
* Made simple frame buffer write code in C. | * Made simple frame buffer write code in C. | ||
* Made simple diffuse shading code in C. | * Made simple diffuse shading code in C. | ||
+ | |||
+ | ''Week 3 : 8-14 Jun'' | ||
+ | |||
+ | * Added the boolean weaving relevant code to our minimal renderer. | ||
+ | * Working on making the rendering code reentrant. Also eliminating gotos. This should make it more amenable for porting later on. |
Revision as of 16:41, 9 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.
- Made simple ray generation code in C.
- Made simple frame buffer write code in C.
- Made simple diffuse shading code in C.
Week 3 : 8-14 Jun
- Added the boolean weaving relevant code to our minimal renderer.
- Working on making the rendering code reentrant. Also eliminating gotos. This should make it more amenable for porting later on.