Difference between revisions of "Shader Enhancements"
(new layout, add references) |
Level zero (talk | contribs) (Add Past Efforts) |
||
(5 intermediate revisions by one other user not shown) | |||
Line 7: | Line 7: | ||
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: | 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 | * Sony's Open Shader Language (OSL): http://opensource.imageworks.com/?p=osl | ||
* Pixie: http://www.renderpixie.com/ | * Pixie: http://www.renderpixie.com/ | ||
+ | * Yafaray: http://www.yafaray.org/ | ||
OSL is of particular interest because it is developed specifically for raytracing systems. | 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= | =Requirements= | ||
*Familiarity with C/C++ | *Familiarity with C/C++ | ||
+ | |||
+ | =Past Efforts= | ||
+ | [http://brlcad.org/wiki/User:Kunigami/GSoc2011/Proposal GSoC11] |
Latest revision as of 13:40, 4 March 2015
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.
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.)
References[edit]
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:
- Introduction to MGED
- Do lessons 1-7 minimum
- Principles of Effective Modeling
- Read Appendix B
- BRL-CAD's optical shaders
- Provides a broad survey from a developer's perspective
Requirements[edit]
- Familiarity with C/C++