Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - AeroShark333

Pages: 1 ... 6 7 [8] 9 10 11
106
Support / Re: Object3D's transparency issue
« on: May 30, 2015, 09:57:57 pm »
Thanks for the help! It works like a charm and it doesn't lag at all really :)

107
Support / Re: Object3D's transparency issue
« on: May 30, 2015, 04:21:08 pm »
I tried both: both lead to the same stacktrace/crash.
The only place it does work is when it is initializing the renderer. (before adding it to the world)

EDIT: If I remove Object3D.strip() then it won't crash, however the new meshdata is not completely applied.
It is applied (since I can see another Object3D, which is tied to a the Object3D's mesh's SimpleVector, does move)
But the new shape/texturedeforming is not visible. Only the initialized meshdata form is applied, not the changes that I want to apply in the renderer/listener.

108
Support / Re: Object3D's transparency issue
« on: May 30, 2015, 01:42:40 pm »
Hmm, I have been getting a nullpointerexception and I have no idea how to fix it.
Basically I am trying to alter the meshdata while running the application.
Code:
Code: [Select]
Mesh mesh = rA.getMesh();
mesh.setVertexController(new GenericVertexController(){

private static final long serialVersionUID = 1311476511641434156L;

@Override
public void apply() {
SimpleVector[] s = getSourceMesh();
//System.out.println("length:"+ s.length);
SimpleVector[] d = getDestinationMesh();
for (int i = 0; i < 26;i++){
d[i].z =  s[i].z - (lastX - firstX)*0.001f * (i/2) * (i/2);
d[i+26].z =  s[i+26].z -(lastX - firstX)* 0.001f * (i/2) * (i/2);
d[i].x = s[i].x;
d[i].y = s[i].y;
}
}

}, true);
mesh.applyVertexController();
mesh.removeVertexController();

Stacktrace:
Code: [Select]
05-30 13:36:21.741: W/dalvikvm(5893): threadid=17: thread exiting with uncaught exception (group=0xa61f2908)
05-30 13:36:21.745: E/AndroidRuntime(5893): FATAL EXCEPTION: GLThread 392
05-30 13:36:21.745: E/AndroidRuntime(5893): java.lang.NullPointerException
05-30 13:36:21.745: E/AndroidRuntime(5893): at com.threed.jpct.GenericVertexController.init(GenericVertexController.java:88)
05-30 13:36:21.745: E/AndroidRuntime(5893): at com.threed.jpct.Mesh.setVertexController(Mesh.java:164)
05-30 13:36:21.745: E/AndroidRuntime(5893): at com.aeroshark333.skinviewer.SkinActivity$18.run(SkinActivity.java:1251)
05-30 13:36:21.745: E/AndroidRuntime(5893): at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1462)
05-30 13:36:21.745: E/AndroidRuntime(5893): at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1240)

The code is run in a queued GL-thread.

109
Support / Re: Object3D's transparency issue
« on: May 03, 2015, 06:44:18 pm »
An Android 4.3 reference image (see previous post)

110
Support / Re: Object3D's transparency issue
« on: May 03, 2015, 06:43:20 pm »
I have a small issue and I do not know why I have this problem.
The head on Android 2.2 does look filtered, while it is not filtered on Android 4.3.
(Android 2.2 uses OpenGL 1.0 (SDK emulator) and Android 4.3 uses OpenGL 2.0 (Genymotion emulator))
The weird thing is: the rest of the body is not filtered on Android 2.2 (or looks not filtered), which is why I think this issue does not make sense.
And when I apply a body texture to the head object (in code), then it is not filtered.
So I cannot blame the object for filtering the textures.
I do not know why the head textures are filtered on Android 2.2 but not on Android 4.3.

111
Support / Re: Object3D's transparency issue
« on: April 26, 2015, 01:10:57 pm »
Hmm, you're right... I don't really have a reason for the flushing in onPause... So I guess I'll remove that line.

And what about the stacktrace?

112
Support / Re: Object3D's transparency issue
« on: April 25, 2015, 03:41:07 pm »
So...
This is the problem causer? (the only time I use .flush();):
Code: [Select]
@Override
public void onPause() {
hasRendererLoaded = false;
gLView.onPause();
super.onPause();
TextureManager.getInstance().flush();
this.finish();
}

But even then...:
Code: [Select]
@Override
public void onDrawFrame(GL10 gl) {
if (!hasRendererLoaded) {
return;

                // irrelevant code

                       }

}

Textures won't really be used if it 'return;'s.

Also... I have a new stacktrace from an user:
Code: [Select]
java.lang.RuntimeException: [ 1429958366470 ] - ERROR: Failed to load and compile fragment shaders!
at com.threed.jpct.Logger.log(Logger.java:206)
at com.threed.jpct.GLSLShader.loadProgram(GLSLShader.java:1077)
at com.threed.jpct.GLSLShader.preInit(GLSLShader.java:285)
at com.threed.jpct.GL20.setShader(GL20.java:362)
at com.threed.jpct.GLRenderer.setShader(GLRenderer.java:553)
at com.threed.jpct.CompiledInstance.render(CompiledInstance.java:189)
at com.threed.jpct.GLRenderer.drawVertexArray(GLRenderer.java:2308)
at com.threed.jpct.World.draw(World.java:1417)
at com.threed.jpct.World.draw(World.java:1100)
at com.aeroshark333.skinviewer.SkinActivity$ViewerRenderer.onDrawFrame(SkinActivity.java:1659)
at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1363)
at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1118)

Line #1659
Code: [Select]
mainWorld.draw(frameBuffer);
Device information:
LG-P920 (cosmo_TMO-XXX)
Android 2.3.3 - 2.3.7

113
Support / Re: Object3D's transparency issue
« on: April 24, 2015, 10:41:34 am »
Hmm, okay! Thanks for the help. (it happened on just one device, I guess the user is unlucky then...)

A new stacktrace:
Code: [Select]
java.lang.NullPointerException: Attempt to invoke virtual method 'int com.threed.jpct.Texture.getOpenGLID(int)' on a null object reference
at com.threed.jpct.GLRenderer.setTextures(GLRenderer.java:2441)
at com.threed.jpct.GLRenderer.drawVertexArray(GLRenderer.java:2297)
at com.threed.jpct.World.draw(World.java:1417)
at com.threed.jpct.World.draw(World.java:1100)
at com.aeroshark333.skinviewer.SkinActivity$ViewerRenderer.onDrawFrame(SkinActivity.java:1659)
at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1531)
at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1248)

line #1659
Code: [Select]
mainWorld.draw(frameBuffer);
Amount of reports: 1
Android: 5.0
Device: Samsung Galaxy S5

As far as I know... I am not messing with Object textures...

114
Support / Re: EGL_BAD_ALLOC error
« on: April 15, 2015, 11:07:37 pm »
No sorry, this is all I got...

115
Support / Re: EGL_BAD_ALLOC error
« on: April 14, 2015, 02:45:48 pm »
So I got a new stacktrace...

Code: [Select]
java.lang.RuntimeException: [ 1428953336458 ] - ERROR: java.lang.RuntimeException: [ 1428953336457 ] - ERROR: java.lang.RuntimeException: [ 1428953336456 ] - ERROR: java.lang.RuntimeException: [ 1428953336450 ] - ERROR: Failed to load and compile fragment shaders!
at com.threed.jpct.Logger.log(Logger.java:206)
at com.threed.jpct.GLSLShader.loadProgram(GLSLShader.java:1077)
at com.threed.jpct.GLSLShader.<init>(GLSLShader.java:265)
at com.threed.jpct.GL20.<init>(GL20.java:124)
at java.lang.Class.newInstanceImpl(Native Method)
at java.lang.Class.newInstance(Class.java:1440)
at com.threed.jpct.GLRenderer.init(GLRenderer.java:403)
at com.threed.jpct.GLRenderer.init(GLRenderer.java:384)
at com.threed.jpct.FrameBuffer.<init>(FrameBuffer.java:94)
at com.threed.jpct.FrameBuffer.<init>(FrameBuffer.java:119)
at com.aeroshark333.skinviewer.SkinActivity$ViewerRenderer.onSurfaceChanged(SkinActivity.java:1484)
at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1401)
at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1154)

at com.threed.jpct.Logger.log(Logger.java:206)
at com.threed.jpct.Logger.log(Logger.java:150)
at com.threed.jpct.GLSLShader.<init>(GLSLShader.java:269)
at com.threed.jpct.GL20.<init>(GL20.java:124)
at java.lang.Class.newInstanceImpl(Native Method)
at java.lang.Class.newInstance(Class.java:1440)
at com.threed.jpct.GLRenderer.init(GLRenderer.java:403)
at com.threed.jpct.GLRenderer.init(GLRenderer.java:384)
at com.threed.jpct.FrameBuffer.<init>(FrameBuffer.java:94)
at com.threed.jpct.FrameBuffer.<init>(FrameBuffer.java:119)
at com.aeroshark333.skinviewer.SkinActivity$ViewerRenderer.onSurfaceChanged(SkinActivity.java:1484)
at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1401)
at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1154)

at com.threed.jpct.Logger.log(Logger.java:206)
at com.threed.jpct.Logger.log(Logger.java:138)
at com.threed.jpct.GLRenderer.init(GLRenderer.java:405)
at com.threed.jpct.GLRenderer.init(GLRenderer.java:384)
at com.threed.jpct.FrameBuffer.<init>(FrameBuffer.java:94)
at com.threed.jpct.FrameBuffer.<init>(FrameBuffer.java:119)
at com.aeroshark333.skinviewer.SkinActivity$ViewerRenderer.onSurfaceChanged(SkinActivity.java:1484)
at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1401)
at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1154)

at com.threed.jpct.Logger.log(Logger.java:206)
at com.threed.jpct.Logger.log(Logger.java:150)
at com.threed.jpct.FrameBuffer.<init>(FrameBuffer.java:96)
at com.threed.jpct.FrameBuffer.<init>(FrameBuffer.java:119)
at com.aeroshark333.skinviewer.SkinActivity$ViewerRenderer.onSurfaceChanged(SkinActivity.java:1484)
at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1401)
at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1154)

Code:
Code: [Select]
public ViewerRenderer(final boolean use3dSword,
final boolean use2dSword, final boolean supportsEs2,
final TextureManager tM) {
                        // irrelevant code
GLSLShader shader = new GLSLShader(
getStringFromFile(R.raw.alphatest_vs),
getStringFromFile(R.raw.alphatest_fs));
                       // irrelevant code
}
Code: [Select]
@Override
public void onSurfaceChanged(GL10 gl, int width, int height) {
// irrelevant code
     this.frameBuffer = new FrameBuffer(width, height); //line 1484
                       // irrelevant code
}
Code: [Select]
private String getStringFromFile(final int id) {
final InputStream stream1 = getResources().openRawResource(id);
final BufferedReader reader = new BufferedReader(
new InputStreamReader(stream1));
String result = "";
try {
String line;
while ((line = reader.readLine()) != null) {
result += line + "\n";
}
} catch (final IOException e1) {
final InputStream stream2 = getResources().openRawResource(id);
result = Loader.loadTextFile(stream2);
try {
stream2.close();
} catch (IOException e2) {
// Doesn't matter
e2.printStackTrace();
}
if (result == "" || result == null) {
throw new RuntimeException(
"Could not get the String from the Resources", e1);
} else {
return result;
}
} finally {
try {
stream1.close();
reader.close();
} catch (IOException e3) {
// Doesn't matter
e3.printStackTrace();
}
}
return result;
}

EDIT:
Some side information:
- Crash happened on a Android 2.3.3 - 2.3.7 (Device 'name': h712a)
- The version of Skin Viewer 3D he used, does have the new shader loader.
- This stacktrace is new, I have not seen this one before... However, it sort of looks the same as the previous stacktrace... But somewhy FrameBuffer is involved this time? o.O
- Only one user (of the 82165 users (where 13948 active)) reported the crash with this stacktrace. The previous one was reported 9 times. (different users too)

116
Support / Re: Shader for blitting
« on: April 08, 2015, 04:46:00 pm »
I thought you could manipulate colors (or pixels) with the EGLConfig... but I'm not sure

117
Support / Re: Shader for blitting
« on: April 07, 2015, 07:04:32 pm »
Using a custom EGLConfigChooser/EGLConfig on GLSurfaceView?

118
Support / Re: EGL_BAD_ALLOC error
« on: April 07, 2015, 07:01:46 pm »
So basically:
Code: [Select]
throw new RuntimeException(
"Could not get the String from the Resources", e1);

119
Support / Re: EGL_BAD_ALLOC error
« on: April 05, 2015, 02:17:01 pm »
Something like this?:
Code: [Select]
private String getStringFromFile(final int id) {
final InputStream stream1 = getResources().openRawResource(id);
final BufferedReader reader = new BufferedReader(
new InputStreamReader(stream1));
String result = "";
try {
String line;
while ((line = reader.readLine()) != null) {
result += line + "\n";
}
} catch (final IOException e1) {
final InputStream stream2 = getResources().openRawResource(id);
result = Loader
.loadTextFile(stream2);
try {
stream2.close();
} catch (IOException e2) {
// Doesn't matter
e2.printStackTrace();
}
if (result == "" || result == null) {
throw new RuntimeException(
"Could not get the String from the Resources");
} else {
return result;
}
} finally {
try {
stream1.close();
reader.close();
} catch (IOException e3) {
// Doesn't matter
e3.printStackTrace();
}
}
return result;
}

One problem is that this error does not show up a lot in the Google Play Store Developers Console really... Which makes it harder for me to judge whether the bug/crash is fixed or not.

120
Support / Re: EGL_BAD_ALLOC error
« on: March 27, 2015, 11:43:44 am »
GLSLShader loader:
Code: [Select]
GLSLShader shader = new GLSLShader(getStringFromFile(R.raw.alphatest_vs),
getStringFromFile(R.raw.alphatest_fs));

//apply to all objects
iH = new InnerHead(shader);
oH = new OuterHead(shader);

Textfile loader:
Code: [Select]
private String getStringFromFile(int id) {
final InputStream stream = getResources().openRawResource(id);
final BufferedReader reader = new BufferedReader(new InputStreamReader(
stream));
String result = "";
try {
String line;
while ((line=reader.readLine()) != null) {
result += line + "\n";
}
} catch (final IOException e) {
e.printStackTrace();
}
return result;
}

Pages: 1 ... 6 7 [8] 9 10 11