User Tools

Site Tools


Differences

This shows you the differences between two versions of the page.

Link to this comparison view

matsys:introduction [2005-09-14 21:55]
Carsten created
matsys:introduction [2013-01-07 12:07]
Line 1: Line 1:
-====== What is it?  An Introduction ====== 
- 
-The Ca3DE Material System is the central rendering subsytem of the Ca3D-Engine and of its graphical tools like CaWE, the model viewer, the terrain viewer, and so on. It takes polygonal meshes of geometry and renders them on the screen. While doing so, it is responsible for the //​materials//​ that their surfaces show. Said differently,​ it defines how the rendered polygons eventually //look//. 
- 
-The Material System is //not// involved with or responsible for //what// gets rendered, //when// it is rendered, how the meshes are spatially formed or organized, etc. 
- 
- 
-===== Features of a MatSys ===== 
- 
-FIXME  Explain: Why? Purpose? Goals? 
- 
- 
-===== Renderers ===== 
- 
-The MatSys is shipped in several separate modules. Each module offers the same features, but they are different in that each is implemented basing on a different underlying technology. These modules are called the **Renderers** of the Ca3DE MatSys. For example, a MatSys renderer exists that is based on OpenGL 1.2, another is based on the latest programmable GPU features and others are somewhere in the middle. In fact, Ca3DE ships with several of them, and it uses the MatSys by using effectively one of the renderers. 
- 
-Technically,​ renderers are dynamically loaded libraries (''​.dll''​ files on Windows systems), and you can find them in the ''​Renderers/''​ subdirectory of the demo or SDK. When the Ca3D-Engine or another program starts, it first scans the list of all available renderers, automatically selects the one that is the best (or most appropriate) for your system, and then loads it (this specific instance of the Material System) for use. 
- 
-This way it does not matter wether your computer is very old or the latest leading-edge system, wether it uses OpenGL, Direct3D or software-only rendering or if it is running Windows or Linux: You always get the best possible graphical output! 
- 
- 
-===== Materials ===== 
- 
-**Materials** define what surfaces look like and what features a surface has, and if you are interested in Ca3DE editing, you'll most likely get in touch with them. 
- 
-For example, mappers assign materials to world geometry in order to give all objects the look and feel that they want. Modellers often create new materials for the creatures that they create, and then assign them to the polygonal meshes of their model. 
- 
-When it comes to rendering, the Ca3D-Engine takes both the meshes and their assigned materials, and hands them to the Material System. The MatSys then does it's best to render the mesh with that material as accurately as possible on the available technology. 
- 
-Each material is referred to by its name, and is defined in a //material definition script// file. These files have the suffix ''​.cmat''​ and can contain the definition of one or more materials. They are simple ASCII text files, and you can find many examples in the ''​Games/​DeathMatch/​Materials/''​ subdirectory of the demo or SDK. 
- 
-Here is an example of a material definition from ''​Games/​DeathMatch/​Materials/​Kai.cmat'':​ 
-<​code>​ 
-    Textures/​Kai/​3r_metpan01 
-    { 
-        diffusemap ​ Textures/​Kai/​3r_metpan01_diff.png 
-        normalmap ​  ​Textures/​Kai/​3r_metpan01_norm.png 
-        specularmap Textures/​Kai/​3r_metpan01_spec.png 
-        lightmap ​   $lightmap 
-    } 
-</​code>​ 
- 
-Creating and using materials is explained in great detail elsewhere in this documentation. 
  
matsys/introduction.txt ยท Last modified: 2013-01-07 12:07 (external edit)