Howto:Shader programming in FlightGear: Difference between revisions

Jump to navigation Jump to search
m
→‎Effects file: added link to new page
(Switch to {{fg root file}} to fix the broken Gitorious link.)
m (→‎Effects file: added link to new page)
(2 intermediate revisions by one other user not shown)
Line 67: Line 67:


User defined functions are supported, and a wide variety of commonly used functions are provided built-in as well. This allows the graphics card manufacturer the ability to optimize these built-in functions at the hardware level if they are inclined to do so. Many of these functions are similar to those found in the math library of the C programming language such as <code>exp()</code> and <code>abs()</code> while others are specific to graphics programming such as <code>smoothstep()</code> and <code>texture2D()</code>.
User defined functions are supported, and a wide variety of commonly used functions are provided built-in as well. This allows the graphics card manufacturer the ability to optimize these built-in functions at the hardware level if they are inclined to do so. Many of these functions are similar to those found in the math library of the C programming language such as <code>exp()</code> and <code>abs()</code> while others are specific to graphics programming such as <code>smoothstep()</code> and <code>texture2D()</code>.
== Error Reports, Debugging, Troubleshooting ==
Shaders are compiled at FG startup.
Shader compilation errors can be found in the fgfs.log file.  More about the [[Commonly_used_debugging_tools#fgfs.log|fgfs.log here]].
As of FG 2016.4.4, shaders do not seem to recompile upon Debug/Reload Aircraft Model or File/Reset. So the only option to re-compile/test a shader is to quit a re-start FG altogether.


== Shader types ==
== Shader types ==
Line 435: Line 443:
=== Effects file ===
=== Effects file ===
The effects file is the mechanism we use to combine and manipulate all the necessary data to create stunning visual effects. It's the link between the data contained and produced in Nasal, XML and the property tree and the graphics rendering pipeline. It's there to allow us to create these affects without having to know or use the C++ code base. Its flexible framework allows for an almost infinite range of sophisticated effects.
The effects file is the mechanism we use to combine and manipulate all the necessary data to create stunning visual effects. It's the link between the data contained and produced in Nasal, XML and the property tree and the graphics rendering pipeline. It's there to allow us to create these affects without having to know or use the C++ code base. Its flexible framework allows for an almost infinite range of sophisticated effects.
See this page for more details: [[Effect Framework]]


==== Parameters ====
==== Parameters ====
574

edits

Navigation menu