public final class Compiler
extends java.lang.Object
compile(),
compile(MaterialShader)| 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) |
static java.lang.String |
CLIP_PLANE_START(int planeIndex) |
Compiler |
compile()
Compile into GLSL shader code suitable for use with
MaterialShader |
void |
compile(MaterialShader compiledShader) |
Varying |
createVarying(ShaderType type,
ShaderPrecision precision,
int arrayLength) |
protected java.lang.String |
createVaryingName() |
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) |
protected Variable |
getOrCreateVariable(Block block,
ShaderType type,
ShaderPrecision precision) |
protected Varying |
getOrCreateVarying(java.lang.String name,
ShaderType type,
ShaderPrecision precision,
int arrayLength) |
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) |
protected boolean |
isBlockActif(Block block) |
boolean |
isGenType(Variable variable) |
static java.lang.String |
LIGHT_START(int lightIndex) |
void |
registerClippingPlane(int clipPlaneIndex) |
void |
registerLight(int lightIndex) |
protected Varying |
setVarying(java.lang.String name,
ShaderType type,
ShaderPrecision precision,
int arrayLength) |
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 static final java.lang.String MAX_NUM_CLIP_PLANES
public static final java.lang.String NUM_CLIP_PLANES
public static final java.lang.String CLIP_PLANE_ELSE
public static final java.lang.String CLIP_PLANE_END
public final Variable positionVar
protected final Variable normalVar
protected final Variable tangentVar
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 static final java.lang.String CLIP_PLANE_START(int planeIndex)
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()
protected final boolean isBlockActif(Block block)
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)
protected final Variable getOrCreateVariable(Block block, ShaderType type, ShaderPrecision precision)
public final Variable getOrCreateOutputVariable(GraphNode node, ShaderType type, ShaderPrecision precision)
public final void registerLight(int lightIndex)
public final void registerClippingPlane(int clipPlaneIndex)
public final Varying getVarying(ShaderIn attribute, ShaderType type, ShaderPrecision precision, int arrayLength)
public final Varying createVarying(ShaderType type, ShaderPrecision precision, int arrayLength)
protected final java.lang.String createVaryingName()
protected final Varying setVarying(java.lang.String name, ShaderType type, ShaderPrecision precision, int arrayLength)
protected final Varying getOrCreateVarying(java.lang.String name, 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.4.1-20200831 - A Java OpenGL engine and tools for Windows/Mac/Linux/Android
Copyright © 2007-2019 Jérôme Jouvie bonzaiengine.com contact@bonzaiengine.com