[welcome] [download] [documentation] [gallery] [how to contribute] [writing shaders] [contributors]

 

How to Contribute to Shades

If you have any ideas at all about ways to improve the Shades project, you are a potential contributor. I have started a partial list of improvements, if you want to consider some of the improvements that have been suggested by myself or others.

The most obvious way to contribute is to write your own shader to be included with the other plugins. You should read the tutorial on writing a Shades plugin, to become acquainted with some of the Shades routines you can use for your shader.

A very welcome contribution would be to add more support routines that improve the basic functionality of the shaders (e.g., better noise functions, bump mapping routines, a preview window, etc.).

If you have routines that you think would be useful, but don't want to bother learning how to incorporate them into Shades, please contribute them anyway and I'll be glad to see what can be done with them. Another example is if you have an lscript shader that would be a great addition to Shades package, but don't want to re-write it in C. If you will officially contribute the lscript, we will try and find someone interested in doing the necessary conversion.

I hope ports will be made available for other platforms and/or compiler environments. If you are interested in porting to another platform, contact me (marvinl AT email.arizona.edu) and I can provide some basic hints about some things you will probably have to add or modify.

But, you don't need to be a programmer to contribute to Shades!

We would love to have web pages with user contributed images, surface files, and objects that use the Shades shaders.

A page of hints and tips discovered while using any of the shaders would also be nice. All suggestions, ideas, and contributions will certainly be welcome!

Ready to contribute?

I will be organizing and maintaining the project as best I can. If you have something to contribute, send me some e-mail ( marvinl AT email.arizona.edu), and I will add your contributions to the main Shades distribution. I am not certain how I will be handling new releases of the distribution, that will depend on the number and type of contributions I am receiving.

If you start working on an idea for the project, it might be beneficial to you and others if you would drop me some e-mail (marvinl AT email.arizona.edu) informing me of your idea. It will definitely not commit you to implementing it, but I will use the list below to put your name and e-mail address beside the idea. That way, others interested in the same idea can contact you and find out your progress, share thoughts, and just generally pester each other :-).

As far as the rights to the software and code, the only thing that makes sense to me right now is to make it completely public domain software. If you are concerned about contributing your code to the public domain, and would like to propose a workable alternative, I am more than open to any and all suggestions. I am not very familiar with this area of software distribution and all the options that might be appropriate in a collaborative programming project such as this one. Please, send me any suggestions or comments you might have.

Ideas for improvements

This is just a partial list of things that can be improved in Shades. I'll add other suggestions to this list as necessary. If someone has contacted me with some interest in one of these ideas, their name appears at the end of the paragraph, with a link to their e-mail address. This should help provide some contacts for others interested in the same idea.
  • Add a shader preview (fully animatable?) to the main interface panels.
  • Multiple types of texture falloff.
  • Add "glossiness" capability to common shading attribute area.
  • Load/Save Texture buttons
  • Add functions and globals equivalent to the Renderman Shading Language routines used for doing bump mapping.
  • Improve support routines for noise functions. (Matthew Sorrels: map percentages to noise)
  • Create a RenderMan Shading Language interpreter. (Kevman)

 

s i t e d e s i g n - v i s u a l e y e s