Comments (7)
Cheers Arjan, I'll investigate.
from rajawali.
Not sure if it is related, but I always get these two errors:
05-31 10:36:11.595: E/Adreno200-ES20(3132): <process_gl_state_enables:456>: GL_INVALID_ENUM
05-31 10:36:32.825: E/Adreno200-ES20(3132): <qgl2DrvAPI_glDeleteTextures:720>: GL_INVALID_VALUE
The former always comes before 05-31 10:36:32.665: D/Rajawali(3132): Creating OpenGL ES 2.0 context
And the latter comes after it.
from rajawali.
I found at least some source of these errors.
In OpenGL ES 2.0 it is no longer required to glEnable(GL_TEXTURE2D)
In fact is is no longer allowed and will throw a GL_INVALID_ENUM error (as described in 2.0 spec: http://www.khronos.org/opengles/sdk/docs/man/)
The problem i found was in AMaterial;.bindTextures(). I did not search further, but i assume similar openGL ES 1.x style calls may be presesent in your code.
If you would be so kind to fix them it would be greatly appreciated as i enjoy using your framework.
from rajawali.
In relation to my last comment: In fact the bind and unbind functions in AMaterial can be completely removed, as well as a call to enable/disable a cubemap texture (search for glEnable to locate it).
After removing these calls i also noticed a lot of errors when pausing/resuming the app. In BaseObject3D.render() there is a call to mMaterial.useProgram(); which results in an INVALID_VALUE error. I think there might be something wrong when an app is resumed such that the program is not re-created.
from rajawali.
Awesome, thanks for investigating :-) I'll try to make the changes today.
from rajawali.
Great!
Btw, for faster bug hunting i added the following class
public class Test {
public static void checkError(StackTraceElement stackTraceElement) {
int error;
while ((error = GLES20.glGetError()) != GLES20.GL_NO_ERROR) {
Log.v(stackTraceElement.getClassName()+"."+stackTraceElement.getMethodName()+":"+ stackTraceElement.getLineNumber(), "glError: " + GLU.gluErrorString(error));
}
}
}
And added lots of these calls to the code:
Test.checkError(Thread.currentThread().getStackTrace()[2]);
It makes it easier to quickly locate the source of errors. Good luck finding the bugs.
from rajawali.
I'm working on this, but I'm running out of time. Will continue working on this after the weekend.
from rajawali.
Related Issues (20)
- Seeking Lighten and Darken Blend Modes
- Seeking point texture plugin
- improving SpriteSheetMaterialPlugin efficiency HOT 1
- Seeking Flexible Sprite Sheet Animation
- Seeking runtime adjustment of AlphaMask threshold
- Please restore AnimatedSpritesFragment to example app
- Stencil Buffer is not initializing corrrectly,
- Some `ScreenQuad` materials spew error messages at frame rate
- Objects starts to render with delay when camera if far from them HOT 1
- How to translate object with touch screen?
- anyway to implement ray in the library?
- Create Sphere with phiStart, phiLength, thetaStart, thetaLength HOT 1
- LoaderFBX.java:347 ArrayIndexOutOfBoundsException
- display obj model in AR
- Examples are broken
- When will the new version be released?
- load obj file fail,NumberFormatException: For input string: "nan"
- Caused by: org.rajawali3d.loader.ParsingException: Couldn't find texture ingrid HOT 1
- Why is my line3d truncated?
- How do I rotate multiple views around
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rajawali.