This shows you the differences between two versions of the page.
Both sides previous revision Previous revision | Next revision Both sides next revision | ||
matsys:introduction [2005-09-15 10:20] Carsten |
matsys:introduction [2005-09-24 10:13] Carsten Fixed two minor typos and clarified creating of materials a bit |
||
---|---|---|---|
Line 49: | Line 49: | ||
//Using// materials is very easy. For example, when you're mapping with CaWE, you apply materials to world brushes in the same way as well-known textures used to be applied in other or older map editors, too. Please see the CaWE User Guide in this Wiki for more information. | //Using// materials is very easy. For example, when you're mapping with CaWE, you apply materials to world brushes in the same way as well-known textures used to be applied in other or older map editors, too. Please see the CaWE User Guide in this Wiki for more information. | ||
- | //Creating// materials often requires two steps: You first have create or acquire the texture maps that are used or required by the material. Then you have to write a material definition into a ''.cmat'' script file like in the example above. Very advanced materials may also involve a third step, namely in the case that they require their own unique shader (see below). | + | //Creating// materials often requires two steps: You first have to create or acquire the texture maps that are used or required by the material. These are typically png, jpg or tga images that define the diffuse-, normal-, specular-, and other component maps that will be referred to by the material. Then you have to write a material definition into a ''.cmat'' script file like in the example above. Very advanced materials may also involve a third step, namely in the case that they require their own unique shader (see below). |
The documentation in this Wiki has detailed documentation about each of these steps. | The documentation in this Wiki has detailed documentation about each of these steps. | ||
Line 61: | Line 61: | ||
Even the case that there is a non-optimal assignment may sometimes occur, e.g. when on the underlying hardware no shader can be implemented that renders the desired material perfectly. In this case, a sub-optimal (but still the best) shader is selected. This mechanism provides a fall-back solution for arbitrarily old hardware, meeting another important design goal of the MatSys. | Even the case that there is a non-optimal assignment may sometimes occur, e.g. when on the underlying hardware no shader can be implemented that renders the desired material perfectly. In this case, a sub-optimal (but still the best) shader is selected. This mechanism provides a fall-back solution for arbitrarily old hardware, meeting another important design goal of the MatSys. | ||
- | Shaders therefore provide the key to be able to always support new hardware: If new 3D hardware features become available, we can quitly write a new shader for it, put it into the appropriate renderer, and then materials can use it, either from auto-selection or by explicit statement. This ability is a great feature that makes it easy to scale the MatSys for future hardware, limited (e.g. embedded) hardware, old hardware, etc. | + | Shaders therefore provide the key to be able to always support new hardware: If new 3D hardware features become available, we can quickly write a new shader for it, put it into the appropriate renderer, and then materials can use it, either from auto-selection or by explicit statement. This ability is a great feature that makes it easy to scale the MatSys for future hardware, limited (e.g. embedded) hardware, old hardware, etc. |
Future SDKs will come with the ability to plug-in custom shaders, and the Wiki documentation about shaders will updated until then. | Future SDKs will come with the ability to plug-in custom shaders, and the Wiki documentation about shaders will updated until then. | ||