Project::OSiRiON - Git repositories
Project::OSiRiON
News . About . Screenshots . Downloads . Forum . Wiki . Tracker . Git
summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/models.html90
1 files changed, 53 insertions, 37 deletions
diff --git a/doc/models.html b/doc/models.html
index 740bc3d..f4c5513 100644
--- a/doc/models.html
+++ b/doc/models.html
@@ -45,7 +45,7 @@
<li><a href="#clip">Clip</a>
<li><a href="#detail_brushes">Detail brushes</a>
<li><a href="#textures">Textures</a>
- <li><a href="#surface_flags">Surface flags</a>
+ <li><a href="#surface_files">Shader files</a>
<li><a href="#lights">Lights</a>
<li><a href="#flares">Flares</a>
<li><a href="#particles">Particles</a>
@@ -69,7 +69,7 @@
Note that it does not include the Osirion support files by default.
<p>
This document will not explain how to use the editor. Consult google
- for numerous tutorials on this subject. Any basic brush-creating
+ for numerous tutorials on this subject. All basic brush editing
techniques for any Quake-engine based game can be used.
<p>
The main difference with other games is that you are not creating
@@ -127,55 +127,71 @@
is within detail range, close enough to the camera. When it is further away,
only structural brushes will be rendered. The actual detail range depends on the
size of the model.
+</p>
<p>
This means that any object that could only been seen from close by
should be made from detail brushes.
+</p>
<p>
This has one improtant implication: if you show the structural brushes
only (with the CTRL+D filter in Gtkradiant) there should be no obvious
gaps of caulk that were previously hidden behind detail brushes.
-
-<h2 id="textures">
- Textures
-</h2>
-<p>
- The engine does not support textured models. Every brush face is drawn
- using a single color and any real texturing information is ignored.
<p>
- The color textures in the directory <i>/textures/colors</i> can be used by
- the editor. The engine translates these textures into RGB colors
- when the model is loaded. Unknown textures will be colored hot pink.
+<h2 id="materials">
+ Materials
+</h2>
<p>
- The fixed set of colors is rather limited, more colors can be added by
- using the <i>common/entity_*</i> family of textures. The actual in-game
+ While the engine does support several image file formats, it does not
+ support textured models. Instead the model brushes will be rendered
+ using plain colors. The engine uses a material system similar to Quake 3 Arena
+ shader files, to provide an easy way to apply the different colors.
+</p><p>
+ The file <i>materials/shaderlist.txt</i> contains a list of shader files
+ that can be used by the engine. Each shader file can contain several materials.
+</p><p>
+ The default shaderlist.txt looks like this:
+</p>
+<pre>
+common
+colors
+</pre>
+<p>
+ On startup, the engine will read materials from the files <i>materials/common.shader</i>
+ and <i>materials/colors.shader</i>. If a model contains an unknown material,
+ a warning will be given and the brushes will be colored hot pink.
+</p><p>
+ In radiant, the materials can be used as normal textures, like you can with
+ Quake 3 Arena shaders. A number of default materials are already defined
+ and can be used out of the box.
+</p><p>
+ The materials in the <i>colors/</i> directory can be used to
+ draw brush faces with a specified color. The actual RGB color is defined
+ by the material script. Examples are <i>red</i>, <i>green</i> and <i>blue</i>.
+</p><p>
+ The default set of colors is rather limited, more colors can be added by
+ using the <i>common/</i> family of materials. The actual in-game
color information for these faces will be provided by the engine.
-<p>
- The special texture <i>common/entity</i> represents an object's primary color.
- In-game the faces with this texture will be drawn in the color that the entite has
- provided as the object's primary color. For example, for player-controled ships will
- have their owner's color as primary color.
-<p>
- Similar, the texture <i>common/entity_second</i> represents on object's secondary
- color. <i>common/entity_third</i> will be a mix of the primary and secondary color.
- Each of these textures also has a <i>_dark</i> variant.
-<p>
- You can also use two other special textures: as explained above,
- faces with the <i>common/caulk</i> texture will be ignored on load.
-<p>
- The <i>common/clip</i> texture is reserved for
- future use. At the moment they will be ignored as well.<p>
- At the time of writing, texture names are hardcoded
- in <i>src/model/map.cc</i>.
+</p><p>
+ The <i>common/entity</i> material represents an object's primary color.
+ In-game the faces with this texture will be drawn with the primary color of the entity
+ that uses the model. For example, a player's ship will have its owner's color.
+ Similar, the material <i>common/entity_second</i> represents the secondary
+ color of an entity. <i>common/entity_third</i> will be a mix of the primary and secondary color.
+ Each of these materials also has a <i>_dark</i> variant.
+</p><p>
+ There are two special material that will cause the brush faces to be ignored
+ by the engine: as explained above, the <i>common/caulk</i> material can be used
+ on hidden faces. The <i>common/clip</i> material is reserved for future use
+ brush faces using this texture will be ignored as well.
+</p>
-<h2 id="surface_flags">
- Surface flags
+<h2 id="shader_files">
+ Shader files
</h2>
<p>
- The only supported surface flag is light. This will render
- the brush face fullbright and can be used to create light-emiting objects
- or windows.
-
+ TODO: write a section on shader files.
+</p>
<h2 id="lights">
Lights
</h2>