class com.sun.prism.es2.ES2PhongMaterial extends com.sun.prism.impl.BaseGraphicsResource implements com.sun.prism.PhongMaterial
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.sun.prism.es2.ES2PhongMaterial
super_class: com.sun.prism.impl.BaseGraphicsResource
{
static int count;
descriptor: I
flags: (0x0008) ACC_STATIC
private final com.sun.prism.es2.ES2Context context;
descriptor: Lcom/sun/prism/es2/ES2Context;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final long nativeHandle;
descriptor: J
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
com.sun.prism.TextureMap[] maps;
descriptor: [Lcom/sun/prism/TextureMap;
flags: (0x0000)
com.sun.prism.paint.Color diffuseColor;
descriptor: Lcom/sun/prism/paint/Color;
flags: (0x0000)
com.sun.prism.paint.Color specularColor;
descriptor: Lcom/sun/prism/paint/Color;
flags: (0x0000)
boolean specularColorSet;
descriptor: Z
flags: (0x0000)
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: iconst_0
putstatic com.sun.prism.es2.ES2PhongMaterial.count:I
return
LocalVariableTable:
Start End Slot Name Signature
private void <init>(com.sun.prism.es2.ES2Context, long, com.sun.prism.impl.Disposer$Record);
descriptor: (Lcom/sun/prism/es2/ES2Context;JLcom/sun/prism/impl/Disposer$Record;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 4 0: aload 0
aload 4
invokespecial com.sun.prism.impl.BaseGraphicsResource.<init>:(Lcom/sun/prism/impl/Disposer$Record;)V
1: aload 0
getstatic com.sun.prism.es2.ES2PhongMaterial.MAX_MAP_TYPE:I
anewarray com.sun.prism.TextureMap
putfield com.sun.prism.es2.ES2PhongMaterial.maps:[Lcom/sun/prism/TextureMap;
2: aload 0
getstatic com.sun.prism.paint.Color.WHITE:Lcom/sun/prism/paint/Color;
putfield com.sun.prism.es2.ES2PhongMaterial.diffuseColor:Lcom/sun/prism/paint/Color;
3: aload 0
getstatic com.sun.prism.paint.Color.WHITE:Lcom/sun/prism/paint/Color;
putfield com.sun.prism.es2.ES2PhongMaterial.specularColor:Lcom/sun/prism/paint/Color;
4: aload 0
iconst_0
putfield com.sun.prism.es2.ES2PhongMaterial.specularColorSet:Z
5: aload 0
aload 1
putfield com.sun.prism.es2.ES2PhongMaterial.context:Lcom/sun/prism/es2/ES2Context;
6: aload 0
lload 2
putfield com.sun.prism.es2.ES2PhongMaterial.nativeHandle:J
7: getstatic com.sun.prism.es2.ES2PhongMaterial.count:I
iconst_1
iadd
putstatic com.sun.prism.es2.ES2PhongMaterial.count:I
8: return
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/sun/prism/es2/ES2PhongMaterial;
0 9 1 context Lcom/sun/prism/es2/ES2Context;
0 9 2 nativeHandle J
0 9 4 disposerRecord Lcom/sun/prism/impl/Disposer$Record;
MethodParameters:
Name Flags
context
nativeHandle
disposerRecord
static com.sun.prism.es2.ES2PhongMaterial create(com.sun.prism.es2.ES2Context);
descriptor: (Lcom/sun/prism/es2/ES2Context;)Lcom/sun/prism/es2/ES2PhongMaterial;
flags: (0x0008) ACC_STATIC
Code:
stack=10, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual com.sun.prism.es2.ES2Context.createES2PhongMaterial:()J
lstore 1
start local 1 1: new com.sun.prism.es2.ES2PhongMaterial
dup
aload 0
lload 1
new com.sun.prism.es2.ES2PhongMaterial$ES2PhongMaterialDisposerRecord
dup
aload 0
lload 1
invokespecial com.sun.prism.es2.ES2PhongMaterial$ES2PhongMaterialDisposerRecord.<init>:(Lcom/sun/prism/es2/ES2Context;J)V
invokespecial com.sun.prism.es2.ES2PhongMaterial.<init>:(Lcom/sun/prism/es2/ES2Context;JLcom/sun/prism/impl/Disposer$Record;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 context Lcom/sun/prism/es2/ES2Context;
1 2 1 nativeHandle J
MethodParameters:
Name Flags
context
long getNativeHandle();
descriptor: ()J
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.prism.es2.ES2PhongMaterial.nativeHandle:J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/prism/es2/ES2PhongMaterial;
public void setDiffuseColor(float, float, float, float);
descriptor: (FFFF)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
new com.sun.prism.paint.Color
dup
fload 1
fload 2
fload 3
fload 4
invokespecial com.sun.prism.paint.Color.<init>:(FFFF)V
putfield com.sun.prism.es2.ES2PhongMaterial.diffuseColor:Lcom/sun/prism/paint/Color;
1: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/prism/es2/ES2PhongMaterial;
0 2 1 r F
0 2 2 g F
0 2 3 b F
0 2 4 a F
MethodParameters:
Name Flags
r
g
b
a
public void setSpecularColor(boolean, float, float, float, float);
descriptor: (ZFFFF)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
iload 1
putfield com.sun.prism.es2.ES2PhongMaterial.specularColorSet:Z
1: aload 0
new com.sun.prism.paint.Color
dup
fload 2
fload 3
fload 4
fload 5
invokespecial com.sun.prism.paint.Color.<init>:(FFFF)V
putfield com.sun.prism.es2.ES2PhongMaterial.specularColor:Lcom/sun/prism/paint/Color;
2: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/prism/es2/ES2PhongMaterial;
0 3 1 set Z
0 3 2 r F
0 3 3 g F
0 3 4 b F
0 3 5 a F
MethodParameters:
Name Flags
set
r
g
b
a
public void setTextureMap(com.sun.prism.TextureMap);
descriptor: (Lcom/sun/prism/TextureMap;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.prism.es2.ES2PhongMaterial.maps:[Lcom/sun/prism/TextureMap;
aload 1
invokevirtual com.sun.prism.TextureMap.getType:()Lcom/sun/prism/PhongMaterial$MapType;
invokevirtual com.sun.prism.PhongMaterial$MapType.ordinal:()I
aload 1
aastore
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/prism/es2/ES2PhongMaterial;
0 2 1 map Lcom/sun/prism/TextureMap;
MethodParameters:
Name Flags
map
private com.sun.prism.Texture setupTexture(com.sun.prism.TextureMap, boolean);
descriptor: (Lcom/sun/prism/TextureMap;Z)Lcom/sun/prism/Texture;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual com.sun.prism.TextureMap.getImage:()Lcom/sun/prism/Image;
astore 3
start local 3 1: aload 3
ifnonnull 2
aconst_null
goto 3
2: StackMap locals: com.sun.prism.Image
StackMap stack:
aload 0
getfield com.sun.prism.es2.ES2PhongMaterial.context:Lcom/sun/prism/es2/ES2Context;
invokevirtual com.sun.prism.es2.ES2Context.getResourceFactory:()Lcom/sun/prism/ResourceFactory;
aload 3
getstatic com.sun.prism.Texture$WrapMode.REPEAT:Lcom/sun/prism/Texture$WrapMode;
iload 2
invokeinterface com.sun.prism.ResourceFactory.getCachedTexture:(Lcom/sun/prism/Image;Lcom/sun/prism/Texture$WrapMode;Z)Lcom/sun/prism/Texture;
3: StackMap locals:
StackMap stack: com.sun.prism.Texture
astore 4
start local 4 4: aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/sun/prism/es2/ES2PhongMaterial;
0 5 1 map Lcom/sun/prism/TextureMap;
0 5 2 useMipmap Z
1 5 3 image Lcom/sun/prism/Image;
4 5 4 texture Lcom/sun/prism/Texture;
MethodParameters:
Name Flags
map
useMipmap
public void lockTextureMaps();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: goto 20
2: StackMap locals: int
StackMap stack:
aload 0
getfield com.sun.prism.es2.ES2PhongMaterial.maps:[Lcom/sun/prism/TextureMap;
iload 1
aaload
invokevirtual com.sun.prism.TextureMap.getTexture:()Lcom/sun/prism/Texture;
astore 2
start local 2 3: aload 0
getfield com.sun.prism.es2.ES2PhongMaterial.maps:[Lcom/sun/prism/TextureMap;
iload 1
aaload
invokevirtual com.sun.prism.TextureMap.isDirty:()Z
ifne 7
aload 2
ifnull 7
4: aload 2
invokeinterface com.sun.prism.Texture.lock:()V
5: aload 2
invokeinterface com.sun.prism.Texture.isSurfaceLost:()Z
ifne 7
6: goto 19
7: StackMap locals: com.sun.prism.Texture
StackMap stack:
invokestatic com.sun.javafx.PlatformUtil.isEmbedded:()Z
ifne 9
iload 1
getstatic com.sun.prism.PhongMaterial.DIFFUSE:I
if_icmpeq 8
iload 1
getstatic com.sun.prism.PhongMaterial.SELF_ILLUM:I
if_icmpne 9
StackMap locals:
StackMap stack:
8: iconst_1
goto 10
StackMap locals:
StackMap stack:
9: iconst_0
StackMap locals:
StackMap stack: int
10: istore 3
start local 3 11: aload 0
aload 0
getfield com.sun.prism.es2.ES2PhongMaterial.maps:[Lcom/sun/prism/TextureMap;
iload 1
aaload
iload 3
invokevirtual com.sun.prism.es2.ES2PhongMaterial.setupTexture:(Lcom/sun/prism/TextureMap;Z)Lcom/sun/prism/Texture;
astore 2
12: aload 0
getfield com.sun.prism.es2.ES2PhongMaterial.maps:[Lcom/sun/prism/TextureMap;
iload 1
aaload
aload 2
invokevirtual com.sun.prism.TextureMap.setTexture:(Lcom/sun/prism/Texture;)V
13: aload 0
getfield com.sun.prism.es2.ES2PhongMaterial.maps:[Lcom/sun/prism/TextureMap;
iload 1
aaload
iconst_0
invokevirtual com.sun.prism.TextureMap.setDirty:(Z)V
14: aload 0
getfield com.sun.prism.es2.ES2PhongMaterial.maps:[Lcom/sun/prism/TextureMap;
iload 1
aaload
invokevirtual com.sun.prism.TextureMap.getImage:()Lcom/sun/prism/Image;
ifnull 19
aload 2
ifnonnull 19
15: ldc Lcom/sun/prism/PhongMaterial;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
astore 4
start local 4 16: aload 4
invokestatic com.sun.javafx.logging.PlatformLogger.getLogger:(Ljava/lang/String;)Lcom/sun/javafx/logging/PlatformLogger;
17: ldc "Warning: Low on texture resources. Cannot create texture."
18: invokevirtual com.sun.javafx.logging.PlatformLogger.warning:(Ljava/lang/String;)V
end local 4 end local 3 end local 2 19: StackMap locals:
StackMap stack:
iinc 1 1
StackMap locals:
StackMap stack:
20: iload 1
getstatic com.sun.prism.es2.ES2PhongMaterial.MAX_MAP_TYPE:I
if_icmplt 2
end local 1 21: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lcom/sun/prism/es2/ES2PhongMaterial;
1 21 1 i I
3 19 2 texture Lcom/sun/prism/Texture;
11 19 3 useMipmap Z
16 19 4 logname Ljava/lang/String;
public void unlockTextureMaps();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: goto 6
2: StackMap locals: int
StackMap stack:
aload 0
getfield com.sun.prism.es2.ES2PhongMaterial.maps:[Lcom/sun/prism/TextureMap;
iload 1
aaload
invokevirtual com.sun.prism.TextureMap.getTexture:()Lcom/sun/prism/Texture;
astore 2
start local 2 3: aload 2
ifnull 5
4: aload 2
invokeinterface com.sun.prism.Texture.unlock:()V
end local 2 5: StackMap locals:
StackMap stack:
iinc 1 1
StackMap locals:
StackMap stack:
6: iload 1
getstatic com.sun.prism.es2.ES2PhongMaterial.MAX_MAP_TYPE:I
if_icmplt 2
end local 1 7: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/sun/prism/es2/ES2PhongMaterial;
1 7 1 i I
3 5 2 texture Lcom/sun/prism/Texture;
public void dispose();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.prism.es2.ES2PhongMaterial.disposerRecord:Lcom/sun/prism/impl/Disposer$Record;
invokeinterface com.sun.prism.impl.Disposer$Record.dispose:()V
1: getstatic com.sun.prism.es2.ES2PhongMaterial.count:I
iconst_1
isub
putstatic com.sun.prism.es2.ES2PhongMaterial.count:I
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/prism/es2/ES2PhongMaterial;
public int getCount();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: getstatic com.sun.prism.es2.ES2PhongMaterial.count:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/prism/es2/ES2PhongMaterial;
}
SourceFile: "ES2PhongMaterial.java"
NestMembers:
com.sun.prism.es2.ES2PhongMaterial$ES2PhongMaterialDisposerRecord
InnerClasses:
public final MapType = com.sun.prism.PhongMaterial$MapType of com.sun.prism.PhongMaterial
public final WrapMode = com.sun.prism.Texture$WrapMode of com.sun.prism.Texture
ES2PhongMaterialDisposerRecord = com.sun.prism.es2.ES2PhongMaterial$ES2PhongMaterialDisposerRecord of com.sun.prism.es2.ES2PhongMaterial
public abstract Record = com.sun.prism.impl.Disposer$Record of com.sun.prism.impl.Disposer