User:Todor nikolov/proposal

From BRL-CAD
Revision as of 20:08, 16 March 2014 by Todor nikolov (talk | contribs) (Started work, organize later)

Personal Information


Name: Todor Nikolov
Email: tosemkd@gmail.com
IRC name:todor_nikolov

About Me

I am a student in my 3-rd year in computer science and engineering, at the faculty of Computer Science and Engineering in Skopje, Macedonia.
The focus of my studies is parallel programming and high performance computing, also I have a fondness for embedded systems and low power computing.
Along side this I also take classes in computer graphics and animation, partly because it is connected to the previous fields, but mostly because it is fun and quite challenging.
My hobbies include gaming and learning new ways to torture all the processors in my PC. :D

Previous Experience

  • 2 months working on a social network as part of an internship, february-march 2013 , in this project I used php with the codeigniter framework, my tasks were implementing the messaging system and configuring sphinxsearch to match the requirements of the design.
  • A small project in android as part of a teamwork class, its still work in progress.

Project Proposal


Project Title

Raytracing pipeline optimization

Brief project summary

Analyze, profile, benchmark, speedup, report results. Do this a couple of times and a slow program becomes less slow. So that is my plan.

Detailed project summary

The raytracer in brlcad hits around 1M rays/sec meaning a render on a current screen (1920x1080) takes 1 - 5 seconds. The new archer editor supports much quicker edits, meaning having a quicker response by the renderer will improve the feel and workflow of the program.
The other use of the raytracer is queuing multiple traces in a script file for the purpose of either animation or multiview rendering can take minutes to hours depending on the complexity of the scene and the amouth of frames taken.


Current raytracing flow in BRLCAD is: Convert to internal representation > partition space >> shoot rays >> check for intersections > execute hit/miss function