Package icyllis.arc3d.granite
Class ShaderCodeSource
java.lang.Object
icyllis.arc3d.granite.ShaderCodeSource
Manage all the fragment shader code snippets, used by Granite renderer.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final StringApply one of 42 blend modes.static final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final StringPublic blend functions, these are pure functions.static final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final StringThis can produce undefined results fromBlendMode.blend_divide(float[], float[], float[])if values out of range.static final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final String -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic voidemitDefinitions(FragmentNode[] nodes, IdentityHashMap<String, String> added, Formatter code) findStage(int stageId) static StringgetMangledName(String baseName, int manglingSuffix) static Stringinvoke_child(FragmentNode child, String localCoords, String priorStageOutput, String blenderDstColor, FragmentNode outputNode, String outputBaseName, byte outputType, Formatter code) static Stringinvoke_node(FragmentNode node, String localCoords, String priorStageOutput, String blenderDstColor, Formatter code)
-
Field Details
-
ARC_ERROR
- See Also:
-
ARC_PASSTHROUGH
- See Also:
-
ARC_SOLID_COLOR
- See Also:
-
ARC_RGB_OPAQUE
- See Also:
-
ARC_ALPHA_ONLY
- See Also:
-
ARC_COLOR_SPACE_TRANSFORM
- See Also:
-
ARC_LINEAR_GRAD_4_SHADER
- See Also:
-
ARC_LINEAR_GRAD_8_SHADER
- See Also:
-
ARC_RADIAL_GRAD_4_SHADER
- See Also:
-
ARC_RADIAL_GRAD_8_SHADER
- See Also:
-
ARC_ANGULAR_GRAD_4_SHADER
- See Also:
-
ARC_ANGULAR_GRAD_8_SHADER
- See Also:
-
ARC_IMAGE_SHADER
- See Also:
-
ARC_CUBIC_IMAGE_SHADER
- See Also:
-
ARC_HW_IMAGE_SHADER
- See Also:
-
ARC_DITHER_SHADER
- See Also:
-
ARC_ANALYTIC_RRECT_SHADER
- See Also:
-
BLEND_CLEAR
Public blend functions, these are pure functions.Implementation is the same as raster pipeline, but is vectorized and eliminates branches.
- See Also:
-
BLEND_SRC
- See Also:
-
BLEND_DST
- See Also:
-
BLEND_SRC_OVER
- See Also:
-
BLEND_DST_OVER
- See Also:
-
BLEND_SRC_IN
- See Also:
-
BLEND_DST_IN
- See Also:
-
BLEND_SRC_OUT
- See Also:
-
BLEND_DST_OUT
- See Also:
-
BLEND_SRC_ATOP
- See Also:
-
BLEND_DST_ATOP
- See Also:
-
BLEND_XOR
- See Also:
-
BLEND_PLUS
- See Also:
-
BLEND_PLUS_CLAMPED
- See Also:
-
BLEND_MINUS
- See Also:
-
BLEND_MINUS_CLAMPED
- See Also:
-
BLEND_MODULATE
- See Also:
-
BLEND_MULTIPLY
- See Also:
-
BLEND_SCREEN
- See Also:
-
BLEND_OVERLAY
- See Also:
-
BLEND_DARKEN
- See Also:
-
BLEND_LIGHTEN
- See Also:
-
BLEND_COLOR_DODGE
- See Also:
-
BLEND_COLOR_BURN
- See Also:
-
BLEND_HARD_LIGHT
- See Also:
-
BLEND_SOFT_LIGHT
- See Also:
-
BLEND_DIFFERENCE
- See Also:
-
BLEND_EXCLUSION
- See Also:
-
BLEND_SUBTRACT
- See Also:
-
BLEND_DIVIDE
This can produce undefined results fromBlendMode.blend_divide(float[], float[], float[])if values out of range.- See Also:
-
BLEND_LINEAR_DODGE
- See Also:
-
BLEND_LINEAR_BURN
- See Also:
-
BLEND_VIVID_LIGHT
- See Also:
-
BLEND_LINEAR_LIGHT
- See Also:
-
BLEND_PIN_LIGHT
- See Also:
-
BLEND_HARD_MIX
- See Also:
-
BLEND_DARKER_COLOR
- See Also:
-
BLEND_LIGHTER_COLOR
- See Also:
-
BLEND_HUE
- See Also:
-
BLEND_SATURATION
- See Also:
-
BLEND_COLOR
- See Also:
-
BLEND_LUMINOSITY
- See Also:
-
ARC_BLEND
Apply one of 42 blend modes.- See Also:
-
ARC_PORTER_DUFF_BLEND
- See Also:
-
-
Constructor Details
-
ShaderCodeSource
public ShaderCodeSource()
-
-
Method Details
-
findStage
-
getMangledName
-
invoke_node
-
invoke_child
public static String invoke_child(FragmentNode child, String localCoords, String priorStageOutput, String blenderDstColor, FragmentNode outputNode, String outputBaseName, byte outputType, Formatter code) -
emitDefinitions
public static void emitDefinitions(FragmentNode[] nodes, IdentityHashMap<String, String> added, Formatter code)
-