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

Re: [Public WebGL] Retrieving number of texture channels



On Mon, Feb 22, 2010 at 9:41 AM, Yvonne Jung
<yvonne.jung@igd.fraunhofer.de> wrote:
> Hi all,
>
> is there already a possibility to retrieve the number of present texture
> channels (intensity, luminance-alpha, rgb or rgba texture) in WebGL?
>
> Because according to the X3D lighting model a material's diffuse color
> modulates the color of the texture in case of a one or two channel texture,
> which we need to know for implementing this correctly in X3DOM. If instead
> the texture has three or four channels (the typical case), the color of the
> texture is used as the diffuse color.
> You can find an example demonstrating this issue here:
> http://x3dom.org/x3dom/example/x3dom_imageChannels.xhtml

Unfortunately OpenGL ES seems to have dropped the
glGetTexLevelParameter query, which is needed to query the texture's
internal format, so WebGL doesn't currently contain it.

We could probably emulate this call in WebGL implementations on top of
OpenGL ES by tracking the internal format used when the texture was
uploaded. In the short term, doing so in your library would be your
best workaround.

However, there must have been a reason this call was dropped from
OpenGL ES. I suspect the reason is that glGetTexImage was removed, and
texture rectangle textures aren't supported, so the need to query the
texture's width, height and internal format is significantly reduced.

I am not sure we should add this API into WebGL and diverge from
OpenGL ES. Other opinions?

-Ken

> Regards
> Yvonne
>
>
> --
> Yvonne Jung
> Fraunhofer-IGD    | Tel.: ++49-6151-155-290
> Fraunhoferstr. 5  | Fax.: ++49-6151-155-196
> 64283 Darmstadt   | email: yvonne.jung@igd.fraunhofer.de
> Germany           | http://www.igd.fhg.de/igd-a4
> -----------------------------------------------------------
> You are currently subscribe 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 subscribe to public_webgl@khronos.org.
To unsubscribe, send an email to majordomo@khronos.org with
the following command in the body of your email: