jPCT-AE - a 3d engine for Android > Bugs

ERROR: glAttachShader - vertex shader: glError 1280

<< < (2/4) > >>

EgonOlsen:
Could you please post the complete log output of that run?

rainfalls:
Here is the logcat. (By the way, I changed the Android project build target to 4.2.2. If it was kept to be original 2.3.3 as in the sample, even with the new beta lib, the sample program still crashed on the glError 1280.)

--- Code: ---11-11 10:56:39.910: I/jPCT-AE(26933): onCreate
11-11 10:56:40.070: I/jPCT-AE(26933): onResume
11-11 10:56:40.260: D/libEGL(26933): loaded /vendor/lib/egl/libEGL_POWERVR_SGX544_115.so
11-11 10:56:40.300: D/libEGL(26933): loaded /vendor/lib/egl/libGLESv1_CM_POWERVR_SGX544_115.so
11-11 10:56:40.310: D/libEGL(26933): loaded /vendor/lib/egl/libGLESv2_POWERVR_SGX544_115.so
11-11 10:56:40.440: D/OpenGLRenderer(26933): Enabling debug mode 0
11-11 10:56:40.460: D/libEGL(26933): Enabling MSAA 4x
11-11 10:56:40.460: D/libEGL(26933): Enabling MSAA 4x
11-11 10:56:40.530: I/jPCT-AE(26933): onSurfaceCreated
11-11 10:56:40.560: I/jPCT-AE(26933): GLRenderer created with id 0 on Thread[GLThread 2105,5,main]
11-11 10:56:40.560: I/jPCT-AE(26933): GL context is 1116808864
11-11 10:56:40.570: I/jPCT-AE(26933): Initializing GL20 render pipeline...
11-11 10:56:40.570: I/jPCT-AE(26933): Accessing shaders via JAR!
11-11 10:56:40.570: I/jPCT-AE(26933): Loading default shaders !
11-11 10:56:40.570: I/jPCT-AE(26933): 0 shaders in replacement map!
11-11 10:56:40.570: I/jPCT-AE(26933): Default fragment shader is: /defaultFragmentShader.src
11-11 10:56:40.690: I/jPCT-AE(26933): Loading file from InputStream
11-11 10:56:40.690: I/jPCT-AE(26933): Text file from InputStream loaded...2416 bytes
11-11 10:56:40.690: I/jPCT-AE(26933): Default vertex shader is: /defaultVertexShader.src
11-11 10:56:40.710: I/jPCT-AE(26933): Loading file from InputStream
11-11 10:56:40.720: I/jPCT-AE(26933): Text file from InputStream loaded...4496 bytes
11-11 10:56:40.720: D/dalvikvm(26933): GC_CONCURRENT freed 178K, 13% free 8943K/10172K, paused 8ms+3ms, total 66ms
11-11 10:56:40.720: I/jPCT-AE(26933): Compiling shader program!
11-11 10:56:40.760: I/jPCT-AE(26933): Handles of 210003: 4/44/5
11-11 10:56:40.760: I/jPCT-AE(26933): Loading default shaders (Tex0Amb)!
11-11 10:56:40.760: I/jPCT-AE(26933): 0 shaders in replacement map!
11-11 10:56:40.760: I/jPCT-AE(26933): Default fragment shader is: /defaultFragmentShader.src
11-11 10:56:40.780: I/jPCT-AE(26933): Loading file from InputStream
11-11 10:56:40.780: I/jPCT-AE(26933): Text file from InputStream loaded...199 bytes
11-11 10:56:40.780: I/jPCT-AE(26933): Default vertex shader is: /defaultVertexShader.src
11-11 10:56:40.780: I/jPCT-AE(26933): Loading file from InputStream
11-11 10:56:40.780: I/jPCT-AE(26933): Text file from InputStream loaded...757 bytes
11-11 10:56:40.780: I/jPCT-AE(26933): Compiling shader program!
11-11 10:56:40.780: I/jPCT-AE(26933): Handles of 420006: 1/5/2
11-11 10:56:40.780: I/jPCT-AE(26933): Loading default shaders (Tex0)!
11-11 10:56:40.780: I/jPCT-AE(26933): 0 shaders in replacement map!
11-11 10:56:40.780: I/jPCT-AE(26933): Default fragment shader is: /defaultFragmentShader.src
11-11 10:56:40.790: I/jPCT-AE(26933): Loading file from InputStream
11-11 10:56:40.790: I/jPCT-AE(26933): Text file from InputStream loaded...201 bytes
11-11 10:56:40.790: I/jPCT-AE(26933): Default vertex shader is: /defaultVertexShader.src
11-11 10:56:40.790: I/jPCT-AE(26933): Loading file from InputStream
11-11 10:56:40.800: I/jPCT-AE(26933): Text file from InputStream loaded...4020 bytes
11-11 10:56:40.800: I/jPCT-AE(26933): Compiling shader program!
11-11 10:56:40.810: I/jPCT-AE(26933): Handles of 630009: 1/41/2
11-11 10:56:40.810: I/jPCT-AE(26933): Loading default shaders (Tex1)!
11-11 10:56:40.810: I/jPCT-AE(26933): 0 shaders in replacement map!
11-11 10:56:40.810: I/jPCT-AE(26933): Default fragment shader is: /defaultFragmentShader.src
11-11 10:56:40.810: I/jPCT-AE(26933): Loading file from InputStream
11-11 10:56:40.810: I/jPCT-AE(26933): Text file from InputStream loaded...997 bytes
11-11 10:56:40.810: I/jPCT-AE(26933): Default vertex shader is: /defaultVertexShader.src
11-11 10:56:40.810: I/jPCT-AE(26933): Loading file from InputStream
11-11 10:56:40.810: I/jPCT-AE(26933): Text file from InputStream loaded...4390 bytes
11-11 10:56:40.810: I/jPCT-AE(26933): Compiling shader program!
11-11 10:56:40.820: I/jPCT-AE(26933): Handles of 840012: 2/44/3
11-11 10:56:40.820: I/jPCT-AE(26933): Loading default shaders (Tex0Light0)!
11-11 10:56:40.820: I/jPCT-AE(26933): 0 shaders in replacement map!
11-11 10:56:40.820: I/jPCT-AE(26933): Default fragment shader is: /defaultFragmentShader.src
11-11 10:56:40.830: I/jPCT-AE(26933): Loading file from InputStream
11-11 10:56:40.830: I/jPCT-AE(26933): Text file from InputStream loaded...201 bytes
11-11 10:56:40.830: I/jPCT-AE(26933): Default vertex shader is: /defaultVertexShader.src
11-11 10:56:40.830: I/jPCT-AE(26933): Loading file from InputStream
11-11 10:56:40.840: I/jPCT-AE(26933): Text file from InputStream loaded...1293 bytes
11-11 10:56:40.840: I/jPCT-AE(26933): Compiling shader program!
11-11 10:56:40.840: I/jPCT-AE(26933): Handles of 1050015: 1/11/2
11-11 10:56:40.840: I/jPCT-AE(26933): Loading default shaders (Fog)!
11-11 10:56:40.840: I/jPCT-AE(26933): 0 shaders in replacement map!
11-11 10:56:40.840: I/jPCT-AE(26933): Default fragment shader is: /defaultFragmentShader.src
11-11 10:56:40.850: I/jPCT-AE(26933): Loading file from InputStream
11-11 10:56:40.850: I/jPCT-AE(26933): Text file from InputStream loaded...328 bytes
11-11 10:56:40.850: I/jPCT-AE(26933): Default vertex shader is: /defaultVertexShader.src
11-11 10:56:40.850: I/jPCT-AE(26933): Loading file from InputStream
11-11 10:56:40.850: I/jPCT-AE(26933): Text file from InputStream loaded...4267 bytes
11-11 10:56:40.850: I/jPCT-AE(26933): Compiling shader program!
11-11 10:56:40.860: I/jPCT-AE(26933): Handles of 1260018: 1/44/2
11-11 10:56:40.860: I/jPCT-AE(26933): Loading default shaders (FogLight0)!
11-11 10:56:40.860: I/jPCT-AE(26933): 0 shaders in replacement map!
11-11 10:56:40.860: I/jPCT-AE(26933): Default fragment shader is: /defaultFragmentShader.src
11-11 10:56:40.860: I/jPCT-AE(26933): Loading file from InputStream
11-11 10:56:40.860: I/jPCT-AE(26933): Text file from InputStream loaded...328 bytes
11-11 10:56:40.860: I/jPCT-AE(26933): Default vertex shader is: /defaultVertexShader.src
11-11 10:56:40.870: I/jPCT-AE(26933): Loading file from InputStream
11-11 10:56:40.870: I/jPCT-AE(26933): Text file from InputStream loaded...1608 bytes
11-11 10:56:40.870: I/jPCT-AE(26933): Compiling shader program!
11-11 10:56:40.870: I/jPCT-AE(26933): Handles of 1470021: 1/15/2
11-11 10:56:40.870: I/jPCT-AE(26933): Loading default shaders (Depth)!
11-11 10:56:40.870: I/jPCT-AE(26933): 0 shaders in replacement map!
11-11 10:56:40.870: I/jPCT-AE(26933): Default fragment shader is: /defaultFragmentShader.src
11-11 10:56:40.880: I/jPCT-AE(26933): Loading file from InputStream
11-11 10:56:40.880: I/jPCT-AE(26933): Text file from InputStream loaded...745 bytes
11-11 10:56:40.880: I/jPCT-AE(26933): Default vertex shader is: /defaultVertexShader.src
11-11 10:56:40.880: I/jPCT-AE(26933): Loading file from InputStream
11-11 10:56:40.880: I/jPCT-AE(26933): Text file from InputStream loaded...248 bytes
11-11 10:56:40.880: I/jPCT-AE(26933): Compiling shader program!
11-11 10:56:40.880: I/jPCT-AE(26933): Handles of 1680024: 1/1/-1
11-11 10:56:40.880: I/jPCT-AE(26933): GL20 render pipeline initialized!
11-11 10:56:40.880: I/jPCT-AE(26933): OpenGL vendor:     Imagination Technologies
11-11 10:56:40.880: I/jPCT-AE(26933): OpenGL renderer:   PowerVR SGX 544MP
11-11 10:56:40.880: I/jPCT-AE(26933): OpenGL version:    OpenGL ES 2.0 build 1.10@2379759
11-11 10:56:40.880: I/jPCT-AE(26933): OpenGL renderer initialized (using 2/8 texture stages)
11-11 10:56:40.890: I/jPCT-AE(26933): Loading Texture...
11-11 10:56:40.930: D/dalvikvm(26933): GC_FOR_ALLOC freed 150K, 12% free 9017K/10228K, paused 36ms, total 37ms
11-11 10:56:40.940: I/dalvikvm-heap(26933): Grow heap (frag case) to 10.335MB for 524304-byte allocation
11-11 10:56:40.970: D/dalvikvm(26933): GC_CONCURRENT freed <1K, 12% free 9529K/10744K, paused 4ms+1ms, total 22ms
11-11 10:56:40.970: D/dalvikvm(26933): WAIT_FOR_CONCURRENT_GC blocked 18ms
11-11 10:56:41.060: D/dalvikvm(26933): GC_FOR_ALLOC freed 21K, 12% free 9508K/10744K, paused 15ms, total 15ms
11-11 10:56:41.060: I/dalvikvm-heap(26933): Grow heap (frag case) to 11.315MB for 1048592-byte allocation
11-11 10:56:41.080: D/dalvikvm(26933): GC_FOR_ALLOC freed 0K, 11% free 10532K/11772K, paused 17ms, total 17ms
11-11 10:56:41.080: I/jPCT-AE(26933): Texture loaded...1048576 bytes/512*512 pixels!
11-11 10:56:41.100: I/jPCT-AE(26933): Loading Texture...
11-11 10:56:41.100: D/dalvikvm(26933): GC_CONCURRENT freed 512K, 15% free 10039K/11772K, paused 3ms+2ms, total 24ms
11-11 10:56:41.100: D/dalvikvm(26933): WAIT_FOR_CONCURRENT_GC blocked 3ms
11-11 10:56:41.110: I/dalvikvm-heap(26933): Grow heap (frag case) to 11.333MB for 524304-byte allocation
11-11 10:56:41.120: D/dalvikvm(26933): GC_FOR_ALLOC freed <1K, 11% free 10551K/11772K, paused 16ms, total 16ms
11-11 10:56:41.140: D/dalvikvm(26933): GC_CONCURRENT freed <1K, 11% free 10551K/11772K, paused 3ms+2ms, total 18ms
11-11 10:56:41.240: I/jPCT-AE(26933): onPause
11-11 10:56:41.280: D/dalvikvm(26933): GC_FOR_ALLOC freed 18K, 11% free 10533K/11772K, paused 15ms, total 15ms
11-11 10:56:41.290: I/dalvikvm-heap(26933): Grow heap (frag case) to 12.316MB for 1048592-byte allocation
11-11 10:56:41.300: D/dalvikvm(26933): GC_FOR_ALLOC freed 0K, 10% free 11557K/12800K, paused 15ms, total 15ms
11-11 10:56:41.300: I/jPCT-AE(26933): Texture loaded...1048576 bytes/512*512 pixels!
11-11 10:56:41.310: I/jPCT-AE(26933): Loading Texture...
11-11 10:56:41.320: D/dalvikvm(26933): GC_CONCURRENT freed 512K, 14% free 11576K/13316K, paused 2ms+1ms, total 22ms
11-11 10:56:41.390: D/dalvikvm(26933): GC_FOR_ALLOC freed 18K, 14% free 11558K/13316K, paused 14ms, total 14ms
11-11 10:56:41.390: I/dalvikvm-heap(26933): Grow heap (frag case) to 13.317MB for 1048592-byte allocation
11-11 10:56:41.410: D/dalvikvm(26933): GC_FOR_ALLOC freed <1K, 13% free 12582K/14344K, paused 15ms, total 15ms
11-11 10:56:41.410: I/jPCT-AE(26933): Texture loaded...1048576 bytes/512*512 pixels!
11-11 10:56:41.420: D/dalvikvm(26933): GC_CONCURRENT freed 514K, 16% free 12075K/14344K, paused 1ms+1ms, total 17ms
11-11 10:56:41.420: D/dalvikvm(26933): WAIT_FOR_CONCURRENT_GC blocked 9ms
11-11 10:56:41.430: I/dalvikvm-heap(26933): Grow heap (frag case) to 13.822MB for 1048592-byte allocation
11-11 10:56:41.450: D/dalvikvm(26933): GC_CONCURRENT freed <1K, 15% free 13099K/15372K, paused 5ms+2ms, total 20ms
11-11 10:56:41.450: D/dalvikvm(26933): WAIT_FOR_CONCURRENT_GC blocked 15ms
11-11 10:56:41.450: I/dalvikvm-heap(26933): Grow heap (frag case) to 14.822MB for 1048592-byte allocation
11-11 10:56:41.470: D/dalvikvm(26933): GC_FOR_ALLOC freed <1K, 14% free 14123K/16400K, paused 15ms, total 15ms
11-11 10:56:41.490: D/dalvikvm(26933): GC_FOR_ALLOC freed <1K, 14% free 14123K/16400K, paused 15ms, total 15ms
11-11 10:56:41.490: I/dalvikvm-heap(26933): Grow heap (frag case) to 15.822MB for 1048592-byte allocation
11-11 10:56:41.510: D/dalvikvm(26933): GC_FOR_ALLOC freed 0K, 14% free 15147K/17428K, paused 18ms, total 18ms
11-11 10:56:41.530: I/jPCT-AE(26933): Loading Texture...
11-11 10:56:41.530: I/jPCT-AE(26933): Texture loaded...4096 bytes/64*16 pixels!
11-11 10:56:41.530: I/jPCT-AE(26933): Loading file from InputStream
11-11 10:56:41.530: I/jPCT-AE(26933): Text file from InputStream loaded...1438 bytes
11-11 10:56:41.530: I/jPCT-AE(26933): Loading file from InputStream
11-11 10:56:41.530: I/jPCT-AE(26933): Text file from InputStream loaded...1209 bytes
11-11 10:56:41.530: I/jPCT-AE(26933): Normal vectors calculated in 0ms!
11-11 10:56:41.530: I/jPCT-AE(26933): Tangent vectors calculated in 0ms!
11-11 10:56:41.530: I/jPCT-AE(26933): Adding Lightsource: 0
11-11 10:56:41.530: I/jPCT-AE(26933): Memory usage before compacting: 15197 KB used out of 17428 KB. Max. memory available to the VM is 196608 KB.
11-11 10:56:41.560: D/dalvikvm(26933): GC_EXPLICIT freed 43K, 14% free 15155K/17428K, paused 3ms+4ms, total 33ms
11-11 10:56:41.590: D/dalvikvm(26933): GC_EXPLICIT freed <1K, 14% free 15154K/17428K, paused 2ms+4ms, total 29ms
11-11 10:56:41.740: I/jPCT-AE(26933): Memory usage after compacting: 15155 KB used out of 17428 KB. Max. memory available to the VM is 196608 KB.
11-11 10:56:41.750: I/jPCT-AE(26933): Subobject of object 0/object2 compiled to indexed fixed point data using 6/4 vertices in 2ms!
11-11 10:56:41.750: I/jPCT-AE(26933): Processing and uploading vertices of subobject of object 0/object2 took 2ms
11-11 10:56:41.750: I/jPCT-AE(26933): Object 0/object2 compiled to 1 subobjects in 3ms!
11-11 10:56:41.750: I/jPCT-AE(26933): Object 'object2' uses one texture set!
11-11 10:56:41.750: I/jPCT-AE(26933): Saving master Activity!
11-11 10:56:41.750: I/jPCT-AE(26933): Allocating native memory for 512*512 texture(true/false/false/false/): 524288 bytes!
11-11 10:56:41.750: I/jPCT-AE(26933): Creating texture buffer of size 131072
11-11 10:56:41.770: I/jPCT-AE(26933): New texture's id is: 70001
11-11 10:56:41.780: I/jPCT-AE(26933): Mipmaps generated by the GPU in 4ms
11-11 10:56:41.780: I/jPCT-AE(26933): New texture uploaded: com.threed.jpct.Texture@42950f70 in thread Thread[GLThread 2105,5,main]
11-11 10:56:41.780: I/jPCT-AE(26933): Allocating native memory for 512*512 texture(true/false/false/false/): 524288 bytes!
11-11 10:56:41.780: I/jPCT-AE(26933): Creating texture buffer of size 131072
11-11 10:56:41.800: D/dalvikvm(26933): GC_FOR_ALLOC freed 3085K, 25% free 13630K/17944K, paused 16ms, total 16ms
11-11 10:56:41.830: I/jPCT-AE(26933): New texture's id is: 140002
11-11 10:56:41.840: I/jPCT-AE(26933): Mipmaps generated by the GPU in 9ms
11-11 10:56:41.840: I/jPCT-AE(26933): New texture uploaded: com.threed.jpct.Texture@42922190 in thread Thread[GLThread 2105,5,main]
11-11 10:56:41.840: I/jPCT-AE(26933): Compiling shader program!
11-11 10:56:41.840: I/jPCT-AE(26933): Handles of 1890027: 3/10/1
11-11 10:56:41.840: I/jPCT-AE(26933): Creating buffers...
11-11 10:56:41.840: I/jPCT-AE(26933): VBO created for object 'object2'
11-11 10:56:41.850: I/jPCT-AE(26933): [ 1384167401860 ] - WARNING: Texture's size is 64/16, but textures should be square for OpenGL ES2.0! This may result in a black texture!
11-11 10:56:41.850: I/jPCT-AE(26933): Allocating native memory for 64*16 texture(true/false/false/false/): 2048 bytes!
11-11 10:56:41.850: I/jPCT-AE(26933): Creating texture buffer of size 512
11-11 10:56:41.850: I/jPCT-AE(26933): New texture's id is: 210003
11-11 10:56:41.850: I/jPCT-AE(26933): New texture uploaded: com.threed.jpct.Texture@429229c8 in thread Thread[GLThread 2105,5,main]
11-11 10:56:41.930: I/jPCT-AE(26933): onResume
11-11 10:56:41.930: D/libEGL(26933): Enabling MSAA 4x
11-11 10:56:41.930: D/libEGL(26933): Enabling MSAA 4x
11-11 10:56:41.990: I/jPCT-AE(26933): onSurfaceCreated
11-11 10:56:41.990: I/jPCT-AE(26933): Visibility lists disposed!
11-11 10:56:41.990: I/jPCT-AE(26933): [ 1384167402005 ] - WARNING: Unable to dispose gl related resources because the current context has changed!
11-11 10:56:41.990: I/jPCT-AE(26933): Renderer disposed!
11-11 10:56:41.990: I/jPCT-AE(26933): GLRenderer disposed with id 0 on Thread[GLThread 2105,5,main]
11-11 10:56:41.990: I/jPCT-AE(26933): GLRenderer created with id 1 on Thread[GLThread 2105,5,main]
11-11 10:56:41.990: I/jPCT-AE(26933): GL context is 1116940368
11-11 10:56:41.990: I/jPCT-AE(26933): Initializing GL20 render pipeline...
11-11 10:56:41.990: I/jPCT-AE(26933): Loading default shaders !
11-11 10:56:41.990: I/jPCT-AE(26933): 0 shaders in replacement map!
11-11 10:56:41.990: I/jPCT-AE(26933): Default fragment shader is: /defaultFragmentShader.src
11-11 10:56:42.000: I/jPCT-AE(26933): Loading file from InputStream
11-11 10:56:42.000: I/jPCT-AE(26933): Text file from InputStream loaded...2416 bytes
11-11 10:56:42.000: I/jPCT-AE(26933): Default vertex shader is: /defaultVertexShader.src
11-11 10:56:42.000: I/jPCT-AE(26933): Loading file from InputStream
11-11 10:56:42.020: I/jPCT-AE(26933): Text file from InputStream loaded...4496 bytes
11-11 10:56:42.020: I/jPCT-AE(26933): Compiling shader program!
11-11 10:56:42.030: I/jPCT-AE(26933): Handles of 210003: 4/44/5
11-11 10:56:42.030: I/jPCT-AE(26933): Loading default shaders (Tex0Amb)!
11-11 10:56:42.030: I/jPCT-AE(26933): 0 shaders in replacement map!
11-11 10:56:42.030: I/jPCT-AE(26933): Default fragment shader is: /defaultFragmentShader.src
11-11 10:56:42.030: I/jPCT-AE(26933): Loading file from InputStream
11-11 10:56:42.030: I/jPCT-AE(26933): Text file from InputStream loaded...199 bytes
11-11 10:56:42.030: I/jPCT-AE(26933): Default vertex shader is: /defaultVertexShader.src
11-11 10:56:42.030: I/jPCT-AE(26933): Loading file from InputStream
11-11 10:56:42.030: I/jPCT-AE(26933): Text file from InputStream loaded...757 bytes
11-11 10:56:42.030: I/jPCT-AE(26933): Compiling shader program!
11-11 10:56:42.030: I/jPCT-AE(26933): Handles of 420006: 1/5/2
11-11 10:56:42.030: I/jPCT-AE(26933): Loading default shaders (Tex0)!
11-11 10:56:42.030: I/jPCT-AE(26933): 0 shaders in replacement map!
11-11 10:56:42.040: I/jPCT-AE(26933): Default fragment shader is: /defaultFragmentShader.src
11-11 10:56:42.040: I/jPCT-AE(26933): Loading file from InputStream
11-11 10:56:42.040: I/jPCT-AE(26933): Text file from InputStream loaded...201 bytes
11-11 10:56:42.040: I/jPCT-AE(26933): Default vertex shader is: /defaultVertexShader.src
11-11 10:56:42.040: I/jPCT-AE(26933): Loading file from InputStream
11-11 10:56:42.040: I/jPCT-AE(26933): Text file from InputStream loaded...4020 bytes
11-11 10:56:42.040: I/jPCT-AE(26933): Compiling shader program!
11-11 10:56:42.040: I/jPCT-AE(26933): Handles of 630009: 1/41/2
11-11 10:56:42.040: I/jPCT-AE(26933): Loading default shaders (Tex1)!
11-11 10:56:42.040: I/jPCT-AE(26933): 0 shaders in replacement map!
11-11 10:56:42.040: I/jPCT-AE(26933): Default fragment shader is: /defaultFragmentShader.src
11-11 10:56:42.040: I/jPCT-AE(26933): Loading file from InputStream
11-11 10:56:42.050: I/jPCT-AE(26933): Text file from InputStream loaded...997 bytes
11-11 10:56:42.050: I/jPCT-AE(26933): Default vertex shader is: /defaultVertexShader.src
11-11 10:56:42.050: I/jPCT-AE(26933): Loading file from InputStream
11-11 10:56:42.050: I/jPCT-AE(26933): Text file from InputStream loaded...4390 bytes
11-11 10:56:42.050: I/jPCT-AE(26933): Compiling shader program!
11-11 10:56:42.050: I/jPCT-AE(26933): Handles of 840012: 2/44/3
11-11 10:56:42.050: I/jPCT-AE(26933): Loading default shaders (Tex0Light0)!
11-11 10:56:42.050: I/jPCT-AE(26933): 0 shaders in replacement map!
11-11 10:56:42.050: I/jPCT-AE(26933): Default fragment shader is: /defaultFragmentShader.src
11-11 10:56:42.050: I/jPCT-AE(26933): Loading file from InputStream
11-11 10:56:42.050: I/jPCT-AE(26933): Text file from InputStream loaded...201 bytes
11-11 10:56:42.050: I/jPCT-AE(26933): Default vertex shader is: /defaultVertexShader.src
11-11 10:56:42.060: I/jPCT-AE(26933): Loading file from InputStream
11-11 10:56:42.060: I/jPCT-AE(26933): Text file from InputStream loaded...1293 bytes
11-11 10:56:42.060: I/jPCT-AE(26933): Compiling shader program!
11-11 10:56:42.070: I/jPCT-AE(26933): Handles of 1050015: 1/11/2
11-11 10:56:42.070: I/jPCT-AE(26933): Loading default shaders (Fog)!
11-11 10:56:42.070: I/jPCT-AE(26933): 0 shaders in replacement map!
11-11 10:56:42.070: I/jPCT-AE(26933): Default fragment shader is: /defaultFragmentShader.src
11-11 10:56:42.070: I/jPCT-AE(26933): Loading file from InputStream
11-11 10:56:42.080: I/jPCT-AE(26933): Text file from InputStream loaded...328 bytes
11-11 10:56:42.080: I/jPCT-AE(26933): Default vertex shader is: /defaultVertexShader.src
11-11 10:56:42.080: I/jPCT-AE(26933): Loading file from InputStream
11-11 10:56:42.080: I/jPCT-AE(26933): Text file from InputStream loaded...4267 bytes
11-11 10:56:42.080: I/jPCT-AE(26933): Compiling shader program!
11-11 10:56:42.080: I/jPCT-AE(26933): Handles of 1260018: 1/44/2
11-11 10:56:42.080: I/jPCT-AE(26933): Loading default shaders (FogLight0)!
11-11 10:56:42.090: I/jPCT-AE(26933): 0 shaders in replacement map!
11-11 10:56:42.090: I/jPCT-AE(26933): Default fragment shader is: /defaultFragmentShader.src
11-11 10:56:42.100: I/jPCT-AE(26933): Loading file from InputStream
11-11 10:56:42.100: I/jPCT-AE(26933): Text file from InputStream loaded...328 bytes
11-11 10:56:42.100: I/jPCT-AE(26933): Default vertex shader is: /defaultVertexShader.src
11-11 10:56:42.100: I/jPCT-AE(26933): Loading file from InputStream
11-11 10:56:42.100: I/jPCT-AE(26933): Text file from InputStream loaded...1608 bytes
11-11 10:56:42.100: I/jPCT-AE(26933): Compiling shader program!
11-11 10:56:42.100: I/jPCT-AE(26933): Handles of 1470021: 1/15/2
11-11 10:56:42.100: I/jPCT-AE(26933): Loading default shaders (Depth)!
11-11 10:56:42.100: I/jPCT-AE(26933): 0 shaders in replacement map!
11-11 10:56:42.100: I/jPCT-AE(26933): Default fragment shader is: /defaultFragmentShader.src
11-11 10:56:42.110: I/jPCT-AE(26933): Loading file from InputStream
11-11 10:56:42.110: I/jPCT-AE(26933): Text file from InputStream loaded...745 bytes
11-11 10:56:42.110: I/jPCT-AE(26933): Default vertex shader is: /defaultVertexShader.src
11-11 10:56:42.120: I/jPCT-AE(26933): Loading file from InputStream
11-11 10:56:42.120: I/jPCT-AE(26933): Text file from InputStream loaded...248 bytes
11-11 10:56:42.120: I/jPCT-AE(26933): Compiling shader program!
11-11 10:56:42.120: I/jPCT-AE(26933): Handles of 1680024: 1/1/-1
11-11 10:56:42.120: I/jPCT-AE(26933): GL20 render pipeline initialized!
11-11 10:56:42.120: I/jPCT-AE(26933): OpenGL vendor:     Imagination Technologies
11-11 10:56:42.120: I/jPCT-AE(26933): OpenGL renderer:   PowerVR SGX 544MP
11-11 10:56:42.120: I/jPCT-AE(26933): OpenGL version:    OpenGL ES 2.0 build 1.10@2379759
11-11 10:56:42.120: I/jPCT-AE(26933): OpenGL renderer initialized (using 2/8 texture stages)
11-11 10:56:42.130: I/jPCT-AE(26933): Allocating native memory for 512*512 texture(true/false/false/false/): 524288 bytes!
11-11 10:56:42.130: I/jPCT-AE(26933): Creating texture buffer of size 131072
11-11 10:56:42.160: D/dalvikvm(26933): GC_FOR_ALLOC freed 1186K, 24% free 13744K/17944K, paused 32ms, total 32ms
11-11 10:56:42.190: I/jPCT-AE(26933): New texture's id is: 70001
11-11 10:56:42.200: I/jPCT-AE(26933): Mipmaps generated by the GPU in 4ms
11-11 10:56:42.200: I/jPCT-AE(26933): New texture uploaded: com.threed.jpct.Texture@42950f70 in thread Thread[GLThread 2105,5,main]
11-11 10:56:42.200: I/jPCT-AE(26933): Allocating native memory for 512*512 texture(true/false/false/false/): 524288 bytes!
11-11 10:56:42.200: I/jPCT-AE(26933): Creating texture buffer of size 131072
11-11 10:56:42.230: I/jPCT-AE(26933): New texture's id is: 140002
11-11 10:56:42.230: I/jPCT-AE(26933): Mipmaps generated by the GPU in 4ms
11-11 10:56:42.230: I/jPCT-AE(26933): New texture uploaded: com.threed.jpct.Texture@42922190 in thread Thread[GLThread 2105,5,main]
11-11 10:56:42.230: I/jPCT-AE(26933): Recompiling shader because of context change!
11-11 10:56:42.230: I/jPCT-AE(26933): Compiling shader program!
11-11 10:56:42.230: I/jPCT-AE(26933): Handles of 1890027: 3/10/1
11-11 10:56:42.230: I/jPCT-AE(26933): OpenGL context has changed(2)...recovering for renderer 1/0!
11-11 10:56:42.230: I/jPCT-AE(26933): Creating buffers...
11-11 10:56:42.250: I/jPCT-AE(26933): [ 1384167402261 ] - WARNING: Texture's size is 64/16, but textures should be square for OpenGL ES2.0! This may result in a black texture!
11-11 10:56:42.250: I/jPCT-AE(26933): Allocating native memory for 64*16 texture(true/false/false/false/): 2048 bytes!
11-11 10:56:42.250: I/jPCT-AE(26933): Creating texture buffer of size 512
11-11 10:56:42.250: I/jPCT-AE(26933): New texture's id is: 210003
11-11 10:56:42.250: I/jPCT-AE(26933): New texture uploaded: com.threed.jpct.Texture@429229c8 in thread Thread[GLThread 2105,5,main]
11-11 10:56:42.300: D/dalvikvm(26933): GC_CONCURRENT freed 2115K, 27% free 13225K/17944K, paused 9ms+4ms, total 62ms
11-11 10:56:50.150: I/jPCT-AE(26933): onPause

--- End code ---

EgonOlsen:
There's no error in this log output.

rainfalls:
When I

(1) used the new beta lib you linked above in the HelloShader sample,
AND
(2) changed the Android project build target to 4.2.2,

the results were:

(1) the activity of the sample program could be started without error on my teclast pad (the previously listed log),
BUT
(2) the texture of the rendered object was not correct, as shown in the second image in my first post.

And, if I:

(1) used the old lib (jpct-ae.1.27.2013.07.04) in the HelloShader sample,
OR
(2) set android project build target back to 2.3.3 as originally in the sample souce code,

then the activity of the program could not be started with the compling shader error "ERROR: glAttachShader - vertex shader: glError 1280". Do you need the log in those two situations?

EgonOlsen:
I see. And i really dislike Android's Activity management. It's not clear to me what it does there...there are some devices out there that do strange things. I'm not sure if that the root cause for the problem, but this one behaves strange anyway. It calls onSurfaceChanged twice, an onPause inbetween and onResume after the it is done with the first onSurfaceChanged. That doesn't make any sense...

However, i've changed the example to behave like my RPG game does. Please give it a try and see if that changes something:


--- Code: ---package com.threed.jpct.shader;

import java.lang.reflect.Field;

import javax.microedition.khronos.egl.EGLConfig;
import javax.microedition.khronos.opengles.GL10;

import android.app.Activity;
import android.content.res.Resources;
import android.opengl.GLSurfaceView;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.ScaleGestureDetector;
import android.view.ScaleGestureDetector.OnScaleGestureListener;

import com.threed.jpct.Camera;
import com.threed.jpct.FrameBuffer;
import com.threed.jpct.GLSLShader;
import com.threed.jpct.ITextureEffect;
import com.threed.jpct.Light;
import com.threed.jpct.Loader;
import com.threed.jpct.Logger;
import com.threed.jpct.Object3D;
import com.threed.jpct.Primitives;
import com.threed.jpct.RGBColor;
import com.threed.jpct.SimpleVector;
import com.threed.jpct.Texture;
import com.threed.jpct.TextureInfo;
import com.threed.jpct.TextureManager;
import com.threed.jpct.World;
import com.threed.jpct.util.MemoryHelper;

/**
 *
 *
 * @author EgonOlsen
 *
 */
public class HelloShader extends Activity implements OnScaleGestureListener {

// Used to handle pause and resume...
private static HelloShader master = null;

private ScaleGestureDetector gestureDec = null;

private GLSurfaceView mGLView;
private MyRenderer renderer = null;
private FrameBuffer fb = null;
private World world = null;
private RGBColor back = new RGBColor(50, 50, 100);

private float touchTurn = 0;
private float touchTurnUp = 0;

private float xpos = -1;
private float ypos = -1;

private Texture font = null;

private Object3D plane;
private Light light;

private GLSLShader shader = null;

private float scale = 0.05f;

protected void onCreate(Bundle savedInstanceState) {
Logger.log("onCreate");
Logger.setLogLevel(Logger.LL_DEBUG);

if (master != null) {
copy(master);
}

super.onCreate(savedInstanceState);
mGLView = new GLSurfaceView(getApplication());

// Enable the OpenGL ES2.0 context
mGLView.setEGLContextClientVersion(2);

renderer = new MyRenderer();
mGLView.setRenderer(renderer);
setContentView(mGLView);

gestureDec = new ScaleGestureDetector(this.getApplicationContext(), this);
}

@Override
protected void onPause() {
Logger.log("onPause");
super.onPause();
mGLView.onPause();
}

@Override
protected void onResume() {
Logger.log("onResume");
super.onResume();
mGLView.onResume();
}

@Override
protected void onStop() {
Logger.log("onStop");
super.onStop();
}

private void copy(Object src) {
try {
Logger.log("Copying data from master Activity!");
Field[] fs = src.getClass().getDeclaredFields();
for (Field f : fs) {
f.setAccessible(true);
f.set(this, f.get(src));
}
} catch (Exception e) {
throw new RuntimeException(e);
}
}

public boolean onTouchEvent(MotionEvent me) {

gestureDec.onTouchEvent(me);

if (me.getAction() == MotionEvent.ACTION_DOWN) {
xpos = me.getX();
ypos = me.getY();
return true;
}

if (me.getAction() == MotionEvent.ACTION_UP) {
xpos = -1;
ypos = -1;
touchTurn = 0;
touchTurnUp = 0;
return true;
}

if (me.getAction() == MotionEvent.ACTION_MOVE) {
float xd = me.getX() - xpos;
float yd = me.getY() - ypos;

xpos = me.getX();
ypos = me.getY();

touchTurn = xd / -100f;
touchTurnUp = yd / -100f;
return true;
}

try {
Thread.sleep(15);
} catch (Exception e) {
// No need for this...
}

return super.onTouchEvent(me);
}

protected boolean isFullscreenOpaque() {
return true;
}

class MyRenderer implements GLSurfaceView.Renderer {

private boolean hasToCreateBuffer = false;
private GL10 lastInstance = null;
private int w = 0;
private int h = 0;
private int fps = 0;
private int lfps = 0;

private long time = System.currentTimeMillis();

public MyRenderer() {
Texture.defaultToMipmapping(true);
Texture.defaultTo4bpp(true);
}

public void onSurfaceChanged(GL10 gl, int width, int height) {
Resources res = getResources();

if (master == null) {
Logger.log("Initializing buffer...");
fb = new FrameBuffer(width, height);

Logger.log("Initializing game...");
world = new World();

TextureManager tm = TextureManager.getInstance();

Texture face = new Texture(res.openRawResource(R.raw.face));
Texture normals = new Texture(res.openRawResource(R.raw.face_norm), true);
Texture heighty = new Texture(res.openRawResource(R.raw.face_height2));

plane = Primitives.getPlane(1, 100);

TexelGrabber grabber = new TexelGrabber();
heighty.setEffect(grabber);
heighty.applyEffect();
int[] heighties = grabber.getAlpha();

AlphaMerger setter = new AlphaMerger(heighties);
normals.setEffect(setter);
normals.applyEffect();

font = new Texture(res.openRawResource(R.raw.numbers));
font.setMipmap(false);

tm.addTexture("face", face);
tm.addTexture("normals", normals);

TextureInfo ti = new TextureInfo(TextureManager.getInstance().getTextureID("face"));
ti.add(TextureManager.getInstance().getTextureID("normals"), TextureInfo.MODE_BLEND);

plane.setTexture(ti);

shader = new GLSLShader(Loader.loadTextFile(res.openRawResource(R.raw.vertexshader_offset)), Loader.loadTextFile(res.openRawResource(R.raw.fragmentshader_offset)));
plane.setShader(shader);
plane.setSpecularLighting(true);
shader.setStaticUniform("invRadius", 0.0003f);

plane.build();
plane.strip();

world.addObject(plane);

light = new Light(world);
light.enable();

light.setIntensity(60, 50, 50);
light.setPosition(SimpleVector.create(-10, -50, -100));

world.setAmbientLight(10, 10, 10);

Camera cam = world.getCamera();
cam.moveCamera(Camera.CAMERA_MOVEOUT, 70);
cam.lookAt(plane.getTransformedCenter());

MemoryHelper.compact();

world.compileAllObjects();

if (master == null) {
Logger.log("Saving master Activity!");
master = HelloShader.this;
}
} else {
if (lastInstance != gl) {
Logger.log("Setting buffer creation flag...");
this.hasToCreateBuffer = true;
w = width;
h = height;
}
}
lastInstance = gl;
}

public void onSurfaceCreated(GL10 gl, EGLConfig config) {
Logger.log("onSurfaceCreated");
}

public void onDrawFrame(GL10 gl) {

if (this.hasToCreateBuffer) {
Logger.log("Recreating buffer...");
hasToCreateBuffer = false;
fb = new FrameBuffer(w, h);
}

if (touchTurn != 0) {
plane.rotateY(touchTurn);
touchTurn = 0;
}

if (touchTurnUp != 0) {
plane.rotateX(touchTurnUp);
touchTurnUp = 0;
}

shader.setUniform("heightScale", scale);

fb.clear(back);
world.renderScene(fb);
world.draw(fb);
blitNumber(lfps, 5, 5);
fb.display();

if (System.currentTimeMillis() - time >= 1000) {
lfps = fps;
fps = 0;
time = System.currentTimeMillis();
}
fps++;
}

private void blitNumber(int number, int x, int y) {
if (font != null) {
String sNum = Integer.toString(number);

for (int i = 0; i < sNum.length(); i++) {
char cNum = sNum.charAt(i);
int iNum = cNum - 48;
fb.blit(font, iNum * 5, 0, x, y, 5, 9, 5, 9, 10, true, null);
x += 5;
}
}
}
}

public boolean onScale(ScaleGestureDetector detector) {
float div = detector.getCurrentSpan() - detector.getPreviousSpan();
div /= 5000;

scale += div;

if (scale > 0.063f) {
scale = 0.063f;
}
if (scale < 0) {
scale = 0;
}

return true;
}

public boolean onScaleBegin(ScaleGestureDetector detector) {
// TODO Auto-generated method stub
return true;
}

public void onScaleEnd(ScaleGestureDetector detector) {
// TODO Auto-generated method stub
}

/**
* Merges the height map into the alpha channel of the normal map.
*
* @author EgonOlsen
*
*/
private static class AlphaMerger implements ITextureEffect {

private int[] alpha = null;

public AlphaMerger(int[] alpha) {
this.alpha = alpha;
}

public void apply(int[] arg0, int[] arg1) {
int end = arg1.length;
for (int i = 0; i < end; i++) {
arg0[i] = arg1[i] & 0x00ffffff | alpha[i];
}
}

public boolean containsAlpha() {
return true;
}

public void init(Texture arg0) {
// TODO Auto-generated method stub
}
}

/**
* Extracts the alpha channel from a texture.
*
* @author EgonOlsen
*
*/
private static class TexelGrabber implements ITextureEffect {

private int[] alpha = null;

public void apply(int[] arg0, int[] arg1) {
alpha = new int[arg1.length];
int end = arg1.length;
for (int i = 0; i < end; i++) {
alpha[i] = (arg1[i] << 24);
}
}

public int[] getAlpha() {
return alpha;
}

public boolean containsAlpha() {
return true;
}

public void init(Texture arg0) {
// TODO Auto-generated method stub
}
}
}


--- End code ---

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version