class com.sun.prism.d3d.D3DPhongMaterial 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.d3d.D3DPhongMaterial
super_class: com.sun.prism.impl.BaseGraphicsResource
{
static int count;
descriptor: I
flags: (0x0008) ACC_STATIC
private final com.sun.prism.d3d.D3DContext context;
descriptor: Lcom/sun/prism/d3d/D3DContext;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final long nativeHandle;
descriptor: J
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private com.sun.prism.TextureMap[] maps;
descriptor: [Lcom/sun/prism/TextureMap;
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: iconst_0
putstatic com.sun.prism.d3d.D3DPhongMaterial.count:I
return
LocalVariableTable:
Start End Slot Name Signature
private void <init>(com.sun.prism.d3d.D3DContext, long, com.sun.prism.impl.Disposer$Record);
descriptor: (Lcom/sun/prism/d3d/D3DContext;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.d3d.D3DPhongMaterial.MAX_MAP_TYPE:I
anewarray com.sun.prism.TextureMap
putfield com.sun.prism.d3d.D3DPhongMaterial.maps:[Lcom/sun/prism/TextureMap;
2: aload 0
aload 1
putfield com.sun.prism.d3d.D3DPhongMaterial.context:Lcom/sun/prism/d3d/D3DContext;
3: aload 0
lload 2
putfield com.sun.prism.d3d.D3DPhongMaterial.nativeHandle:J
4: getstatic com.sun.prism.d3d.D3DPhongMaterial.count:I
iconst_1
iadd
putstatic com.sun.prism.d3d.D3DPhongMaterial.count:I
5: return
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/sun/prism/d3d/D3DPhongMaterial;
0 6 1 context Lcom/sun/prism/d3d/D3DContext;
0 6 2 nativeHandle J
0 6 4 disposerRecord Lcom/sun/prism/impl/Disposer$Record;
MethodParameters:
Name Flags
context
nativeHandle
disposerRecord
static com.sun.prism.d3d.D3DPhongMaterial create(com.sun.prism.d3d.D3DContext);
descriptor: (Lcom/sun/prism/d3d/D3DContext;)Lcom/sun/prism/d3d/D3DPhongMaterial;
flags: (0x0008) ACC_STATIC
Code:
stack=10, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual com.sun.prism.d3d.D3DContext.createD3DPhongMaterial:()J
lstore 1
start local 1 1: new com.sun.prism.d3d.D3DPhongMaterial
dup
aload 0
lload 1
new com.sun.prism.d3d.D3DPhongMaterial$D3DPhongMaterialDisposerRecord
dup
aload 0
lload 1
invokespecial com.sun.prism.d3d.D3DPhongMaterial$D3DPhongMaterialDisposerRecord.<init>:(Lcom/sun/prism/d3d/D3DContext;J)V
invokespecial com.sun.prism.d3d.D3DPhongMaterial.<init>:(Lcom/sun/prism/d3d/D3DContext;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/d3d/D3DContext;
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.d3d.D3DPhongMaterial.nativeHandle:J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/prism/d3d/D3DPhongMaterial;
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
getfield com.sun.prism.d3d.D3DPhongMaterial.context:Lcom/sun/prism/d3d/D3DContext;
aload 0
getfield com.sun.prism.d3d.D3DPhongMaterial.nativeHandle:J
fload 1
fload 2
fload 3
fload 4
invokevirtual com.sun.prism.d3d.D3DContext.setDiffuseColor:(JFFFF)V
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/d3d/D3DPhongMaterial;
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=8, 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
getfield com.sun.prism.d3d.D3DPhongMaterial.context:Lcom/sun/prism/d3d/D3DContext;
aload 0
getfield com.sun.prism.d3d.D3DPhongMaterial.nativeHandle:J
iload 1
fload 2
fload 3
fload 4
fload 5
invokevirtual com.sun.prism.d3d.D3DContext.setSpecularColor:(JZFFFF)V
1: 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 2 0 this Lcom/sun/prism/d3d/D3DPhongMaterial;
0 2 1 set Z
0 2 2 r F
0 2 3 g F
0 2 4 b F
0 2 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.d3d.D3DPhongMaterial.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/d3d/D3DPhongMaterial;
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=6, locals=7, 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.d3d.D3DPhongMaterial.context:Lcom/sun/prism/d3d/D3DContext;
invokevirtual com.sun.prism.d3d.D3DContext.getResourceFactory:()Lcom/sun/prism/d3d/D3DResourceFactory;
aload 3
getstatic com.sun.prism.Texture$WrapMode.REPEAT:Lcom/sun/prism/Texture$WrapMode;
iload 2
invokevirtual com.sun.prism.d3d.D3DResourceFactory.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
ifnull 5
aload 4
checkcast com.sun.prism.d3d.D3DTexture
invokevirtual com.sun.prism.d3d.D3DTexture.getNativeTextureObject:()J
goto 6
StackMap locals: com.sun.prism.Texture
StackMap stack:
5: lconst_0
StackMap locals:
StackMap stack: long
6: lstore 5
start local 5 7: aload 0
getfield com.sun.prism.d3d.D3DPhongMaterial.context:Lcom/sun/prism/d3d/D3DContext;
aload 0
getfield com.sun.prism.d3d.D3DPhongMaterial.nativeHandle:J
aload 1
invokevirtual com.sun.prism.TextureMap.getType:()Lcom/sun/prism/PhongMaterial$MapType;
invokevirtual com.sun.prism.PhongMaterial$MapType.ordinal:()I
lload 5
invokevirtual com.sun.prism.d3d.D3DContext.setMap:(JIJ)V
8: aload 4
areturn
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 9 0 this Lcom/sun/prism/d3d/D3DPhongMaterial;
0 9 1 map Lcom/sun/prism/TextureMap;
0 9 2 useMipmap Z
1 9 3 image Lcom/sun/prism/Image;
4 9 4 texture Lcom/sun/prism/Texture;
7 9 5 hTexture J
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 19
2: StackMap locals: int
StackMap stack:
aload 0
getfield com.sun.prism.d3d.D3DPhongMaterial.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.d3d.D3DPhongMaterial.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 18
7: StackMap locals: com.sun.prism.Texture
StackMap stack:
iload 1
getstatic com.sun.prism.PhongMaterial.DIFFUSE:I
if_icmpeq 8
iload 1
getstatic com.sun.prism.PhongMaterial.SELF_ILLUM:I
if_icmpeq 8
iconst_0
goto 9
StackMap locals:
StackMap stack:
8: iconst_1
StackMap locals:
StackMap stack: int
9: istore 3
start local 3 10: aload 0
aload 0
getfield com.sun.prism.d3d.D3DPhongMaterial.maps:[Lcom/sun/prism/TextureMap;
iload 1
aaload
iload 3
invokevirtual com.sun.prism.d3d.D3DPhongMaterial.setupTexture:(Lcom/sun/prism/TextureMap;Z)Lcom/sun/prism/Texture;
astore 2
11: aload 0
getfield com.sun.prism.d3d.D3DPhongMaterial.maps:[Lcom/sun/prism/TextureMap;
iload 1
aaload
aload 2
invokevirtual com.sun.prism.TextureMap.setTexture:(Lcom/sun/prism/Texture;)V
12: aload 0
getfield com.sun.prism.d3d.D3DPhongMaterial.maps:[Lcom/sun/prism/TextureMap;
iload 1
aaload
iconst_0
invokevirtual com.sun.prism.TextureMap.setDirty:(Z)V
13: aload 0
getfield com.sun.prism.d3d.D3DPhongMaterial.maps:[Lcom/sun/prism/TextureMap;
iload 1
aaload
invokevirtual com.sun.prism.TextureMap.getImage:()Lcom/sun/prism/Image;
ifnull 18
aload 2
ifnonnull 18
14: ldc Lcom/sun/prism/PhongMaterial;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
astore 4
start local 4 15: aload 4
invokestatic com.sun.javafx.logging.PlatformLogger.getLogger:(Ljava/lang/String;)Lcom/sun/javafx/logging/PlatformLogger;
16: ldc "Warning: Low on texture resources. Cannot create texture."
17: invokevirtual com.sun.javafx.logging.PlatformLogger.warning:(Ljava/lang/String;)V
end local 4 end local 3 end local 2 18: StackMap locals:
StackMap stack:
iinc 1 1
StackMap locals:
StackMap stack:
19: iload 1
getstatic com.sun.prism.d3d.D3DPhongMaterial.MAX_MAP_TYPE:I
if_icmplt 2
end local 1 20: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lcom/sun/prism/d3d/D3DPhongMaterial;
1 20 1 i I
3 18 2 texture Lcom/sun/prism/Texture;
10 18 3 useMipmap Z
15 18 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.d3d.D3DPhongMaterial.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.d3d.D3DPhongMaterial.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/d3d/D3DPhongMaterial;
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.d3d.D3DPhongMaterial.disposerRecord:Lcom/sun/prism/impl/Disposer$Record;
invokeinterface com.sun.prism.impl.Disposer$Record.dispose:()V
1: getstatic com.sun.prism.d3d.D3DPhongMaterial.count:I
iconst_1
isub
putstatic com.sun.prism.d3d.D3DPhongMaterial.count:I
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/prism/d3d/D3DPhongMaterial;
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.d3d.D3DPhongMaterial.count:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/prism/d3d/D3DPhongMaterial;
}
SourceFile: "D3DPhongMaterial.java"
NestMembers:
com.sun.prism.d3d.D3DPhongMaterial$D3DPhongMaterialDisposerRecord
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
D3DPhongMaterialDisposerRecord = com.sun.prism.d3d.D3DPhongMaterial$D3DPhongMaterialDisposerRecord of com.sun.prism.d3d.D3DPhongMaterial
public abstract Record = com.sun.prism.impl.Disposer$Record of com.sun.prism.impl.Disposer