354
edits
mNo edit summary  | 
				No edit summary  | 
				||
| Line 184: | Line 184: | ||
</syntaxhighlight>  | </syntaxhighlight>  | ||
* Unlike in Rembrandt, polygons facing the Sun are the ones used to generate the shadow map, so single sided surfaces and non-closed objects should be rendered correctly.  | * Unlike in Rembrandt, polygons facing the Sun are the ones used to generate the shadow map, so single sided surfaces and non-closed objects should be rendered correctly.  | ||
== Porting and developing Effects ==  | |||
Effects can now have different implementations depending on the Compositor pipeline being used. For example, a grass Effect implemented in the ALS pipeline might have much more detail than the one in the low-spec pipeline. Still, they both implement the "look" of grass, so they share the same Effect file (grass.eff).  | |||
The Compositor chooses which implementation of an Effect to render based on the <tt><scheme></tt> of the techniques.  | |||
<syntaxhighlight lang="xml">  | |||
<technique n="15">  | |||
  <scheme>als-lighting</scheme>  | |||
  [...]  | |||
</technique>  | |||
</syntaxhighlight>  | |||
In this case the technique will be chosen if the Compositor pipeline <tt><scene></tt> pass uses the <tt>als-lighting</tt> Effect scheme. Consequently, porting an Effect to a pipeline will require knowing which Effect schemes it uses and writing a technique for each one. The only exception to this is the Default (Low-Spec) pipeline, which uses techniques without any scheme defined for it.  | |||
Generally porting legacy Effects will require these steps:  | |||
* Remove <tt>/sim/rendering/shaders/skydome</tt> from the ALS techniques and add the <tt>als-lighting</tt> scheme.  | |||
* Remove Rembrandt techniques.  | |||
* Use technique numbers from 0 to 9 for the Default pipeline techniques and 10 to 19 for the ALS pipeline.  | |||
* Move the shaders to their correct directory. Now the <tt>$FG_ROOT/Shaders</tt> directory is subdivided into different folders for each pipeline. For example, shaders related to the ALS pipeline are located in <tt>$FG_ROOT/Shaders/ALS</tt>.  | |||
To add features specific to a particular pipeline (like shadows in the ALS pipeline), see each pipeline's documentation below.  | |||
== Pipelines ==  | == Pipelines ==  | ||
edits