You should be able to make it work with OpenGL ES 1.0 by choosing another blending equation.
On Wed, Aug 8, 2012 at 4:44 AM, Tobias Reich <[email protected]>wrote: > Okay, I will try this but after all, it happens in OpenGL 1.0 as well and > there is no chance to change the shader there. > What could I do there? And why did it work on older phones/android > versions like the S1 and the S2 with Android 2.x? > > Am Dienstag, 7. August 2012 09:08:57 UTC+2 schrieb Romain Guy (Google): >> >> Hi, >> >> You should output your colors with premultiplied alpha. Your code should >> look like this: >> >> vec3 color = clamp(textureColor.rgb * lightWeighting.xyz, 0.0, 1.0); >> color *= 0.5; // premultiply by alpha >> >> gl_FragColor = vec4(color, 0.5); >> >> >> >> On Mon, Aug 6, 2012 at 4:21 PM, Tobias Reich <[email protected]> wrote: >> >>> I'm working on a new Galaxy S3 and found a problem that didn't occur on >>> other phones like my old Galaxy S1 or the Galaxy S2 - which has almost the >>> same GPU as the S3. >>> When drawing my OpenGL models on top of my camera image like this: >>> >>> mGLView = new GLSurfaceView(this); >>> mGLView.setOnClickListener(**InputManager.getInstance()); >>> GameRenderer renderer = new GameRenderer(kamera, this); >>> InputManager.getInstance().**currentActivity = renderer; >>> mGLView.**setEGLContextClientVersion(2); >>> mGLView.setEGLConfigChooser(8, 8, 8, 8, 16, 0); >>> setPreserveEGLContextOnPause >>> mGLView.getHolder().setFormat(**PixelFormat.TRANSLUCENT); >>> mGLView.setZOrderOnTop(true); mGLView.setRenderer(renderer); >>> setContentView(new CameraView(this), new >>> LayoutParams(LayoutParams.**MATCH_PARENT, >>> LayoutParams.MATCH_PARENT)); addContentView(mGLView, new >>> LayoutParams(LayoutParams.**MATCH_PARENT, LayoutParams.MATCH_PARENT)); >>> >>> So the GLRenderer should be transparent. It actually is. It works fine >>> for all the objects that are opaque as well as the background (where I see >>> the image of the camera) >>> >>> My problem is, when I make the pixels semi-transparent in the fragment >>> Shader I get a weird result. The brightest pixels seem overexpose when >>> "blending together". And it looks like they got clamped after so the value >>> that brighter than white - loosing probably the first bit - got dark again. >>> So only the brightest pixels are affected. It happens even if I use a >>> simple call like: >>> >>>> gl_FragColor = vec4(clamp(textureColor.rgb * lightWeighting.xyz, 0.0, >>>> 1.0), 0.5); >>>> >>>> >>> >>> So the actual GL-Fragment is clamped and I'm pretty sure it comes from >>> the camera preview itself. Here is an image that describes my problem: >>> >>> >>> <https://lh6.googleusercontent.com/-XhUolY4rNXA/UCBQnwRqb6I/AAAAAAAAAAM/YgzaE-KfGZs/s1600/glProblem.jpg> >>> >>> I get more and more convinced that it is an "overflow" for the values >>> but how can I change this? By the way - perhaps it helps - this effect gets >>> stronger the lower the alpha value of the fragment (the gl rendered one) >>> is. So somehow it looks like something is compensating/normalizing the >>> "semi transparent" values. >>> >>> Is there any way of "clamping" both values together since in the Shader >>> I can only clamp the actual rendered fragment somehow without asking for >>> the camera preview values. :-( >>> Thank you very much! I hope it is not a severe problem, >>> >>> Tobias Reich >>> >>> >>> >>> >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "Android Developers" group. >>> To post to this group, send email to android-d...@**googlegroups.com >>> To unsubscribe from this group, send email to >>> android-developers+**[email protected] >>> For more options, visit this group at >>> http://groups.google.com/**group/android-developers?hl=en<http://groups.google.com/group/android-developers?hl=en> >> >> >> >> >> -- >> Romain Guy >> Android framework engineer >> [email protected] >> >> -- > You received this message because you are subscribed to the Google > Groups "Android Developers" group. > To post to this group, send email to [email protected] > To unsubscribe from this group, send email to > [email protected] > For more options, visit this group at > http://groups.google.com/group/android-developers?hl=en -- Romain Guy Android framework engineer [email protected] -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/android-developers?hl=en

