I had initially meant to post this a little while back but I was dealing with a split tooth for the last three weeks and now that I've gotten that taken care of and am pleasantly overmedicated, I have the time and inclination to write this all up.
Well, I got some good news and I got some bad news.
The good news: I've managed to wheedle my way into unexplored territory by getting a bumpy-shiny (static) object not to be transparent. So, bumpy-shiny water, hold the water. This not the best example possible but you get the idea. Top layer (2) is the goods:
The numbers (well, at least 1 and 2) are important. They denote the order in which each of the meshes was drawn. So, in the model (as seen on the Raw Model Hierarchy tab of NWN Explorer Reborn), it looks like this:
I found out that IF you had multiple mesh objects which were bumpy shiny you could cancel the transparency effect on at least the second mesh IF you also applied a blending of punchthrough in the TXI file of the texture that invokes the grayscale bumpmap texture.
You can download the model, textures and TXI file HERE, with a forewarning that the pack is sloppier than usual. I've included some extraneous files for completeness but, really, the chain of things coming off mirror1.tga is, I believe, the important bit.
The bad news: Unless "Enable Environment Shadows" are turned on in the graphics settings, the effect appears to negatively impact the display of other game objects, chiefly by (as long as it is visible) blowing away the subtle angle-based shading for shadows and transparencies, such as the puffs of dust one creates when walking over certain materials:
Okay, so this effect is ultimately not viable. You give up way more than you get in return. IIRC, I believe the problem only occurs at certain zoom levels and angles which is very similar to a problem I had putting shiny water on a shield about four years ago.
But that aside for a moment, there was always been a scuttlebutt which basically went something like this: "NWN doesn't have bumpmapping because the devs couldn't get it quite right". Is what I'm seeing, above, evidence of that? Did they have a similar issue? I don't think so. Here's why: If one opens up an OpenGL debugger and examines the actual commands being sent to the card while drawing plane #2, you'll notice that it takes two draw calls, the first resulting in a plain white plane and the second "overdraws" it with the shiny effect.
Here's a screenshot of that first draw call and a screenshot of the second one. There's arguably some interesting stuff going on with the first call but it's the second, responsible for the shiny, that's really interesting. Note the use of all 4 textures (0-3) and how different combinations of them are made active (glClientActiveTexture) in a specific order. Those are not there by mistake. Those are there to achieve a specific effect. Although it reads/appears as though it's just switching from one texture to another, from what I've read there's a sort of composite (for lack of a better word) effect that happens when doing it. Now, as I've already mentioned upthread, you can load those mythical "four" textures, 0-3, into memory but without knowing what those draw calls are intended to yield, I don't know what to stuff in some or all of those texture slots or (potentially) what bit depths or blending modes they'd need and whether or not they'd display properly under a non-NVidia card, if they did.
As much as I'd be interested in at least a little more dabbling, the dance steps in that second draw call are well-beyond my ken. IMO, only someone with a PKPeachyKeen level of OpenGL programming/understanding could "get" what's going on, what's supposed to happen.