class com.sun.prism.es2.ES2PhongShader
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.sun.prism.es2.ES2PhongShader
super_class: java.lang.Object
{
static com.sun.prism.es2.ES2Shader[][][][][] shaders;
descriptor: [[[[[Lcom/sun/prism/es2/ES2Shader;
flags: (0x0008) ACC_STATIC
static java.lang.String vertexShaderSource;
descriptor: Ljava/lang/String;
flags: (0x0008) ACC_STATIC
static java.lang.String mainFragShaderSource;
descriptor: Ljava/lang/String;
flags: (0x0008) ACC_STATIC
static final int lightStateCount;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 4
private static java.lang.String[] diffuseShaderParts;
descriptor: [Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static java.lang.String[] specularShaderParts;
descriptor: [Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static java.lang.String[] selfIllumShaderParts;
descriptor: [Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static java.lang.String[] normalMapShaderParts;
descriptor: [Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static java.lang.String[] lightingShaderParts;
descriptor: [Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=0, args_size=0
0: aconst_null
putstatic com.sun.prism.es2.ES2PhongShader.shaders:[[[[[Lcom/sun/prism/es2/ES2Shader;
1: invokestatic com.sun.prism.es2.ES2PhongShader$DiffuseState.values:()[Lcom/sun/prism/es2/ES2PhongShader$DiffuseState;
arraylength
anewarray java.lang.String
putstatic com.sun.prism.es2.ES2PhongShader.diffuseShaderParts:[Ljava/lang/String;
2: invokestatic com.sun.prism.es2.ES2PhongShader$SpecularState.values:()[Lcom/sun/prism/es2/ES2PhongShader$SpecularState;
arraylength
anewarray java.lang.String
putstatic com.sun.prism.es2.ES2PhongShader.specularShaderParts:[Ljava/lang/String;
3: invokestatic com.sun.prism.es2.ES2PhongShader$SelfIllumState.values:()[Lcom/sun/prism/es2/ES2PhongShader$SelfIllumState;
arraylength
anewarray java.lang.String
putstatic com.sun.prism.es2.ES2PhongShader.selfIllumShaderParts:[Ljava/lang/String;
4: invokestatic com.sun.prism.es2.ES2PhongShader$BumpMapState.values:()[Lcom/sun/prism/es2/ES2PhongShader$BumpMapState;
arraylength
anewarray java.lang.String
putstatic com.sun.prism.es2.ES2PhongShader.normalMapShaderParts:[Ljava/lang/String;
5: iconst_4
anewarray java.lang.String
putstatic com.sun.prism.es2.ES2PhongShader.lightingShaderParts:[Ljava/lang/String;
6: invokestatic com.sun.prism.es2.ES2PhongShader$DiffuseState.values:()[Lcom/sun/prism/es2/ES2PhongShader$DiffuseState;
arraylength
invokestatic com.sun.prism.es2.ES2PhongShader$SpecularState.values:()[Lcom/sun/prism/es2/ES2PhongShader$SpecularState;
arraylength
7: invokestatic com.sun.prism.es2.ES2PhongShader$SelfIllumState.values:()[Lcom/sun/prism/es2/ES2PhongShader$SelfIllumState;
arraylength
invokestatic com.sun.prism.es2.ES2PhongShader$BumpMapState.values:()[Lcom/sun/prism/es2/ES2PhongShader$BumpMapState;
arraylength
iconst_4
8: multianewarray [[[[[Lcom/sun/prism/es2/ES2Shader; 5
putstatic com.sun.prism.es2.ES2PhongShader.shaders:[[[[[Lcom/sun/prism/es2/ES2Shader;
9: getstatic com.sun.prism.es2.ES2PhongShader.diffuseShaderParts:[Ljava/lang/String;
getstatic com.sun.prism.es2.ES2PhongShader$DiffuseState.NONE:Lcom/sun/prism/es2/ES2PhongShader$DiffuseState;
invokevirtual com.sun.prism.es2.ES2PhongShader$DiffuseState.ordinal:()I
10: ldc Lcom/sun/prism/es2/ES2ResourceFactory;
ldc "glsl/diffuse_none.frag"
invokevirtual java.lang.Class.getResourceAsStream:(Ljava/lang/String;)Ljava/io/InputStream;
invokestatic com.sun.prism.es2.ES2Shader.readStreamIntoString:(Ljava/io/InputStream;)Ljava/lang/String;
11: aastore
12: getstatic com.sun.prism.es2.ES2PhongShader.diffuseShaderParts:[Ljava/lang/String;
getstatic com.sun.prism.es2.ES2PhongShader$DiffuseState.DIFFUSECOLOR:Lcom/sun/prism/es2/ES2PhongShader$DiffuseState;
invokevirtual com.sun.prism.es2.ES2PhongShader$DiffuseState.ordinal:()I
13: ldc Lcom/sun/prism/es2/ES2ResourceFactory;
ldc "glsl/diffuse_color.frag"
invokevirtual java.lang.Class.getResourceAsStream:(Ljava/lang/String;)Ljava/io/InputStream;
invokestatic com.sun.prism.es2.ES2Shader.readStreamIntoString:(Ljava/io/InputStream;)Ljava/lang/String;
14: aastore
15: getstatic com.sun.prism.es2.ES2PhongShader.diffuseShaderParts:[Ljava/lang/String;
getstatic com.sun.prism.es2.ES2PhongShader$DiffuseState.TEXTURE:Lcom/sun/prism/es2/ES2PhongShader$DiffuseState;
invokevirtual com.sun.prism.es2.ES2PhongShader$DiffuseState.ordinal:()I
16: ldc Lcom/sun/prism/es2/ES2ResourceFactory;
ldc "glsl/diffuse_texture.frag"
invokevirtual java.lang.Class.getResourceAsStream:(Ljava/lang/String;)Ljava/io/InputStream;
invokestatic com.sun.prism.es2.ES2Shader.readStreamIntoString:(Ljava/io/InputStream;)Ljava/lang/String;
17: aastore
18: getstatic com.sun.prism.es2.ES2PhongShader.specularShaderParts:[Ljava/lang/String;
getstatic com.sun.prism.es2.ES2PhongShader$SpecularState.NONE:Lcom/sun/prism/es2/ES2PhongShader$SpecularState;
invokevirtual com.sun.prism.es2.ES2PhongShader$SpecularState.ordinal:()I
19: ldc Lcom/sun/prism/es2/ES2ResourceFactory;
ldc "glsl/specular_none.frag"
invokevirtual java.lang.Class.getResourceAsStream:(Ljava/lang/String;)Ljava/io/InputStream;
invokestatic com.sun.prism.es2.ES2Shader.readStreamIntoString:(Ljava/io/InputStream;)Ljava/lang/String;
20: aastore
21: getstatic com.sun.prism.es2.ES2PhongShader.specularShaderParts:[Ljava/lang/String;
getstatic com.sun.prism.es2.ES2PhongShader$SpecularState.TEXTURE:Lcom/sun/prism/es2/ES2PhongShader$SpecularState;
invokevirtual com.sun.prism.es2.ES2PhongShader$SpecularState.ordinal:()I
22: ldc Lcom/sun/prism/es2/ES2ResourceFactory;
ldc "glsl/specular_texture.frag"
invokevirtual java.lang.Class.getResourceAsStream:(Ljava/lang/String;)Ljava/io/InputStream;
invokestatic com.sun.prism.es2.ES2Shader.readStreamIntoString:(Ljava/io/InputStream;)Ljava/lang/String;
23: aastore
24: getstatic com.sun.prism.es2.ES2PhongShader.specularShaderParts:[Ljava/lang/String;
getstatic com.sun.prism.es2.ES2PhongShader$SpecularState.COLOR:Lcom/sun/prism/es2/ES2PhongShader$SpecularState;
invokevirtual com.sun.prism.es2.ES2PhongShader$SpecularState.ordinal:()I
25: ldc Lcom/sun/prism/es2/ES2ResourceFactory;
ldc "glsl/specular_color.frag"
invokevirtual java.lang.Class.getResourceAsStream:(Ljava/lang/String;)Ljava/io/InputStream;
invokestatic com.sun.prism.es2.ES2Shader.readStreamIntoString:(Ljava/io/InputStream;)Ljava/lang/String;
26: aastore
27: getstatic com.sun.prism.es2.ES2PhongShader.specularShaderParts:[Ljava/lang/String;
getstatic com.sun.prism.es2.ES2PhongShader$SpecularState.MIX:Lcom/sun/prism/es2/ES2PhongShader$SpecularState;
invokevirtual com.sun.prism.es2.ES2PhongShader$SpecularState.ordinal:()I
28: ldc Lcom/sun/prism/es2/ES2ResourceFactory;
ldc "glsl/specular_mix.frag"
invokevirtual java.lang.Class.getResourceAsStream:(Ljava/lang/String;)Ljava/io/InputStream;
invokestatic com.sun.prism.es2.ES2Shader.readStreamIntoString:(Ljava/io/InputStream;)Ljava/lang/String;
29: aastore
30: getstatic com.sun.prism.es2.ES2PhongShader.selfIllumShaderParts:[Ljava/lang/String;
getstatic com.sun.prism.es2.ES2PhongShader$SelfIllumState.NONE:Lcom/sun/prism/es2/ES2PhongShader$SelfIllumState;
invokevirtual com.sun.prism.es2.ES2PhongShader$SelfIllumState.ordinal:()I
31: ldc Lcom/sun/prism/es2/ES2ResourceFactory;
ldc "glsl/selfIllum_none.frag"
invokevirtual java.lang.Class.getResourceAsStream:(Ljava/lang/String;)Ljava/io/InputStream;
invokestatic com.sun.prism.es2.ES2Shader.readStreamIntoString:(Ljava/io/InputStream;)Ljava/lang/String;
32: aastore
33: getstatic com.sun.prism.es2.ES2PhongShader.selfIllumShaderParts:[Ljava/lang/String;
getstatic com.sun.prism.es2.ES2PhongShader$SelfIllumState.TEXTURE:Lcom/sun/prism/es2/ES2PhongShader$SelfIllumState;
invokevirtual com.sun.prism.es2.ES2PhongShader$SelfIllumState.ordinal:()I
34: ldc Lcom/sun/prism/es2/ES2ResourceFactory;
ldc "glsl/selfIllum_texture.frag"
invokevirtual java.lang.Class.getResourceAsStream:(Ljava/lang/String;)Ljava/io/InputStream;
invokestatic com.sun.prism.es2.ES2Shader.readStreamIntoString:(Ljava/io/InputStream;)Ljava/lang/String;
35: aastore
36: getstatic com.sun.prism.es2.ES2PhongShader.normalMapShaderParts:[Ljava/lang/String;
getstatic com.sun.prism.es2.ES2PhongShader$BumpMapState.NONE:Lcom/sun/prism/es2/ES2PhongShader$BumpMapState;
invokevirtual com.sun.prism.es2.ES2PhongShader$BumpMapState.ordinal:()I
37: ldc Lcom/sun/prism/es2/ES2ResourceFactory;
ldc "glsl/normalMap_none.frag"
invokevirtual java.lang.Class.getResourceAsStream:(Ljava/lang/String;)Ljava/io/InputStream;
invokestatic com.sun.prism.es2.ES2Shader.readStreamIntoString:(Ljava/io/InputStream;)Ljava/lang/String;
38: aastore
39: getstatic com.sun.prism.es2.ES2PhongShader.normalMapShaderParts:[Ljava/lang/String;
getstatic com.sun.prism.es2.ES2PhongShader$BumpMapState.TEXTURE:Lcom/sun/prism/es2/ES2PhongShader$BumpMapState;
invokevirtual com.sun.prism.es2.ES2PhongShader$BumpMapState.ordinal:()I
40: ldc Lcom/sun/prism/es2/ES2ResourceFactory;
ldc "glsl/normalMap_texture.frag"
invokevirtual java.lang.Class.getResourceAsStream:(Ljava/lang/String;)Ljava/io/InputStream;
invokestatic com.sun.prism.es2.ES2Shader.readStreamIntoString:(Ljava/io/InputStream;)Ljava/lang/String;
41: aastore
42: getstatic com.sun.prism.es2.ES2PhongShader.lightingShaderParts:[Ljava/lang/String;
iconst_0
43: ldc Lcom/sun/prism/es2/ES2ResourceFactory;
ldc "glsl/main0Lights.frag"
invokevirtual java.lang.Class.getResourceAsStream:(Ljava/lang/String;)Ljava/io/InputStream;
invokestatic com.sun.prism.es2.ES2Shader.readStreamIntoString:(Ljava/io/InputStream;)Ljava/lang/String;
44: aastore
45: getstatic com.sun.prism.es2.ES2PhongShader.lightingShaderParts:[Ljava/lang/String;
iconst_1
46: ldc Lcom/sun/prism/es2/ES2ResourceFactory;
ldc "glsl/main1Light.frag"
invokevirtual java.lang.Class.getResourceAsStream:(Ljava/lang/String;)Ljava/io/InputStream;
invokestatic com.sun.prism.es2.ES2Shader.readStreamIntoString:(Ljava/io/InputStream;)Ljava/lang/String;
47: aastore
48: getstatic com.sun.prism.es2.ES2PhongShader.lightingShaderParts:[Ljava/lang/String;
iconst_2
49: ldc Lcom/sun/prism/es2/ES2ResourceFactory;
ldc "glsl/main2Lights.frag"
invokevirtual java.lang.Class.getResourceAsStream:(Ljava/lang/String;)Ljava/io/InputStream;
invokestatic com.sun.prism.es2.ES2Shader.readStreamIntoString:(Ljava/io/InputStream;)Ljava/lang/String;
50: aastore
51: getstatic com.sun.prism.es2.ES2PhongShader.lightingShaderParts:[Ljava/lang/String;
iconst_3
52: ldc Lcom/sun/prism/es2/ES2ResourceFactory;
ldc "glsl/main3Lights.frag"
invokevirtual java.lang.Class.getResourceAsStream:(Ljava/lang/String;)Ljava/io/InputStream;
invokestatic com.sun.prism.es2.ES2Shader.readStreamIntoString:(Ljava/io/InputStream;)Ljava/lang/String;
53: aastore
54: ldc Lcom/sun/prism/es2/ES2ResourceFactory;
ldc "glsl/main.vert"
invokevirtual java.lang.Class.getResourceAsStream:(Ljava/lang/String;)Ljava/io/InputStream;
invokestatic com.sun.prism.es2.ES2Shader.readStreamIntoString:(Ljava/io/InputStream;)Ljava/lang/String;
putstatic com.sun.prism.es2.ES2PhongShader.vertexShaderSource:Ljava/lang/String;
55: return
LocalVariableTable:
Start End Slot Name Signature
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/prism/es2/ES2PhongShader;
static com.sun.prism.es2.ES2PhongShader$SpecularState getSpecularState(com.sun.prism.es2.ES2PhongMaterial);
descriptor: (Lcom/sun/prism/es2/ES2PhongMaterial;)Lcom/sun/prism/es2/ES2PhongShader$SpecularState;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.prism.es2.ES2PhongMaterial.maps:[Lcom/sun/prism/TextureMap;
getstatic com.sun.prism.es2.ES2PhongMaterial.SPECULAR:I
aaload
invokevirtual com.sun.prism.TextureMap.getTexture:()Lcom/sun/prism/Texture;
ifnull 5
1: aload 0
getfield com.sun.prism.es2.ES2PhongMaterial.specularColorSet:Z
ifeq 3
2: getstatic com.sun.prism.es2.ES2PhongShader$SpecularState.MIX:Lcom/sun/prism/es2/ES2PhongShader$SpecularState;
goto 4
StackMap locals:
StackMap stack:
3: getstatic com.sun.prism.es2.ES2PhongShader$SpecularState.TEXTURE:Lcom/sun/prism/es2/ES2PhongShader$SpecularState;
4: StackMap locals:
StackMap stack: com.sun.prism.es2.ES2PhongShader$SpecularState
areturn
5: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.prism.es2.ES2PhongMaterial.specularColorSet:Z
ifeq 7
6: getstatic com.sun.prism.es2.ES2PhongShader$SpecularState.COLOR:Lcom/sun/prism/es2/ES2PhongShader$SpecularState;
goto 8
StackMap locals:
StackMap stack:
7: getstatic com.sun.prism.es2.ES2PhongShader$SpecularState.NONE:Lcom/sun/prism/es2/ES2PhongShader$SpecularState;
8: StackMap locals:
StackMap stack: com.sun.prism.es2.ES2PhongShader$SpecularState
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 material Lcom/sun/prism/es2/ES2PhongMaterial;
MethodParameters:
Name Flags
material
static com.sun.prism.es2.ES2Shader getShader(com.sun.prism.es2.ES2MeshView, com.sun.prism.es2.ES2Context);
descriptor: (Lcom/sun/prism/es2/ES2MeshView;Lcom/sun/prism/es2/ES2Context;)Lcom/sun/prism/es2/ES2Shader;
flags: (0x0008) ACC_STATIC
Code:
stack=7, locals=13, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.sun.prism.es2.ES2MeshView.getMaterial:()Lcom/sun/prism/es2/ES2PhongMaterial;
astore 2
start local 2 1: getstatic com.sun.prism.es2.ES2PhongShader$DiffuseState.DIFFUSECOLOR:Lcom/sun/prism/es2/ES2PhongShader$DiffuseState;
astore 3
start local 3 2: aload 2
getfield com.sun.prism.es2.ES2PhongMaterial.maps:[Lcom/sun/prism/TextureMap;
getstatic com.sun.prism.es2.ES2PhongMaterial.DIFFUSE:I
aaload
invokevirtual com.sun.prism.TextureMap.getTexture:()Lcom/sun/prism/Texture;
ifnull 4
3: getstatic com.sun.prism.es2.ES2PhongShader$DiffuseState.TEXTURE:Lcom/sun/prism/es2/ES2PhongShader$DiffuseState;
astore 3
4: StackMap locals: com.sun.prism.es2.ES2PhongMaterial com.sun.prism.es2.ES2PhongShader$DiffuseState
StackMap stack:
aload 2
invokestatic com.sun.prism.es2.ES2PhongShader.getSpecularState:(Lcom/sun/prism/es2/ES2PhongMaterial;)Lcom/sun/prism/es2/ES2PhongShader$SpecularState;
astore 4
start local 4 5: getstatic com.sun.prism.es2.ES2PhongShader$BumpMapState.NONE:Lcom/sun/prism/es2/ES2PhongShader$BumpMapState;
astore 5
start local 5 6: aload 2
getfield com.sun.prism.es2.ES2PhongMaterial.maps:[Lcom/sun/prism/TextureMap;
getstatic com.sun.prism.es2.ES2PhongMaterial.BUMP:I
aaload
invokevirtual com.sun.prism.TextureMap.getTexture:()Lcom/sun/prism/Texture;
ifnull 8
7: getstatic com.sun.prism.es2.ES2PhongShader$BumpMapState.TEXTURE:Lcom/sun/prism/es2/ES2PhongShader$BumpMapState;
astore 5
8: StackMap locals: com.sun.prism.es2.ES2PhongShader$SpecularState com.sun.prism.es2.ES2PhongShader$BumpMapState
StackMap stack:
getstatic com.sun.prism.es2.ES2PhongShader$SelfIllumState.NONE:Lcom/sun/prism/es2/ES2PhongShader$SelfIllumState;
astore 6
start local 6 9: aload 2
getfield com.sun.prism.es2.ES2PhongMaterial.maps:[Lcom/sun/prism/TextureMap;
getstatic com.sun.prism.es2.ES2PhongMaterial.SELF_ILLUM:I
aaload
invokevirtual com.sun.prism.TextureMap.getTexture:()Lcom/sun/prism/Texture;
ifnull 11
10: getstatic com.sun.prism.es2.ES2PhongShader$SelfIllumState.TEXTURE:Lcom/sun/prism/es2/ES2PhongShader$SelfIllumState;
astore 6
11: StackMap locals: com.sun.prism.es2.ES2PhongShader$SelfIllumState
StackMap stack:
iconst_0
istore 7
start local 7 12: aload 0
invokevirtual com.sun.prism.es2.ES2MeshView.getPointLights:()[Lcom/sun/prism/es2/ES2Light;
dup
astore 11
arraylength
istore 10
iconst_0
istore 9
goto 16
StackMap locals: com.sun.prism.es2.ES2MeshView com.sun.prism.es2.ES2Context com.sun.prism.es2.ES2PhongMaterial com.sun.prism.es2.ES2PhongShader$DiffuseState com.sun.prism.es2.ES2PhongShader$SpecularState com.sun.prism.es2.ES2PhongShader$BumpMapState com.sun.prism.es2.ES2PhongShader$SelfIllumState int top int int com.sun.prism.es2.ES2Light[]
StackMap stack:
13: aload 11
iload 9
aaload
astore 8
start local 8 14: aload 8
ifnull 15
aload 8
getfield com.sun.prism.es2.ES2Light.w:F
fconst_0
fcmpl
ifle 15
iinc 7 1
end local 8 15: StackMap locals:
StackMap stack:
iinc 9 1
StackMap locals:
StackMap stack:
16: iload 9
iload 10
if_icmplt 13
17: getstatic com.sun.prism.es2.ES2PhongShader.shaders:[[[[[Lcom/sun/prism/es2/ES2Shader;
aload 3
invokevirtual com.sun.prism.es2.ES2PhongShader$DiffuseState.ordinal:()I
aaload
aload 4
invokevirtual com.sun.prism.es2.ES2PhongShader$SpecularState.ordinal:()I
aaload
18: aload 6
invokevirtual com.sun.prism.es2.ES2PhongShader$SelfIllumState.ordinal:()I
19: aaload
20: aload 5
invokevirtual com.sun.prism.es2.ES2PhongShader$BumpMapState.ordinal:()I
21: aaload
22: iload 7
23: aaload
astore 8
start local 8 24: aload 8
ifnonnull 47
25: getstatic com.sun.prism.es2.ES2PhongShader.lightingShaderParts:[Ljava/lang/String;
iload 7
aaload
ldc "vec4 apply_diffuse();"
getstatic com.sun.prism.es2.ES2PhongShader.diffuseShaderParts:[Ljava/lang/String;
aload 3
invokevirtual com.sun.prism.es2.ES2PhongShader$DiffuseState.ordinal:()I
aaload
invokevirtual java.lang.String.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
astore 9
start local 9 26: aload 9
ldc "vec4 apply_specular();"
getstatic com.sun.prism.es2.ES2PhongShader.specularShaderParts:[Ljava/lang/String;
aload 4
invokevirtual com.sun.prism.es2.ES2PhongShader$SpecularState.ordinal:()I
aaload
invokevirtual java.lang.String.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
astore 9
27: aload 9
ldc "vec3 apply_normal();"
getstatic com.sun.prism.es2.ES2PhongShader.normalMapShaderParts:[Ljava/lang/String;
aload 5
invokevirtual com.sun.prism.es2.ES2PhongShader$BumpMapState.ordinal:()I
aaload
invokevirtual java.lang.String.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
astore 9
28: aload 9
ldc "vec4 apply_selfIllum();"
getstatic com.sun.prism.es2.ES2PhongShader.selfIllumShaderParts:[Ljava/lang/String;
aload 6
invokevirtual com.sun.prism.es2.ES2PhongShader$SelfIllumState.ordinal:()I
aaload
invokevirtual java.lang.String.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
astore 9
29: iconst_1
anewarray java.lang.String
dup
iconst_0
30: aload 9
aastore
31: astore 10
start local 10 32: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 11
start local 11 33: aload 11
ldc "pos"
iconst_0
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
34: aload 11
ldc "texCoords"
iconst_1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
35: aload 11
ldc "tangent"
iconst_2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
36: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 12
start local 12 37: aload 12
ldc "diffuseTexture"
iconst_0
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
38: aload 12
ldc "specularMap"
iconst_1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
39: aload 12
ldc "normalMap"
iconst_2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
40: aload 12
ldc "selfIllumTexture"
iconst_3
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
41: aload 1
getstatic com.sun.prism.es2.ES2PhongShader.vertexShaderSource:Ljava/lang/String;
aload 10
aload 12
aload 11
iconst_1
iconst_0
invokestatic com.sun.prism.es2.ES2Shader.createFromSource:(Lcom/sun/prism/es2/ES2Context;Ljava/lang/String;[Ljava/lang/String;Ljava/util/Map;Ljava/util/Map;IZ)Lcom/sun/prism/es2/ES2Shader;
astore 8
42: getstatic com.sun.prism.es2.ES2PhongShader.shaders:[[[[[Lcom/sun/prism/es2/ES2Shader;
aload 3
invokevirtual com.sun.prism.es2.ES2PhongShader$DiffuseState.ordinal:()I
aaload
aload 4
invokevirtual com.sun.prism.es2.ES2PhongShader$SpecularState.ordinal:()I
aaload
aload 6
invokevirtual com.sun.prism.es2.ES2PhongShader$SelfIllumState.ordinal:()I
aaload
43: aload 5
invokevirtual com.sun.prism.es2.ES2PhongShader$BumpMapState.ordinal:()I
44: aaload
45: iload 7
aload 8
46: aastore
end local 12 end local 11 end local 10 end local 9 47: StackMap locals: com.sun.prism.es2.ES2MeshView com.sun.prism.es2.ES2Context com.sun.prism.es2.ES2PhongMaterial com.sun.prism.es2.ES2PhongShader$DiffuseState com.sun.prism.es2.ES2PhongShader$SpecularState com.sun.prism.es2.ES2PhongShader$BumpMapState com.sun.prism.es2.ES2PhongShader$SelfIllumState int com.sun.prism.es2.ES2Shader
StackMap stack:
aload 8
areturn
end local 8 end local 7 end local 6 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 48 0 meshView Lcom/sun/prism/es2/ES2MeshView;
0 48 1 context Lcom/sun/prism/es2/ES2Context;
1 48 2 material Lcom/sun/prism/es2/ES2PhongMaterial;
2 48 3 diffuseState Lcom/sun/prism/es2/ES2PhongShader$DiffuseState;
5 48 4 specularState Lcom/sun/prism/es2/ES2PhongShader$SpecularState;
6 48 5 bumpState Lcom/sun/prism/es2/ES2PhongShader$BumpMapState;
9 48 6 selfIllumState Lcom/sun/prism/es2/ES2PhongShader$SelfIllumState;
12 48 7 numLights I
14 15 8 light Lcom/sun/prism/es2/ES2Light;
24 48 8 shader Lcom/sun/prism/es2/ES2Shader;
26 47 9 fragShader Ljava/lang/String;
32 47 10 pixelShaders [Ljava/lang/String;
33 47 11 attributes Ljava/util/Map<Ljava/lang/String;Ljava/lang/Integer;>;
37 47 12 samplers Ljava/util/Map<Ljava/lang/String;Ljava/lang/Integer;>;
MethodParameters:
Name Flags
meshView
context
static void setShaderParamaters(com.sun.prism.es2.ES2Shader, com.sun.prism.es2.ES2MeshView, com.sun.prism.es2.ES2Context);
descriptor: (Lcom/sun/prism/es2/ES2Shader;Lcom/sun/prism/es2/ES2MeshView;Lcom/sun/prism/es2/ES2Context;)V
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual com.sun.prism.es2.ES2MeshView.getMaterial:()Lcom/sun/prism/es2/ES2PhongMaterial;
astore 3
start local 3 1: aload 0
ldc "diffuseColor"
aload 3
getfield com.sun.prism.es2.ES2PhongMaterial.diffuseColor:Lcom/sun/prism/paint/Color;
invokevirtual com.sun.prism.paint.Color.getRed:()F
2: aload 3
getfield com.sun.prism.es2.ES2PhongMaterial.diffuseColor:Lcom/sun/prism/paint/Color;
invokevirtual com.sun.prism.paint.Color.getGreen:()F
aload 3
getfield com.sun.prism.es2.ES2PhongMaterial.diffuseColor:Lcom/sun/prism/paint/Color;
invokevirtual com.sun.prism.paint.Color.getBlue:()F
3: aload 3
getfield com.sun.prism.es2.ES2PhongMaterial.diffuseColor:Lcom/sun/prism/paint/Color;
invokevirtual com.sun.prism.paint.Color.getAlpha:()F
4: invokevirtual com.sun.prism.es2.ES2Shader.setConstant:(Ljava/lang/String;FFFF)V
5: aload 0
ldc "specularColor"
aload 3
getfield com.sun.prism.es2.ES2PhongMaterial.specularColor:Lcom/sun/prism/paint/Color;
invokevirtual com.sun.prism.paint.Color.getRed:()F
6: aload 3
getfield com.sun.prism.es2.ES2PhongMaterial.specularColor:Lcom/sun/prism/paint/Color;
invokevirtual com.sun.prism.paint.Color.getGreen:()F
aload 3
getfield com.sun.prism.es2.ES2PhongMaterial.specularColor:Lcom/sun/prism/paint/Color;
invokevirtual com.sun.prism.paint.Color.getBlue:()F
7: aload 3
getfield com.sun.prism.es2.ES2PhongMaterial.specularColor:Lcom/sun/prism/paint/Color;
invokevirtual com.sun.prism.paint.Color.getAlpha:()F
8: invokevirtual com.sun.prism.es2.ES2Shader.setConstant:(Ljava/lang/String;FFFF)V
9: aload 2
iconst_0
aload 3
getfield com.sun.prism.es2.ES2PhongMaterial.maps:[Lcom/sun/prism/TextureMap;
getstatic com.sun.prism.es2.ES2PhongMaterial.DIFFUSE:I
aaload
invokevirtual com.sun.prism.TextureMap.getTexture:()Lcom/sun/prism/Texture;
invokevirtual com.sun.prism.es2.ES2Context.updateTexture:(ILcom/sun/prism/Texture;)V
10: aload 2
iconst_1
aload 3
getfield com.sun.prism.es2.ES2PhongMaterial.maps:[Lcom/sun/prism/TextureMap;
getstatic com.sun.prism.es2.ES2PhongMaterial.SPECULAR:I
aaload
invokevirtual com.sun.prism.TextureMap.getTexture:()Lcom/sun/prism/Texture;
invokevirtual com.sun.prism.es2.ES2Context.updateTexture:(ILcom/sun/prism/Texture;)V
11: aload 2
iconst_2
aload 3
getfield com.sun.prism.es2.ES2PhongMaterial.maps:[Lcom/sun/prism/TextureMap;
getstatic com.sun.prism.es2.ES2PhongMaterial.BUMP:I
aaload
invokevirtual com.sun.prism.TextureMap.getTexture:()Lcom/sun/prism/Texture;
invokevirtual com.sun.prism.es2.ES2Context.updateTexture:(ILcom/sun/prism/Texture;)V
12: aload 2
iconst_3
aload 3
getfield com.sun.prism.es2.ES2PhongMaterial.maps:[Lcom/sun/prism/TextureMap;
getstatic com.sun.prism.es2.ES2PhongMaterial.SELF_ILLUM:I
aaload
invokevirtual com.sun.prism.TextureMap.getTexture:()Lcom/sun/prism/Texture;
invokevirtual com.sun.prism.es2.ES2Context.updateTexture:(ILcom/sun/prism/Texture;)V
13: aload 0
ldc "ambientColor"
aload 1
invokevirtual com.sun.prism.es2.ES2MeshView.getAmbientLightRed:()F
14: aload 1
invokevirtual com.sun.prism.es2.ES2MeshView.getAmbientLightGreen:()F
aload 1
invokevirtual com.sun.prism.es2.ES2MeshView.getAmbientLightBlue:()F
15: invokevirtual com.sun.prism.es2.ES2Shader.setConstant:(Ljava/lang/String;FFF)V
16: iconst_0
istore 4
start local 4 17: aload 1
invokevirtual com.sun.prism.es2.ES2MeshView.getPointLights:()[Lcom/sun/prism/es2/ES2Light;
dup
astore 8
arraylength
istore 7
iconst_0
istore 6
goto 24
StackMap locals: com.sun.prism.es2.ES2Shader com.sun.prism.es2.ES2MeshView com.sun.prism.es2.ES2Context com.sun.prism.es2.ES2PhongMaterial int top int int com.sun.prism.es2.ES2Light[]
StackMap stack:
18: aload 8
iload 6
aaload
astore 5
start local 5 19: aload 5
ifnull 23
aload 5
getfield com.sun.prism.es2.ES2Light.w:F
fconst_0
fcmpl
ifle 23
20: aload 0
new java.lang.StringBuilder
dup
ldc "lights["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 4
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "].pos"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 5
getfield com.sun.prism.es2.ES2Light.x:F
aload 5
getfield com.sun.prism.es2.ES2Light.y:F
aload 5
getfield com.sun.prism.es2.ES2Light.z:F
aload 5
getfield com.sun.prism.es2.ES2Light.w:F
invokevirtual com.sun.prism.es2.ES2Shader.setConstant:(Ljava/lang/String;FFFF)V
21: aload 0
new java.lang.StringBuilder
dup
ldc "lights["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 4
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "].color"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 5
getfield com.sun.prism.es2.ES2Light.r:F
aload 5
getfield com.sun.prism.es2.ES2Light.g:F
aload 5
getfield com.sun.prism.es2.ES2Light.b:F
invokevirtual com.sun.prism.es2.ES2Shader.setConstant:(Ljava/lang/String;FFF)V
22: iinc 4 1
end local 5 23: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
24: iload 6
iload 7
if_icmplt 18
25: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 shader Lcom/sun/prism/es2/ES2Shader;
0 26 1 meshView Lcom/sun/prism/es2/ES2MeshView;
0 26 2 context Lcom/sun/prism/es2/ES2Context;
1 26 3 material Lcom/sun/prism/es2/ES2PhongMaterial;
17 26 4 i I
19 23 5 light Lcom/sun/prism/es2/ES2Light;
MethodParameters:
Name Flags
shader
meshView
context
}
SourceFile: "ES2PhongShader.java"
NestMembers:
com.sun.prism.es2.ES2PhongShader$BumpMapState com.sun.prism.es2.ES2PhongShader$DiffuseState com.sun.prism.es2.ES2PhongShader$SelfIllumState com.sun.prism.es2.ES2PhongShader$SpecularState
InnerClasses:
final BumpMapState = com.sun.prism.es2.ES2PhongShader$BumpMapState of com.sun.prism.es2.ES2PhongShader
final DiffuseState = com.sun.prism.es2.ES2PhongShader$DiffuseState of com.sun.prism.es2.ES2PhongShader
final SelfIllumState = com.sun.prism.es2.ES2PhongShader$SelfIllumState of com.sun.prism.es2.ES2PhongShader
final SpecularState = com.sun.prism.es2.ES2PhongShader$SpecularState of com.sun.prism.es2.ES2PhongShader