-
-
Notifications
You must be signed in to change notification settings - Fork 370
GlslViewer DEFINES
Beside the defines you can pass as an argument using -D[define] you can relay on the following native defines automatically generated for you.
-
GLSLVIEWER <GLSLVIEWER_VERSION_WOUT_DOTS>: you can use it to tell your shader it's being render in GlslViewer.
Depending on the platform
-
PLATFORM_OSX: added only on MacOS/OSX platforms. -
PLATFORM_RPI: added only only on RaspberryPi devices. -
PLATFORM_LINUX: added only in i86 and 64bit Linux platforms.
The following defines fork and reuse the same shader program in different passes
-
BACKGROUND: added a background subshader when rendering a 3D geometry. -
FLOOR: add a floor geometry and fork the behavior of the shader to render the floor using it -
BUFFER_[NUMBER]: added extra buffer passes trough branching subshader. Each one renders touniform sampler2D u_buffer[NUMBER];. (Read more about it in the next section) -
POSTPROCESSING: added a post-processing pass where the main scene have been render touniform sampler2D u_scene;.
Depending on the geometry:
-
MODEL_NAME_<NAME>: only OBJ file import a name. Default isMODEL_NAME_MESH -
MODEL_VERTEX_COLOR: if the model have a vertex color attribute will be follow by the name of the attribute (Default:a_color) -
MODEL_VERTEX_NORMAL: if the model have a vertex normal attribute will be follow by the name of the attribute (Default:a_normal`) -
MODEL_VERTEX_TEXCOORD: if the model have a vertex normal attribute will be follow by the name of the attribute (Default:a_texcoord) -
MODEL_VERTEX_TANGENT: if the model have a vertex normal attribute will be follow by the name of the attribute (Default:a_tangent)
Depending on the material (only OBJ import materials):
-
MATERIAL_NAME_[NAME]: only OBJ file import a name. Default isMATERIAL_NAME_DEFAULT -
MATERIAL_ILLUM: integer between 0 to 10. Specs from here
0 Color on and Ambient off
1 Color on and Ambient on
2 Highlight on
3 Reflection on and Ray trace on
4 Transparency: Glass on
Reflection: Ray trace on
5 Reflection: Fresnel on and Ray trace on
6 Transparency: Refraction on
Reflection: Fresnel off and Ray trace on
7 Transparency: Refraction on
Reflection: Fresnel on and Ray trace on
8 Reflection on and Ray trace off
9 Transparency: Glass on
Reflection: Ray trace off
10 Casts shadows onto invisible surfaces
-
MATERIAL_AMBIENT: the color asvec3 -
MATERIAL_AMBIENTMAP: the name of asamplerd2D -
MATERIAL_BASECOLOR: a color asvec3 -
MATERIAL_BASECOLORMAP: the name of asamplerd2D -
MATERIAL_SPECULAR: a color asvec3 -
MATERIAL_SPECULARMAP: the name of asamplerd2D -
MATERIAL_ROUGHNESS: a normalize float value -
MATERIAL_ROUGHNESSMAP: the name of asamplerd2D -
MATERIAL_METALLIC: a normalize float value -
MATERIAL_METALLICMAP: the name of asamplerd2D -
MATERIAL_SHININESS: a scallar factor for speculars -
MATERIAL_SHEEN: a normalize float value -
MATERIAL_SHEENMAP: the name of asamplerd2D -
MATERIAL_SPECULAR_HIGHLIGHTMAP: the name of asamplerd2D -
MATERIAL_REFLECTIONMAP: the name of asamplerd2D -
MATERIAL_CLEARCOAT_THICKNESS: a normalize float value -
MATERIAL_CLEARCOAT_ROUGHNESS: a normalize float value -
MATERIAL_ANISOTROPY: a normalize float value -
MATERIAL_ANISOTROPY_ROTATION: float value -
MATERIAL_EMISSIVE: a color asvec3 -
MATERIAL_EMISSIVEMAP: the name of asamplerd2D -
MATERIAL_NORMALMAP: the name of asamplerd2D -
MATERIAL_BUMPMAP: the name of asamplerd2D -
MATERIAL_DISPLACEMENTMAP: the name of asamplerd2D -
MATERIAL_ALPHAMAP: the name of asamplerd2D -
MATERIAL_TRANSMITTANCE: a color asvec3 -
MATERIAL_DISSOLVE: a normalize float value -
MATERIAL_IOR: a normalize float value