public final class Compiler
extends java.lang.Object
compile(),
compile(MaterialShader)| Modifier and Type | Field and Description |
|---|---|
static ShaderPrecision |
C_P |
Block |
faceSide |
Block[] |
halfVectorsEyeFrag |
Block[] |
halfVectorsMvVert |
static java.lang.String |
LIGHT_ELSE |
static java.lang.String |
LIGHT_END |
Block[] |
lightsDirEye |
Block[] |
lightsDirMv |
Block[] |
lightsDirMvVert |
static java.lang.String |
MAX_NUM_LIGHTS |
static java.lang.String |
MORPH |
static java.lang.String |
MORPH_NRMTAN |
static java.lang.String |
MORPH_UV |
static java.lang.String |
MORPHTARGETS |
static java.lang.String |
MORPHTARGETS_NRMTAN |
static ShaderPrecision |
N_P |
Block |
nEyeFrag |
Block |
nMvVert |
Block |
normal |
static java.lang.String |
NUM_LIGHTS |
Block |
position |
Variable |
positionVar |
static java.lang.String |
SKIN |
static java.lang.String |
SKIN_NRMTAN |
Block |
tbn |
Block |
uv |
static ShaderPrecision |
UV_P |
Block |
uv3 |
Block |
uvSet2 |
Variable |
uvSet2Var |
Variable |
uvVar |
static ShaderPrecision |
V_P |
Block |
vEyeFrag |
Block |
vEyeMvVert |
Block |
vMvFrag |
Variable |
vMvVertVar |
static ShaderPrecision |
W_P |
| Constructor and Description |
|---|
Compiler(MaterialGraph materialGraph) |
Compiler(MaterialGraph materialGraph,
int shaderVersion) |
| Modifier and Type | Method and Description |
|---|---|
static void |
assignCodeWithScope(GraphNode node,
Block block,
CodeBlock code,
ShaderScope scope) |
Compiler |
compile()
Compile into GLSL shader code suitable for use with
MaterialShader |
void |
compile(MaterialShader compiledShader) |
Varying |
createVarying(ShaderType type,
ShaderPrecision precision,
int arrayLength) |
java.lang.String |
getFragmentShaderCode() |
int |
getGlslVersion() |
Variable |
getInputVariable(GraphNode node,
int inputIndex,
boolean optional) |
java.lang.String |
getInputVariableName(GraphNode node,
int inputIndex,
boolean optional) |
Variable |
getOrCreateOutputVariable(GraphNode node,
ShaderType type,
ShaderPrecision precision) |
Variable |
getOutputVariable(GraphNode node) |
java.lang.String |
getOutputVariableName(GraphNode node) |
java.lang.String |
getTexture2DUnit(Block block,
Map.MapType mapType) |
java.lang.String |
getTexture3DUnit(Block block,
Map.MapType mapType) |
Variable |
getVariable(Block block) |
Varying |
getVarying(ShaderIn attribute,
ShaderType type,
ShaderPrecision precision,
int arrayLength) |
java.lang.String |
getVertexShaderCode() |
java.lang.String |
impliciteConversion(ShaderType to,
Variable from) |
boolean |
isGenType(Variable variable) |
static java.lang.String |
LIGHT_START(int lightIndex) |
void |
registerLight(int lightIndex) |
java.lang.String |
texture2DFunc() |
java.lang.String |
textureCubeFunc() |
public static final ShaderPrecision V_P
public static final ShaderPrecision N_P
public static final ShaderPrecision UV_P
public static final ShaderPrecision W_P
public static final ShaderPrecision C_P
public static final java.lang.String SKIN
public static final java.lang.String SKIN_NRMTAN
public static final java.lang.String MORPH
public static final java.lang.String MORPH_UV
public static final java.lang.String MORPH_NRMTAN
public static final java.lang.String MORPHTARGETS
public static final java.lang.String MORPHTARGETS_NRMTAN
public static final java.lang.String MAX_NUM_LIGHTS
public static final java.lang.String NUM_LIGHTS
public static final java.lang.String LIGHT_ELSE
public static final java.lang.String LIGHT_END
public final Variable positionVar
public final Variable vMvVertVar
public final Variable uvVar
public final Variable uvSet2Var
public final Block position
public final Block normal
public final Block tbn
public final Block vEyeMvVert
public final Block vEyeFrag
public final Block vMvFrag
public final Block nMvVert
public final Block nEyeFrag
public final Block faceSide
public final Block uv
public final Block uv3
public final Block uvSet2
public final Block[] lightsDirMvVert
public final Block[] lightsDirMv
public final Block[] lightsDirEye
public final Block[] halfVectorsMvVert
public final Block[] halfVectorsEyeFrag
public Compiler(MaterialGraph materialGraph)
materialGraph - MaterialGraph to compile into GLSL shader codecompile()public Compiler(MaterialGraph materialGraph, int shaderVersion)
materialGraph - MaterialGraph to compile into GLSL shader codeshaderVersion - GLSL version targeted (version numbering as defined by
#version of the GLSL spec), or -1 for defaultCompiler may increase the version number depending
on the MaterialGraph requirements. However, at time of writing, none
of the build-in GraphNode will requires more than the default GLSL version 110.compile()public static final java.lang.String LIGHT_START(int lightIndex)
public final Compiler compile() throws CompilerException
MaterialShaderCompilerExceptiongetVertexShaderCode(),
getFragmentShaderCode()public final void compile(MaterialShader compiledShader) throws CompilerException
compiledShader - compiledShaderCompilerExceptioncompile(),
MaterialShaderpublic final java.lang.String getVertexShaderCode()
public final java.lang.String getFragmentShaderCode()
public int getGlslVersion()
public java.lang.String texture2DFunc()
public java.lang.String textureCubeFunc()
public final java.lang.String getInputVariableName(GraphNode node, int inputIndex, boolean optional)
public final java.lang.String getOutputVariableName(GraphNode node)
public final Variable getInputVariable(GraphNode node, int inputIndex, boolean optional)
public final Variable getOrCreateOutputVariable(GraphNode node, ShaderType type, ShaderPrecision precision)
public final void registerLight(int lightIndex)
public final Varying getVarying(ShaderIn attribute, ShaderType type, ShaderPrecision precision, int arrayLength)
public final Varying createVarying(ShaderType type, ShaderPrecision precision, int arrayLength)
public final java.lang.String getTexture2DUnit(Block block, Map.MapType mapType)
public final java.lang.String getTexture3DUnit(Block block, Map.MapType mapType)
public final java.lang.String impliciteConversion(ShaderType to, Variable from)
public final boolean isGenType(Variable variable)
public static final void assignCodeWithScope(GraphNode node, Block block, CodeBlock code, ShaderScope scope)
Bonzai Engine 1.3.4 11/12/2015 - A Java OpenGL engine and tools for Windows/Mac/Linux/Android
Copyright © 2007-2015 Jérôme Jouvie bonzaiengine.com contact@bonzaiengine.com