Latest revision |
Your text |
Line 1: |
Line 1: |
− | 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.
| + | 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. |
| | | |
− | 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.)
| + | 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). |
| | | |
− | =References=
| + | *Familiarity with C/++ |
− | | + | *Familiarity with Tcl/Tk |
− | 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:
| |
− | | |
− | * http://en.wikipedia.org/wiki/Shading
| |
− | * http://en.wikipedia.org/wiki/Shader
| |
− | * http://en.wikipedia.org/wiki/Shading_language
| |
− | * Sony's Open Shader Language (OSL): http://opensource.imageworks.com/?p=osl
| |
− | * Pixie: http://www.renderpixie.com/
| |
− | * Yafaray: http://www.yafaray.org/
| |
− | | |
− | OSL is of particular interest because it is developed specifically for raytracing systems.
| |
− | | |
− | Code of relevance:
| |
− | | |
− | * src/liboptical
| |
− | * include/optical.h
| |
− | | |
− | Documentation of relevance:
| |
− | | |
− | * {{pdf|Introduction to MGED|Introduction to MGED}}
| |
− | ** Do lessons 1-7 minimum
| |
− | * {{pdf|Principles of Effective Modeling|Principles of Effective Modeling}}
| |
− | ** Read Appendix B
| |
− | * {{pdf|Optical Shaders|BRL-CAD's optical shaders}}
| |
− | ** Provides a broad survey from a developer's perspective
| |
− | | |
− | =Requirements=
| |
− | | |
− | *Familiarity with C/C++ | |
− | | |
− | =Past Efforts=
| |
− | [http://brlcad.org/wiki/User:Kunigami/GSoc2011/Proposal GSoC11]
| |