Merge branch 'master' of git.gitorious.org:fg/fgdata
This commit is contained in:
commit
0b49cd942c
1 changed files with 53 additions and 29 deletions
|
@ -19,7 +19,7 @@ parameters for shader programs. The names of properties in the
|
||||||
parameter section can be whatever the effects author chooses, although
|
parameter section can be whatever the effects author chooses, although
|
||||||
some standard parameters are set by FlightGear itself. On the other
|
some standard parameters are set by FlightGear itself. On the other
|
||||||
hand, the properties in the techniques section are all defined by the
|
hand, the properties in the techniques section are all defined by the
|
||||||
FlightGear.
|
FlightGear.
|
||||||
|
|
||||||
Techniques
|
Techniques
|
||||||
----------
|
----------
|
||||||
|
@ -35,7 +35,7 @@ and, or, equal, less, less-equal
|
||||||
glversion - returns the version number of OpenGL
|
glversion - returns the version number of OpenGL
|
||||||
extension-supported - returns true if an OpenGL extension is supported
|
extension-supported - returns true if an OpenGL extension is supported
|
||||||
property - returns the boolean value of a property
|
property - returns the boolean value of a property
|
||||||
float-property - returns the float value of a property, useful inside equal, less
|
float-property - returns the float value of a property, useful inside equal, less
|
||||||
or less-equal nodes
|
or less-equal nodes
|
||||||
shader-language - returns the version of GLSL supported, or 0 if there is none.
|
shader-language - returns the version of GLSL supported, or 0 if there is none.
|
||||||
|
|
||||||
|
@ -50,7 +50,7 @@ The proper way to test whether to enable a shader-based technique is:
|
||||||
</and>
|
</and>
|
||||||
</predicate>
|
</predicate>
|
||||||
|
|
||||||
There is also a property set by the user to indicate what is the level
|
There is also a property set by the user to indicate what is the level
|
||||||
of quality desired. This level of quality can be checked in the predicate
|
of quality desired. This level of quality can be checked in the predicate
|
||||||
like this :
|
like this :
|
||||||
<predicate>
|
<predicate>
|
||||||
|
@ -63,7 +63,7 @@ like this :
|
||||||
<!-- other predicate conditions -->
|
<!-- other predicate conditions -->
|
||||||
</and>
|
</and>
|
||||||
</predicate>
|
</predicate>
|
||||||
|
|
||||||
The range of /sim/rendering/quality-level is [0..5]
|
The range of /sim/rendering/quality-level is [0..5]
|
||||||
* 2.0 is the threshold for relief mapping effects,
|
* 2.0 is the threshold for relief mapping effects,
|
||||||
* 4.0 is the threshold for geometry shader usage.
|
* 4.0 is the threshold for geometry shader usage.
|
||||||
|
@ -143,8 +143,8 @@ The following attributes are currently implemented in techiques:
|
||||||
alpha-test - children: active, comparison, reference
|
alpha-test - children: active, comparison, reference
|
||||||
Valid values for comparision:
|
Valid values for comparision:
|
||||||
never, less, equal, lequal, greater, notequal, gequal,
|
never, less, equal, lequal, greater, notequal, gequal,
|
||||||
always
|
always
|
||||||
|
|
||||||
alpha-to-coverage - true, false
|
alpha-to-coverage - true, false
|
||||||
|
|
||||||
blend - children: active, source, destination, source-rgb,
|
blend - children: active, source, destination, source-rgb,
|
||||||
|
@ -176,7 +176,7 @@ program
|
||||||
attribute
|
attribute
|
||||||
geometry-vertices-out - integer, max number of vertices emitted by geometry
|
geometry-vertices-out - integer, max number of vertices emitted by geometry
|
||||||
shader
|
shader
|
||||||
geometry-input-type - points, lines, lines-adjacency, triangles,
|
geometry-input-type - points, lines, lines-adjacency, triangles,
|
||||||
triangles-adjacency
|
triangles-adjacency
|
||||||
geometry-output-type - points, line-strip, triangle-strip
|
geometry-output-type - points, line-strip, triangle-strip
|
||||||
|
|
||||||
|
@ -188,21 +188,45 @@ shade-model - flat, smooth
|
||||||
|
|
||||||
texture-unit - has several child properties:
|
texture-unit - has several child properties:
|
||||||
unit - The number of an OpenGL texture unit
|
unit - The number of an OpenGL texture unit
|
||||||
type - This is either an OpenGL texture type or the name of a
|
point-sprite - true, false - Whether this should rendered as a point-sprite
|
||||||
|
type - This is either an OpenGL texture type or the name of a
|
||||||
builtin texture. Currently supported OpenGL types are 1d, 2d,
|
builtin texture. Currently supported OpenGL types are 1d, 2d,
|
||||||
3d which have the following common parameters:
|
3d which have the following common parameters:
|
||||||
image (file name)
|
image (file name)
|
||||||
filter
|
filter - nearest, linear, [nearest|linear]-mipmap-[nearest|linear]
|
||||||
mag-filter
|
mag-filter - nearest, linear, [nearest|linear]-mipmap-[nearest|linear]
|
||||||
wrap-s
|
wrap-s - clamp, clamp-to-border, clamp-to-edge, mirror, repeat
|
||||||
wrap-t
|
wrap-t - clamp, clamp-to-border, clamp-to-edge, mirror, repeat
|
||||||
wrap-r
|
wrap-r - clamp, clamp-to-border, clamp-to-edge, mirror, repeat
|
||||||
|
mipmap-control - control the mipmap on a per-channel basis. Children:
|
||||||
|
function-r - auto, average, sum, product, min, max
|
||||||
|
function-g - auto, average, sum, product, min, max
|
||||||
|
function-b - auto, average, sum, product, min, max
|
||||||
|
function-a - auto, average, sum, product, min, max
|
||||||
|
|
||||||
The following built-in types are supported:
|
The following built-in types are supported:
|
||||||
white - 1 pixel white texture
|
white - 1 pixel white texture
|
||||||
noise - a 3d noise texture
|
noise - a 3d noise texture. (size parameter defines size of texture)
|
||||||
environment
|
light-sprite - a procedurally generated sprite suitable for point lights
|
||||||
mode
|
cubemap - build a cube-map. Children:
|
||||||
color
|
images - build from 6 images. Children: [positive|negative]-[x|y|z]
|
||||||
|
image - build from a single cross-image
|
||||||
|
|
||||||
|
environment
|
||||||
|
mode - add, blend, decal, modulate, replace
|
||||||
|
color
|
||||||
|
|
||||||
|
texenv-combine
|
||||||
|
combine-[rgb|alpha] - replace, modulate, add, add-signed, interpolate, subtract, dot3-rgb, dot3-rgba
|
||||||
|
source[0|1|2]-[rgb|alpha] - constant, primary_color, previous, texture, texture[0-7]
|
||||||
|
operand[0|1|2]-[rgb|alpha] -src-color, one-minus-src-color, src-alpha, one-minus-src-alpha
|
||||||
|
scale-[rgb|alpha]
|
||||||
|
constant-color
|
||||||
|
|
||||||
|
texgen
|
||||||
|
mode - object-linear, eye-linear, sphere-map, normal-map, reflection-map
|
||||||
|
planes - s, t, r, q
|
||||||
|
|
||||||
uniform
|
uniform
|
||||||
name
|
name
|
||||||
type - float, float-vec3, float-vec4, sampler-1d, sampler-2d,
|
type - float, float-vec3, float-vec4, sampler-1d, sampler-2d,
|
||||||
|
@ -240,10 +264,10 @@ parameters section.
|
||||||
Generate
|
Generate
|
||||||
--------
|
--------
|
||||||
|
|
||||||
Often shader effects need tangent vectors to work properly. These
|
Often shader effects need tangent vectors to work properly. These
|
||||||
tangent vectors, usually called tangent and binormal, are computed
|
tangent vectors, usually called tangent and binormal, are computed
|
||||||
on the CPU and given to the shader as vertex attributes. These
|
on the CPU and given to the shader as vertex attributes. These
|
||||||
vectors are computed on demand on the geometry using the effect if
|
vectors are computed on demand on the geometry using the effect if
|
||||||
the 'generate' clause is present in the effect file. Exemple :
|
the 'generate' clause is present in the effect file. Exemple :
|
||||||
|
|
||||||
<generate>
|
<generate>
|
||||||
|
@ -253,12 +277,12 @@ the 'generate' clause is present in the effect file. Exemple :
|
||||||
</generate>
|
</generate>
|
||||||
|
|
||||||
Valid subnodes of 'generate' are 'tangent', 'binormal' or 'normal'.
|
Valid subnodes of 'generate' are 'tangent', 'binormal' or 'normal'.
|
||||||
The integer value of these subnode is the index of the attribute
|
The integer value of these subnode is the index of the attribute
|
||||||
that will hold the value of the vec3 vector.
|
that will hold the value of the vec3 vector.
|
||||||
|
|
||||||
The generate clause is located under PropertyList in the xml file.
|
The generate clause is located under PropertyList in the xml file.
|
||||||
|
|
||||||
In order to be available for the vertex shader, these data should
|
In order to be available for the vertex shader, these data should
|
||||||
be bound to an attribute in the program clause, like this :
|
be bound to an attribute in the program clause, like this :
|
||||||
|
|
||||||
<program>
|
<program>
|
||||||
|
@ -273,9 +297,9 @@ be bound to an attribute in the program clause, like this :
|
||||||
</attribute>
|
</attribute>
|
||||||
</program>
|
</program>
|
||||||
|
|
||||||
attribute names are whatever the shader use. The index is the one
|
attribute names are whatever the shader use. The index is the one
|
||||||
declared in the 'generate' clause. So because generate/tangent has
|
declared in the 'generate' clause. So because generate/tangent has
|
||||||
value 6 and my_tangent_attribute has index 6, my_tangent_attribute
|
value 6 and my_tangent_attribute has index 6, my_tangent_attribute
|
||||||
holds the tangent value for the vertex.
|
holds the tangent value for the vertex.
|
||||||
|
|
||||||
Default Effects in Terrain Materials and Models
|
Default Effects in Terrain Materials and Models
|
||||||
|
@ -297,7 +321,7 @@ with parameters extracted from OSG objects; this effect inherits, by
|
||||||
default, from Effects/model-default.eff. A larger set of parameters is
|
default, from Effects/model-default.eff. A larger set of parameters is
|
||||||
created for model effects than for terrain because there is more
|
created for model effects than for terrain because there is more
|
||||||
variation possible from the OSG model loaders than from the terrain
|
variation possible from the OSG model loaders than from the terrain
|
||||||
system. The parameters created are:
|
system. The parameters created are:
|
||||||
|
|
||||||
* material active, ambient, diffuse, specular, emissive,
|
* material active, ambient, diffuse, specular, emissive,
|
||||||
shininess, color mode
|
shininess, color mode
|
||||||
|
@ -343,7 +367,7 @@ apply. The effect does not need the file extension.
|
||||||
|
|
||||||
NOTE:
|
NOTE:
|
||||||
|
|
||||||
Chrome, although now implemented as an effect, still retains the old method of
|
Chrome, although now implemented as an effect, still retains the old method of
|
||||||
application:
|
application:
|
||||||
|
|
||||||
<animation>
|
<animation>
|
||||||
|
|
Loading…
Add table
Reference in a new issue