APIdia Launch Partner
Top Fields Constructors Methods
com.sun.prism.mtl

pack-priv Class MTLShader

extends Object
implements Shader
Class Inheritance
All Implemented Interfaces
com.sun.prism.ps.Shader, com.sun.prism.GraphicsResource
Imports
com.sun.prism.Texture, com.sun.prism.ps.Shader, java.lang.ref.WeakReference, java.nio.FloatBuffer, .IntBuffer, java.util.HashMap, .Map

Field Summary

Modifier and TypeField and Description
private final MTLContext
private static MTLShader
private final String
private long
private final Map<Integer, String>
private static final Map<String, MTLShader>
private final Map<Integer, WeakReference<Object>>
private final Map<String, Integer>

Constructor Summary

AccessConstructor and Description
private
MTLShader(MTLContext context, String fragmentFunctionName)

Method Summary

Modifier and TypeMethod and Description
public static Shader
createShader(MTLContext ctx, String fragFuncName, Map<String, Integer> samplers, Map<String, Integer> params, int maxTexCoordIndex, boolean isPixcoordUsed, boolean isPerVertexColorUsed)

public static MTLShader
createShader(MTLContext ctx, String fragFuncName)

public void
public void
public void
public boolean
isValid()

Implements com.sun.prism.ps.Shader.isValid.

Returns whether this shader is valid and can be used for rendering.

private static native long
nCreateMetalShader(long context, String fragFuncName)

private static native void
nDisable(long nMetalShader)

private static native void
nEnable(long nMetalShader)

private static native Map<String, Integer>
nGetUniformNameIdMap(long nMetalShader)

private static native void
nSetConstants(long nMetalShader, int uniformID, float[] values, int size)

private static native void
nSetConstantsBuf(long nMetalShader, int uniformID, Object values, int valuesByteOffset, int size)

private static native void
nSetFloat1(long nMetalShader, int uniformID, float f0)

private static native void
nSetFloat2(long nMetalShader, int uniformID, float f0, float f1)

private static native void
nSetFloat3(long nMetalShader, int uniformID, float f0, float f1, float f2)

private static native void
nSetFloat4(long nMetalShader, int uniformID, float f0, float f1, float f2, float f3)

private static native void
nSetInt(long nMetalShader, int uniformID, int i0)

private static native void
nSetTexture(long nMetalShader, int texID, int uniformID, long texPtr, boolean isLinear, int wrapMode)

public void
public void
setConstant(String name, int i0, int i1)

Implements com.sun.prism.ps.Shader.setConstant.

public void
setConstant(String name, int i0, int i1, int i2)

Implements com.sun.prism.ps.Shader.setConstant.

public void
setConstant(String name, int i0, int i1, int i2, int i3)

Implements com.sun.prism.ps.Shader.setConstant.

public void
public void
setConstant(String name, float f0, float f1)

Implements com.sun.prism.ps.Shader.setConstant.

public void
setConstant(String name, float f0, float f1, float f2)

Implements com.sun.prism.ps.Shader.setConstant.

public void
setConstant(String name, float f0, float f1, float f2, float f3)

Implements com.sun.prism.ps.Shader.setConstant.

public void
setConstants(String name, IntBuffer buf, int off, int count)

Implements com.sun.prism.ps.Shader.setConstants.

public void
setConstants(String name, FloatBuffer buf, int off, int count)

Implements com.sun.prism.ps.Shader.setConstants.

public static void
setTexture(int texUnit, Texture tex, boolean isLinear, int wrapMode)

private void
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

contextback to summary
private final MTLContext context
currentEnabledShaderback to summary
private static MTLShader currentEnabledShader
fragmentFunctionNameback to summary
private final String fragmentFunctionName
nMetalShaderRefback to summary
private long nMetalShaderRef
samplersback to summary
private final Map<Integer, String> samplers
shaderMapback to summary
private static final Map<String, MTLShader> shaderMap
textureIdRefMapback to summary
private final Map<Integer, WeakReference<Object>> textureIdRefMap
uniformNameIdMapback to summary
private final Map<String, Integer> uniformNameIdMap

Constructor Detail

MTLShaderback to summary
private MTLShader(MTLContext context, String fragmentFunctionName)

Method Detail

createShaderback to summary
public static Shader createShader(MTLContext ctx, String fragFuncName, Map<String, Integer> samplers, Map<String, Integer> params, int maxTexCoordIndex, boolean isPixcoordUsed, boolean isPerVertexColorUsed)
createShaderback to summary
public static MTLShader createShader(MTLContext ctx, String fragFuncName)
disableback to summary
public void disable()

Implements com.sun.prism.ps.Shader.disable.

Annotations
@Override
disposeback to summary
public void dispose()

Implements com.sun.prism.GraphicsResource.dispose.

Annotations
@Override
enableback to summary
public void enable()

Implements com.sun.prism.ps.Shader.enable.

Annotations
@Override
isValidback to summary
public boolean isValid()

Implements com.sun.prism.ps.Shader.isValid.

Doc from com.sun.prism.ps.Shader.isValid.

Returns whether this shader is valid and can be used for rendering. Called on the rendering thread.

Annotations
@Override
nCreateMetalShaderback to summary
private static native long nCreateMetalShader(long context, String fragFuncName)
nDisableback to summary
private static native void nDisable(long nMetalShader)
nEnableback to summary
private static native void nEnable(long nMetalShader)
nGetUniformNameIdMapback to summary
private static native Map<String, Integer> nGetUniformNameIdMap(long nMetalShader)
nSetConstantsback to summary
private static native void nSetConstants(long nMetalShader, int uniformID, float[] values, int size)
nSetConstantsBufback to summary
private static native void nSetConstantsBuf(long nMetalShader, int uniformID, Object values, int valuesByteOffset, int size)
nSetFloat1back to summary
private static native void nSetFloat1(long nMetalShader, int uniformID, float f0)
nSetFloat2back to summary
private static native void nSetFloat2(long nMetalShader, int uniformID, float f0, float f1)
nSetFloat3back to summary
private static native void nSetFloat3(long nMetalShader, int uniformID, float f0, float f1, float f2)
nSetFloat4back to summary
private static native void nSetFloat4(long nMetalShader, int uniformID, float f0, float f1, float f2, float f3)
nSetIntback to summary
private static native void nSetInt(long nMetalShader, int uniformID, int i0)
nSetTextureback to summary
private static native void nSetTexture(long nMetalShader, int texID, int uniformID, long texPtr, boolean isLinear, int wrapMode)
setConstantback to summary
public void setConstant(String name, int i0)

Implements com.sun.prism.ps.Shader.setConstant.

Annotations
@Override
setConstantback to summary
public void setConstant(String name, int i0, int i1)

Implements com.sun.prism.ps.Shader.setConstant.

Annotations
@Override
setConstantback to summary
public void setConstant(String name, int i0, int i1, int i2)

Implements com.sun.prism.ps.Shader.setConstant.

Annotations
@Override
setConstantback to summary
public void setConstant(String name, int i0, int i1, int i2, int i3)

Implements com.sun.prism.ps.Shader.setConstant.

Annotations
@Override
setConstantback to summary
public void setConstant(String name, float f0)

Implements com.sun.prism.ps.Shader.setConstant.

Annotations
@Override
setConstantback to summary
public void setConstant(String name, float f0, float f1)

Implements com.sun.prism.ps.Shader.setConstant.

Annotations
@Override
setConstantback to summary
public void setConstant(String name, float f0, float f1, float f2)

Implements com.sun.prism.ps.Shader.setConstant.

Annotations
@Override
setConstantback to summary
public void setConstant(String name, float f0, float f1, float f2, float f3)

Implements com.sun.prism.ps.Shader.setConstant.

Annotations
@Override
setConstantsback to summary
public void setConstants(String name, IntBuffer buf, int off, int count)

Implements com.sun.prism.ps.Shader.setConstants.

Annotations
@Override
setConstantsback to summary
public void setConstants(String name, FloatBuffer buf, int off, int count)

Implements com.sun.prism.ps.Shader.setConstants.

Annotations
@Override
setTextureback to summary
public static void setTexture(int texUnit, Texture tex, boolean isLinear, int wrapMode)
storeSamplersback to summary
private void storeSamplers(Map<String, Integer> samplers)