Function Timeline
The function timeline is a default tab of the Modular Shader Debugger that shows the functions flow inside a modular shader, divided by root keyword.
The is composed of the following areas:
- The timeline in the central area
- Selected function information
- Module information of the selected function
- Function's template code view
Timeline
The main timeline shows the order in which each function will be placed inside the selected root keyword.
The order reflects the order in which the functions will be called in the shader, from left to right.
If multiple function elements have some overlap it means that there is a direct dependency between them, with the smaller one usually being the one that has the AppendAfter
value set to the bigger one, this information can be shown by looking at the function's information after selecting the element.
You can select which timeline to show by selecting the root you want to see in the dropdown above the timeline.
Timeline element
A single element contains the name of the function on the left, and it's queue on the right (the queue is always relative to its parent AppendAfter
)
The selected element will have a cyan border, elements with a yellow borders indicate a function that contains the variable selected in the Selected Function information
area, and elements with a red border indicate a function that contains the variable selected in the Variables List
area.
Variables List
This area shows a list containing all the variables available in the modular shader.
Selecting a variable will show which functions in the timeline use that variable, giving you the possibility to check where it's used and for what.
Selected function information
This area shows informations relative to the function, such as the name, queue, and where it's appended.
It also shows its variables and in which keywords variables and implementation are put on.
Selecting a variable will show which other functions in the timeline use the same variable, giving you the possibility to check where it's used and for what.
Function's module base info
This area shows some basic informations about the module where the selected function is defines, and give you a quick way to select the module asset for further inspection if needed.
Function code template
This area shows the template containing the implementation of the selected function.