Constructor
new L3D.Shader()
Shader:
Shader ["name"] { [Properties*] [Flags*] [Script] [Macro*] [Tags] [Pass*] [Vertex*] [Fragment*] }
Name: "String"
Properties:
Properties { [Property*] }
Property:
Name (DisplayName, Type) = Value
Name ("DisplayName", Boolean) = Number
Name ("DisplayName", Float) = Number
Name ("DisplayName", Int) = Number
Name ("DisplayName", Range(Min, Max)) = Number
Name ("DisplayName", Enum(string [, string]*)) = Number
Name ("DisplayName", Color) = (Number, Number, Number)
Name ("DisplayName", Vector) = (Number, Number, Number)
Name ("DisplayName", 2D) = "default_texture"
Name ("DisplayName", Cube) = "default_texture"
Name ("DisplayName", 3D) = "default_texture"
Flags:
Flags { [Flag*] }
Flag:
Name ("DisplayName", Boolean) = Number
Name ("DisplayName", Int) = Number
Name ("DisplayName", Range(Min, Max)) = Number
Name ("DisplayName", Enum(string [, string]*)) = Number
Script:
Script ["name"] { JAVASCRIPT Code }
Macro:
Macro "name" { GLSL Code }
Pass:
Pass ["name"] { [Tag*] [Vertex*] [Fragment*] }
Tags:
Tags { [Tag*] }
Tag:
name value
Vertex:
Vertex { GLSL Code }
Fragment:
Fragment { GLSL Code }
GLSL code can have the following directives:
#include "path"
#define name value
#shaderblock "name"
#event "name"
Extends
Properties
The shader code.
- Overrides:
Get the filename of the asset.
The shader flags.
Functions are compiled scripts.
- Overrides:
The unique identifier of the object. Changing a node's ID can have unintended consequences.
- Overrides:
True if the asset has finished loading.
- Overrides:
True if the asset is in the process of loading.
- Overrides:
True if the asset does not have an error.
Macros are glsl code blocks that can be expanded into other glsl code blocks.
- Overrides:
The shader name.
- Overrides:
Emitted when there was an error loaading the asset.
- Overrides:
Emitted when the asset has finished loading.
- Overrides:
Emitted when the asset has started loading.
- Overrides:
Fired when the object has been modified.
- Overrides:
Fired when the object's name changes.
- Overrides:
Emitted when the state of the asset has changed.
- Overrides:
Emitted when the assets data has been updated.
The render passes implemented by this shader.
- Overrides:
The URL of the asset.
The shader properties
The shader scripts.
- Overrides:
Inidicates whether the asset is Unloaded, Loading, Loaded, or Error. The onStateChange signal will be emitted when the state's value changes.
Methods
clone(options) → Object
- Overrides:
Creates a clone of this object.
options |
Object | Options for the clone method. |
- Object
configure(o)
- Overrides:
Configure the shader.
o |
Object |
destroy()
- Overrides:
Destroy any render assets created by the asset.
getPropertyInfo(path) → Object
- Overrides:
Get information about a particular property of this object.
path |
String |
- Object
getRenderAsset(gl) → RenderAsset
- Overrides:
Get a RenderAsset for this asset. If a RenderAsset hadn't been requested for the given GLContext yet, a new one will be created. Otherwise the previous one will be updated and returned.
A RenderAsset is the WebGL version of the asset, such as the GLTexture for an Texture asset. Because the editor has multiple GLContexts, RenderAssets are generated for each GLContext that requires it.
gl |
GLContext |
getRenderShader(renderAsset, passName, blockFlags, shaderFlags, textures, macros)
Get the final compiled shader variant to use for rendering.
renderAsset |
RenderAsset | The Shader's RenderAsset to use. |
|
passName |
String |
"default"
|
The render pass of the shader to get. |
blockFlags |
number | ||
shaderFlags |
number | ||
textures |
Array | ||
macros |
String |
serialize() → Object
- Overrides:
Serialize the object to a JSON structure.
- Object
The serialized version of the object.
setModified()
- Overrides:
Fires the objects onModified signal.
toJSON() → Object
- Overrides:
Serialize the object to a JSON structure
- Object
The serialized version of the object.
updateRenderAsset(renderAsset)
- Overrides:
Update the given RenderAsset.
renderAsset |
RenderAsset | The RenderAsset to update. |