Hi fellow wiki editors!

To help newly registered users get more familiar with the wiki (and maybe older users too) there is now a {{Welcome to the wiki}} template. Have a look at it and feel free to add it to new users discussion pages (and perhaps your own).

I have tried to keep the template short, but meaningful. /Johan G

Difference between revisions of "Shader Coding - Best Practices"

From FlightGear wiki
Jump to: navigation, search
(Fragment Shaders)
(Fragment Shaders)
Line 20: Line 20:
 
</syntaxhighlight>
 
</syntaxhighlight>
 
}}
 
}}
 +
 +
{{Note|If the fragment isn't running, there should be an error message in the log file (I wish they'd still be written to the console). Might be that the texture isn't defined in the supporting framework for instance - the shader assumed that it is available, but you need to declare it in the matching C++ code/effect file first.}}
  
 
{{Note|This is how you can make a pixel darker:
 
{{Note|This is how you can make a pixel darker:

Revision as of 08:22, 22 February 2014

WIP.png Work in progress
This article or section will be worked on in the upcoming hours or days.
Note: Will be based on: http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg35934.html
See history for the latest developments.

Vertex Shaders

Note  For testing purposes, you can use a simple pass-through vertex shader:
#version 120
void main(void) {
        gl_Position = ftransform();
}


Fragment Shaders

Note  To check if your shader is working, add this as the last line, it should turn all pixels black:
gl_FragColor = vec4 (0.0,0.0,0.0,1.0);
Note  If the fragment isn't running, there should be an error message in the log file (I wish they'd still be written to the console). Might be that the texture isn't defined in the supporting framework for instance - the shader assumed that it is available, but you need to declare it in the matching C++ code/effect file first.
Note  This is how you can make a pixel darker:
gl_FragColor = color * 0.5;