Difference between revisions of "Shader Enhancements"

(New page: Shaders for the ray-tracer are currently coded in C and explicitly added to the active shader list. A shader to bridge the RT shader system to the BSD licensed implementation of OSL ( [htt...)
 
(Tweak shader enhancements entry)
Line 1: Line 1:
Shaders for the ray-tracer are currently coded in C and explicitly added to the active shader list. A shader to bridge the RT shader system to the BSD licensed implementation of OSL ( [http://code.google.com/p/openshadinglanguage/] ) would allow a richer visual capability.
+
BRL-CAD's shader system is custom developed for the librt raytracer.  Shaders are currently coded in C and explicitly added to the active shader list. A question of interest is whether we can utilize work being done for other open source raytracing shader systems to improve the flexibility of BRL-CAD's shader system and take advantage of shaders developed for other systems.
  
This task would involve writing the shader bridge in liboptical as well as a shader editor in mged (with a 'preview' button to raytrace a thumbnail of a sphere using the shader).
+
This task will require a fair bit of background research in order to put together a compelling proposal - interested students should study BRL-CAD's shader system to determine how it works, and then look at other open source, license compatible systems to see what they may offer. Candidates include:
  
*Familiarity with C/++
+
* Sony's Open Shader Language (OSL):  http://opensource.imageworks.com/?p=osl
*Familiarity with Tcl/Tk
+
* Pixie:  http://www.renderpixie.com/
 +
 
 +
OSL is of particular interest because it is developed specifically for raytracing systems.
 +
 
 +
A proposal should outline what changes are proposed to BRL-CAD's current shaders.  Initial stages would involve either writing the shader bridge in liboptical or designing a new approach (remember though, all existing shader functionality in the current system must be preserved, even if it is re-implemented in some fashion.  Be careful about biting off more than you can achieve in a summer.)
 +
 
 +
*Familiarity with C/C++
 +
 
 +
Difficulty:  high

Revision as of 15:12, 11 March 2011

BRL-CAD's shader system is custom developed for the librt raytracer. Shaders are currently coded in C and explicitly added to the active shader list. A question of interest is whether we can utilize work being done for other open source raytracing shader systems to improve the flexibility of BRL-CAD's shader system and take advantage of shaders developed for other systems.

This task will require a fair bit of background research in order to put together a compelling proposal - interested students should study BRL-CAD's shader system to determine how it works, and then look at other open source, license compatible systems to see what they may offer. Candidates include:

OSL is of particular interest because it is developed specifically for raytracing systems.

A proposal should outline what changes are proposed to BRL-CAD's current shaders. Initial stages would involve either writing the shader bridge in liboptical or designing a new approach (remember though, all existing shader functionality in the current system must be preserved, even if it is re-implemented in some fashion. Be careful about biting off more than you can achieve in a summer.)

  • Familiarity with C/C++

Difficulty: high