public abstract class Shader extends NodeComponent
Each instance of a Shader object allows an application to specify the source code used in programming the Graphics Pipeline Unit (GPU) of the graphics accelerator. A Shader object is constructed with modes that specify the shading language and the shader type.
The shading language specifies the language and runtime environment
used to program the GPU. The currently defined shading languages
are GLSL (also known as the OpenGL 2.0 shading language) and
Cg. Note that not all shading languages are supported on all
platforms. It is up to the application or utility to query whether
a particular shading language is supported before using it. The
value of the shadingLanguage
mode is one of:
SHADING_LANGUAGE_GLSL
or
SHADING_LANGUAGE_CG
.
The shader type specifies whether the shader is a vertex
shader or a fragment shader. A vertex shader replaces
the fixed-function graphics pipeline for vertex operations
(transformation and lighting). A fragment shader replaces the
fixed-function graphics pipeline for fragment shading operations
(texture mapping, texture application, coloring, shading, and so
forth). The value of the shaderType
mode is one of:
SHADER_TYPE_VERTEX
or
SHADER_TYPE_FRAGMENT
.
Both the shading language and shader type are immutable modes of the Shader object.
NOTE: Applications should not extend this class.
ShaderProgram
,
Canvas3D.isShadingLanguageSupported(int)
Modifier and Type | Field and Description |
---|---|
static int |
SHADER_TYPE_FRAGMENT
This constant indicates that the shader type is a fragment
shader.
|
static int |
SHADER_TYPE_VERTEX
This constant indicates that the shader type is a vertex
shader.
|
static int |
SHADING_LANGUAGE_CG
This constant indicates the Cg shading language.
|
static int |
SHADING_LANGUAGE_GLSL
This constant indicates the GLSL shading language.
|
Modifier and Type | Method and Description |
---|---|
int |
getShaderType()
Returns the type of this shader.
|
int |
getShadingLanguage()
Returns the shading language of this shader.
|
cloneNodeComponent, cloneNodeComponent, duplicateNodeComponent, duplicateNodeComponent, getDuplicateOnCloneTree, setDuplicateOnCloneTree
clearCapability, clearCapabilityIsFrequent, duplicateSceneGraphObject, getCapability, getCapabilityIsFrequent, getName, getUserData, isCompiled, isLive, setCapability, setCapabilityIsFrequent, setName, setUserData, toString, updateNodeReferences
public static final int SHADING_LANGUAGE_GLSL
public static final int SHADING_LANGUAGE_CG
public static final int SHADER_TYPE_VERTEX
public static final int SHADER_TYPE_FRAGMENT
public int getShadingLanguage()
SHADING_LANGUAGE_GLSL
or
SHADING_LANGUAGE_CG
.public int getShaderType()
SHADER_TYPE_VERTEX
or
SHADER_TYPE_FRAGMENT
.Copyright © 2016–2022 SciJava. All rights reserved.