Top Inners Fields Constructors Methods
com.jogamp.opengl.util.glsl

public Class ShaderUtil

extends Object
Class Inheritance
Imports
java.io.PrintStream, java.nio.*, java.util.*, com.jogamp.opengl.*, .GLExtensions, com.jogamp.common.nio.Buffers

Nested and Inner Type Summary

Modifier and TypeClass and Description
private static class

Field Summary

Modifier and TypeField and Description
private static final String

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public static void
attachShader(final GL _gl, final int program, final IntBuffer shaders)

public static void
compileShader(final GL _gl, final IntBuffer shaders)

public static boolean
createAndCompileShader(final GL _gl, final IntBuffer shader, final int shaderType, final CharSequence[][] sources, final PrintStream verboseOut)

public static boolean
createAndLoadShader(final GL _gl, final IntBuffer shader, final int shaderType, final int binFormat, final Buffer bin, final PrintStream verboseOut)

public static void
createShader(final GL _gl, final int type, final IntBuffer shaders)

public static void
deleteShader(final GL _gl, final IntBuffer shaders)

public static void
detachShader(final GL _gl, final int program, final IntBuffer shaders)

private static ShaderUtil.ProfileInformation
public static String
getProgramInfoLog(final GL _gl, final int programObj)

public static Set<Integer>
getShaderBinaryFormats(final GL _gl)

If supported, queries the natively supported shader binary formats using GL2ES2#GL_NUM_SHADER_BINARY_FORMATS and GL2ES2#GL_SHADER_BINARY_FORMATS via GL2ES2#glGetIntegerv(int, int[], int).

public static String
getShaderInfoLog(final GL _gl, final int shaderObj)

public static boolean
isGeometryShaderSupported(final GL _gl)

Returns true if GeometryShader is supported, i.e. whether GLContext is ≥ 3.2 or ARB_geometry_shader4 extension is available.

public static boolean
isProgramExecStatusValid(final GL _gl, final int programObj, final PrintStream verboseOut)

Performs GL2ES2#glValidateProgram(int)

One shall only call this method while debugging and only if all required resources by the shader are set.

public static boolean
isProgramLinkStatusValid(final GL _gl, final int programObj, final PrintStream verboseOut)

public static boolean
isProgramStatusValid(final GL _gl, final int programObj, final int name)

public static boolean
isShaderCompilerAvailable(final GL _gl)

Returns true if a hader compiler is available, otherwise false.

public static boolean
isShaderStatusValid(final GL _gl, final int shaderObj, final int name, final PrintStream verboseOut)

public static boolean
isShaderStatusValid(final GL _gl, final IntBuffer shaders, final int name, final PrintStream verboseOut)

public static void
shaderBinary(final GL _gl, final IntBuffer shaders, final int binFormat, final Buffer bin)

public static void
shaderSource(final GL _gl, final int shader, final CharSequence[] source)

public static void
shaderSource(final GL _gl, final IntBuffer shaders, final CharSequence[][] sources)

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

implObjectKeyback to summary
private static final String implObjectKey

Constructor Detail

ShaderUtilback to summary
public ShaderUtil()

Method Detail

attachShaderback to summary
public static void attachShader(final GL _gl, final int program, final IntBuffer shaders)
compileShaderback to summary
public static void compileShader(final GL _gl, final IntBuffer shaders)
createAndCompileShaderback to summary
public static boolean createAndCompileShader(final GL _gl, final IntBuffer shader, final int shaderType, final CharSequence[][] sources, final PrintStream verboseOut)
createAndLoadShaderback to summary
public static boolean createAndLoadShader(final GL _gl, final IntBuffer shader, final int shaderType, final int binFormat, final Buffer bin, final PrintStream verboseOut)
createShaderback to summary
public static void createShader(final GL _gl, final int type, final IntBuffer shaders)
deleteShaderback to summary
public static void deleteShader(final GL _gl, final IntBuffer shaders)
detachShaderback to summary
public static void detachShader(final GL _gl, final int program, final IntBuffer shaders)
getProfileInformationback to summary
private static ShaderUtil.ProfileInformation getProfileInformation(final GL gl)
getProgramInfoLogback to summary
public static String getProgramInfoLog(final GL _gl, final int programObj)
getShaderBinaryFormatsback to summary
public static Set<Integer> getShaderBinaryFormats(final GL _gl)

If supported, queries the natively supported shader binary formats using GL2ES2#GL_NUM_SHADER_BINARY_FORMATS and GL2ES2#GL_SHADER_BINARY_FORMATS via GL2ES2#glGetIntegerv(int, int[], int).

getShaderInfoLogback to summary
public static String getShaderInfoLog(final GL _gl, final int shaderObj)
isGeometryShaderSupportedback to summary
public static boolean isGeometryShaderSupported(final GL _gl)

Returns true if GeometryShader is supported, i.e. whether GLContext is ≥ 3.2 or ARB_geometry_shader4 extension is available.

isProgramExecStatusValidback to summary
public static boolean isProgramExecStatusValid(final GL _gl, final int programObj, final PrintStream verboseOut)

Performs GL2ES2#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)
isProgramLinkStatusValidback to summary
public static boolean isProgramLinkStatusValid(final GL _gl, final int programObj, final PrintStream verboseOut)
isProgramStatusValidback to summary
public static boolean isProgramStatusValid(final GL _gl, final int programObj, final int name)
isShaderCompilerAvailableback to summary
public static boolean isShaderCompilerAvailable(final GL _gl)

Returns true if a hader compiler is available, otherwise false.

isShaderStatusValidback to summary
public static boolean isShaderStatusValid(final GL _gl, final int shaderObj, final int name, final PrintStream verboseOut)
isShaderStatusValidback to summary
public static boolean isShaderStatusValid(final GL _gl, final IntBuffer shaders, final int name, final PrintStream verboseOut)
shaderBinaryback to summary
public static void shaderBinary(final GL _gl, final IntBuffer shaders, final int binFormat, final Buffer bin)
shaderSourceback to summary
public static void shaderSource(final GL _gl, final int shader, final CharSequence[] source)
shaderSourceback to summary
public static void shaderSource(final GL _gl, final IntBuffer shaders, final CharSequence[][] sources)
com.jogamp.opengl.util.glsl back to summary

private Class ShaderUtil.ProfileInformation

extends Object
Class Inheritance

Field Summary

Modifier and TypeField and Description
pack-priv Set<Integer>
pack-priv Boolean

Constructor Summary

AccessConstructor and Description
private

Method Summary

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

shaderBinaryFormatsback to summary
pack-priv Set<Integer> shaderBinaryFormats
shaderCompilerAvailableback to summary
pack-priv Boolean shaderCompilerAvailable

Constructor Detail

ProfileInformationback to summary
private ProfileInformation()