# help with ati_embm

card/driver: 7500, cat 3.2
whenever i set

``````glTexEnvi(GL_TEXTURE_ENV,GL_COMBINE_RGB_EXT,GL_BUMP_ENVMAP_ATI);
``````

i get an invalid VALUE error
i just cant understand why, is it due to the format of the texture i’m binding?
i’m defining my bump map as follows:

``````glTexImage2D(GL_TEXTURE_2D,0,GL_DUDV_ATI,Width,Height,0,GL_DUDV_ATI,GL_UNSIGNED_BYTE,data);
``````

where data is an array of widthheight2 bytes
i’ve also tried DU8DV8 but the problem still remains

edit: i’ve just discovered that humus has a demo for this on his site, unfortunately there’s no source included hey humus u around?

[This message has been edited by tellaman (edited 06-02-2003).]

Well, send me an email and I can send you the source. I suppose it’s not in working shape really though, but it may be enough for you to look at as a reference.

thanks so much for your offer, i do appreciate that
but i guess i’ve found the problem itself, and i must say it’s some kinda silly thing:
i dont know if it’s my card’s fault (though i dont think so) but it looks like you MUST bind your bump texture to the 3rd tex unit (ie gl_texture2_arb)
this way the errors magically disappear and everything starts looking as it should
i must say i’m quite surprised, i had always thought my 7500 had only 2 tex units, but actually get(max_tex_units) returns 3

anyway my card must be messed up somehow, even with cat 3.4 i get this strange behaviour: as long as i dont touch the tex matrix of my dudv bump map everything is good, but as soon as i apply any sort of tranformation (namely, a translation) my bump map stretches in some random way (it’s not something related to tex clamping, i’ve set that to repeat, but at each reboot i get some different behaviour)
have i reached the top of texture addressable space or my card is gonna die soon?
anyway thanks again for your kind offer!

[This message has been edited by tellaman (edited 06-03-2003).]

Originally posted by tellaman:
thanks so much for your offer, i do appreciate that
but i guess i’ve found the problem itself, and i must say it’s some kinda silly thing:
i dont know if it’s my card’s fault (though i dont think so) but it looks like you MUST bind your bump texture to the 3rd tex unit (ie gl_texture2_arb)
this way the errors magically disappear and everything starts looking as it should
i must say i’m quite surprised, i had always thought my 7500 had only 2 tex units, but actually get(max_tex_units) returns 3

Yes, you must bind it to GL_TEXTURE2_ARB. This is correct behavior. There is a query that tells what units are valid, and it will return unit 2 only.

Originally posted by tellaman:
[b]edit: i’ve just discovered that humus has a demo for this on his site, unfortunately there’s no source included hey humus u around?

[This message has been edited by tellaman (edited 06-02-2003).][/b]

There is a sample app, with source, that uses this extension as well as the render-to-texture extension on the ATI Developer’s site:
http://www.ati.com/developer/ATI_EMBM.html

-chris