Package com.jogamp.opengl.util.glsl
Class ShaderUtil
- java.lang.Object
-
- com.jogamp.opengl.util.glsl.ShaderUtil
-
public final class ShaderUtil extends Object
-
-
Constructor Summary
Constructors Constructor Description ShaderUtil()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static void
attachShader(GL _gl, int program, IntBuffer shaders)
static void
compileShader(GL _gl, IntBuffer shaders)
static boolean
createAndCompileShader(GL _gl, IntBuffer shader, int shaderType, CharSequence[][] sources, PrintStream verboseOut)
static boolean
createAndLoadShader(GL _gl, IntBuffer shader, int shaderType, int binFormat, Buffer bin, PrintStream verboseOut)
static void
createShader(GL _gl, int type, IntBuffer shaders)
static void
deleteShader(GL _gl, IntBuffer shaders)
static void
detachShader(GL _gl, int program, IntBuffer shaders)
static String
getProgramInfoLog(GL _gl, int programObj)
static Set<Integer>
getShaderBinaryFormats(GL _gl)
If supported, queries the natively supported shader binary formats usingGL2ES2.GL_NUM_SHADER_BINARY_FORMATS
andGL2ES2.GL_SHADER_BINARY_FORMATS
viaGL.glGetIntegerv(int, int[], int)
.static String
getShaderInfoLog(GL _gl, int shaderObj)
static boolean
isGeometryShaderSupported(GL _gl)
Returns true if GeometryShader is supported, i.e.static boolean
isProgramExecStatusValid(GL _gl, int programObj, PrintStream verboseOut)
PerformsGL2ES2.glValidateProgram(int)
static boolean
isProgramLinkStatusValid(GL _gl, int programObj, PrintStream verboseOut)
static boolean
isProgramStatusValid(GL _gl, int programObj, int name)
static boolean
isShaderCompilerAvailable(GL _gl)
Returns true if a hader compiler is available, otherwise false.static boolean
isShaderStatusValid(GL _gl, int shaderObj, int name, PrintStream verboseOut)
static boolean
isShaderStatusValid(GL _gl, IntBuffer shaders, int name, PrintStream verboseOut)
static void
shaderBinary(GL _gl, IntBuffer shaders, int binFormat, Buffer bin)
static void
shaderSource(GL _gl, int shader, CharSequence[] source)
static void
shaderSource(GL _gl, IntBuffer shaders, CharSequence[][] sources)
-
-
-
Method Detail
-
isShaderStatusValid
public static boolean isShaderStatusValid(GL _gl, int shaderObj, int name, PrintStream verboseOut)
-
isShaderStatusValid
public static boolean isShaderStatusValid(GL _gl, IntBuffer shaders, int name, PrintStream verboseOut)
-
isProgramStatusValid
public static boolean isProgramStatusValid(GL _gl, int programObj, int name)
-
isProgramLinkStatusValid
public static boolean isProgramLinkStatusValid(GL _gl, int programObj, PrintStream verboseOut)
-
isProgramExecStatusValid
public static boolean isProgramExecStatusValid(GL _gl, int programObj, PrintStream verboseOut)
PerformsGL2ES2.glValidateProgram(int)
One shall only call this method while debugging and only if all required resources by the shader are set.
Note: It is possible that a working shader program will fail validation. This has been experienced on NVidia APX2500 and Tegra2.
- See Also:
GL2ES2.glValidateProgram(int)
-
getShaderBinaryFormats
public static Set<Integer> getShaderBinaryFormats(GL _gl)
If supported, queries the natively supported shader binary formats usingGL2ES2.GL_NUM_SHADER_BINARY_FORMATS
andGL2ES2.GL_SHADER_BINARY_FORMATS
viaGL.glGetIntegerv(int, int[], int)
.
-
isShaderCompilerAvailable
public static boolean isShaderCompilerAvailable(GL _gl)
Returns true if a hader compiler is available, otherwise false.
-
isGeometryShaderSupported
public static boolean isGeometryShaderSupported(GL _gl)
Returns true if GeometryShader is supported, i.e. whether GLContext is ≥ 3.2 or ARB_geometry_shader4 extension is available.
-
shaderSource
public static void shaderSource(GL _gl, int shader, CharSequence[] source)
-
shaderSource
public static void shaderSource(GL _gl, IntBuffer shaders, CharSequence[][] sources)
-
createAndLoadShader
public static boolean createAndLoadShader(GL _gl, IntBuffer shader, int shaderType, int binFormat, Buffer bin, PrintStream verboseOut)
-
createAndCompileShader
public static boolean createAndCompileShader(GL _gl, IntBuffer shader, int shaderType, CharSequence[][] sources, PrintStream verboseOut)
-
-