Difference between revisions of "User:Vasco.costa"

From BRL-CAD
(Created page with "Hello. I am interested in ray-tracing, and GPGPU. I plan to work on OpenCL acceleration of the BRL-CAD librt rendering pipeline. =Preliminary Schedule= * 1 week - ellipsoid (...")
 
Line 1: Line 1:
Hello. I am interested in ray-tracing, and GPGPU. I plan to work on OpenCL acceleration of the BRL-CAD librt rendering pipeline.
+
Hello. I am interested in ray-tracing, and GPGPU. I plan to work on [[User:Vasco.costa/GSoC15/logs/OpenCL acceleration of the BRL-CAD librt rendering pipeline]].
  
=Preliminary Schedule=
+
* [https://www.google-melange.com/gsoc/project/details/google/gsoc2015/vasc/5657382461898752 Abstract]
* 1 week - ellipsoid (ell), arb8 (arbitrary polyhedron) shot routines in OCL
+
* [[User:vasco.costa/GSoC15/proposal|Project Proposal]]
* 1 week - to refactor dispatcher, shoot, optical renderer to process many rays in parallel in C when rendering an image or block
+
* [[User:vasco.costa/GSoC15/logs|Development Logs]]
* 3 weeks - grid spatial partitioning in OCL
 
* 2 weeks - to code for GPU side database storage of OCL implemented primitives
 
* 3 weeks - to port the compute intensive or critical parts of the dispatcher, boolean evaluator, optical renderer to OCL
 
* 1 week - torus (tor), truncated general cone (tgc) shot routines in OCL
 
* 2 weeks - bot (bag o' triangles) shot routine in OCL
 
  
Code should be implemented in C and OpenCL. The boolean weaving should be implemented in the 3 week segment where the boolean evaluator will be reimplemented in OCL. bot implementation is near the end because it might be possible to reuse some of the spatial partitioning code in it.
+
 
 +
=Development Status=
 +
{|
 +
!Milestone!!align="left"|Description!!Patch!!align="left"|Status
 +
|-
 +
|M0.1||fix OCL SPH shot routine compilation errors.||#341||'''TRUNK'''
 +
|-
 +
|M0.2||EHY shot routine in OCL.||#346||'''TRUNK'''
 +
|-
 +
| || || ||
 +
|-
 +
|M1||ELL and ARB8 shot routines in OCL.||#370||'''TRUNK'''
 +
|-
 +
|M2||<s>refactor dispatcher, shoot, optical renderer to process many rays in parallel in C when rendering an image or block.</s>||||''see M5''
 +
|-
 +
|M3.0||<s>grid spatial partitioning in C.</s>||#379||''see M3.2''
 +
|-
 +
|M3.1||<s>grid spatial partitioning in OCL.</s>||#379||''see M3.2''
 +
|-
 +
|M3.2||HLBVH object partitioning builder in C. traversal in OCL.||||'''TRUNK'''
 +
|-
 +
|M4||GPU side database storage of OCL implemented primitives.||#392||'''TRUNK'''
 +
|-
 +
|M5||port compute intensive or critical parts of the dispatcher, <s>boolean evaluation</s>, optical renderer to OCL.|| ||'''TRUNK'''
 +
|-
 +
|M5.1||OCL dispatcher that performs the shot routines for a whole frame.||||'''TRUNK'''
 +
|-
 +
|M5.2||OCL rasterizer that does the pixel pushing for a whole frame.||||'''TRUNK'''
 +
|-
 +
|M5.3||OCL lighting modes: Phong, Diffuse, Surface Normals.||||'''TRUNK'''
 +
|-
 +
|M5.4||OCL lighting modes: Multi-hit transparent.||||'''TRUNK'''
 +
|-
 +
|M6||TOR and TGC shot routines in OCL.||#393||'''TRUNK'''
 +
|-
 +
|M6.1||REC shot routine in OCL.||||'''TRUNK'''
 +
|-
 +
|M6.2||Surface normal routines for all seven OCL implemented primitives.||||'''TRUNK'''
 +
|-
 +
|M7||BOT shot routine in OCL.||||-
 +
|-
 +
|M7.1||Simple BOT shot routine in OCL that computes triangle hits and normals brute force.||||'''TRUNK'''
 +
|-
 +
|M7.2||CPU HLBVH BOT shot construction with OCL traversal and interpolated per pixel normals.||||'''TRUNK'''
 +
|}

Revision as of 17:33, 2 February 2016

Hello. I am interested in ray-tracing, and GPGPU. I plan to work on User:Vasco.costa/GSoC15/logs/OpenCL acceleration of the BRL-CAD librt rendering pipeline.


Development Status

Milestone Description Patch Status
M0.1 fix OCL SPH shot routine compilation errors. #341 TRUNK
M0.2 EHY shot routine in OCL. #346 TRUNK
M1 ELL and ARB8 shot routines in OCL. #370 TRUNK
M2 refactor dispatcher, shoot, optical renderer to process many rays in parallel in C when rendering an image or block. see M5
M3.0 grid spatial partitioning in C. #379 see M3.2
M3.1 grid spatial partitioning in OCL. #379 see M3.2
M3.2 HLBVH object partitioning builder in C. traversal in OCL. TRUNK
M4 GPU side database storage of OCL implemented primitives. #392 TRUNK
M5 port compute intensive or critical parts of the dispatcher, boolean evaluation, optical renderer to OCL. TRUNK
M5.1 OCL dispatcher that performs the shot routines for a whole frame. TRUNK
M5.2 OCL rasterizer that does the pixel pushing for a whole frame. TRUNK
M5.3 OCL lighting modes: Phong, Diffuse, Surface Normals. TRUNK
M5.4 OCL lighting modes: Multi-hit transparent. TRUNK
M6 TOR and TGC shot routines in OCL. #393 TRUNK
M6.1 REC shot routine in OCL. TRUNK
M6.2 Surface normal routines for all seven OCL implemented primitives. TRUNK
M7 BOT shot routine in OCL. -
M7.1 Simple BOT shot routine in OCL that computes triangle hits and normals brute force. TRUNK
M7.2 CPU HLBVH BOT shot construction with OCL traversal and interpolated per pixel normals. TRUNK