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-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to