[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Public WebGL] Weird alpha issue.




----- Original Message -----
> I've been running with the validator turned on - turning it off didn't
> make a bit of difference. FWIW: I'm getting the same results on the
> Minefield/Linux 64bit version. I get no errors/warnings/messages in
> the
> Error console

Do you have webgl.verbose=true ?

> and no GL errors in either Minefield or Chrome (although
> I
> may not be checking absolutely everywhere).
> 
> I've tried three chrome builds under Win7/32bit:
> 
> 9.0.567.0 -- Canary, fresh install - 10 minutes ago.
> 8.0.553.25 -- Dev channel.
> 7.0.501.0(56955) -- I forget where this came from.
> 
> ...always the same result, light smoke under Chrome, dark under
> Minefield.
> 
> Is it possible that some "default" setting in the WebKit stuff is set
> differently by Chrome & Minefield? Maybe other tests have been
> overriding that default - and I'm not?

I can't see any "setting" being relevant here. My only suspiscion at the moment is that Minefield might be rejecting your smoke texture (because of e.g. a NPOT issue) hence rendering it as black; since this part of the spec is tricky, there could be a bug in either implementation.

If that is the case, you will definitely see a message in the error console when you run with webgl.verbose=true.

Benoit

> 
> Unless there are other suggestions, I'll start reducing it down to the
> simplest case I can and put up an example page. That might take a day
> or two though - I have some other commitments to handle first.
> 
> -- Steve
> 
> 
> On 10/30/2010 04:54 PM, Benoit Jacob wrote:
> > I'm a bit clueless here; since you're getting this in current
> > nightlies, we do share the same code with WebKit for WebGL texture
> > format conversions, so that can't be the explanation.
> >
> > Does it make any difference when you go to about:config and toggle
> > the preference webgl.shader_validator?
> >
> > Benoit
> >
> > ----- Original Message -----
> >
> >> I have Minefield set up to auto-update and it actually updated just
> >> as
> >> I
> >> started typing this email - so I guess I have the latest! ...and
> >> the
> >> color is still much darker than in Chrome.
> >>
> >> I took a pair of side-by-side screenshots with the latest versions
> >> of
> >> both browsers:
> >>
> >> http://www.sjbaker.org/tmp/smoke_differences.png
> >>
> >> (It's kinda hard to see the smoke on the Minefield side - but it's
> >> much
> >> more obvious in motion).
> >>
> >> If it helps, the texture map is in:
> >>
> >> http://www.sjbaker.org/tmp/Smoke.png
> >>
> >> -- Steve
> >>
> >>
> >>
> >> On 10/30/2010 11:08 AM, Benoit Jacob wrote:
> >>
> >>> What's your Minefield build? Two weeks ago, I landed important
> >>> texture fixes that could be related to that. Please try with the
> >>> latest nightly:
> >>>
> >>> http://nightly.mozilla.org/
> >>>
> >>> Benoit
> >>>
> >>> ----- Original Message -----
> >>>
> >>>
> >>>> I'm running some particle system tests - using an RGBA .png image
> >>>> with
> >>>> fuzzy mid-grey translucent smoke puffs. There are lots of
> >>>> particles
> >>>> layered on top of each other.
> >>>>
> >>>> What's odd is that the smoke puff is much lighter in color on
> >>>> Chrome
> >>>> than it is on Minefield - even with both browsers running
> >>>> side-by-side
> >>>> on the exact same Win7/32bit/nVidia machine displaying the exact
> >>>> same
> >>>> scene. Everything else in the scene looks utterly identical in
> >>>> the
> >>>> two
> >>>> windows.
> >>>>
> >>>> I'm kinda suspecting some funky thing going on with
> >>>> pre-multiplied
> >>>> alpha. Is someone messing with my texture?
> >>>>
> >>>> DETAILS:
> >>>>
> >>>> The setup for drawing is:
> >>>>
> >>>> gl.enable ( gl.DEPTH_TEST ) ;
> >>>> gl.depthMask ( false ) ;
> >>>> gl.enable ( gl.BLEND ) ;
> >>>> gl.blendFunc ( gl.SRC_ALPHA, gl.ONE_MINUS_SRC_ALPHA ) ;
> >>>>
> >>>> ...with everything else left at default values.
> >>>>
> >>>> The frag shader says:
> >>>>
> >>>> float4 color = texture2D ( fire, UV ).rgba * (1.0-smokeAmount) +
> >>>> texture2D ( smoke, UV ).rgba * smokeAmount ;
> >>>> color.a *= timeVaryingAlpha ;
> >>>> gl_FragColor = color ;
> >>>> }
> >>>>
> >>>> ...and in this case, smokeAmount is 1.0 (so we should see only
> >>>> the
> >>>> smoke
> >>>> map...and that works) and timeVaryingAlpha varies between 0.0 and
> >>>> 1.0
> >>>> as
> >>>> you'd expect.
> >>>>
> >>>> My image 'onload' function says:
> >>>>
> >>>> gl.bindTexture ( gl.TEXTURE_2D, texture ) ;
> >>>> gl.pixelStorei ( gl.UNPACK_FLIP_Y_WEBGL, true);
> >>>> gl.texImage2D ( gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA,
> >>>> gl.UNSIGNED_BYTE, image ) ;
> >>>> gl.generateMipmap ( gl.TEXTURE_2D ) ;
> >>>> gl.bindTexture ( gl.TEXTURE_2D, null ) ;
> >>>>
> >>>> Help!
> >>>>
> >>>> -- Steve
> >>>>
> >>>> -----------------------------------------------------------
> >>>> You are currently subscribed to public_webgl@khronos.org.
> >>>> To unsubscribe, send an email to majordomo@khronos.org with
> >>>> the following command in the body of your email:
> >>>>
> >>>>
-----------------------------------------------------------
You are currently subscribed to public_webgl@khronos.org.
To unsubscribe, send an email to majordomo@khronos.org with
the following command in the body of your email: