Most of the new, wizzbang graphics cards that are on the horizon can do dotproducts on texture combine operations. When are we going to see this functionality exposed in OpenGL?

The GeForce has it’s texture_combiners_NV extension, but thats going to be a dead end isn’t it? The magic letters ‘NV’ pretty much stitch that up don’t they?

What’s happening with the ATI Radeon? It can do the dot product operation in hardware and is exposed through DirectX (shudder). There isn’t any mention of it in the OpenGL SDK provided by them.

Does anyone here think the video card manufacturers and the ARB need sort this out soon? What’s everyone’s views on this subject?


My thought is, if a vendor offers an OpenGL extension that can make my app look/run better on their hardware, then I’m going to use it. The other vendors will either catch up, or fall behind and become non-players. Eventually when the majority of vendors support the extension maybe the ole ARB will consider it. Of course this approach of exploiting vendor specific extensions will require a bit more code. And maybe even a bit more support as one user of X video card wants an explanation as to why on his friend’s computer with video card Y it looks and runs better, and what does he have to do to your app to make it run the same as on his friends computer.

The problem is that this is a whole new way about thinking about the graphics pipeline. Before you could look in the read the red book and see how the pipeline worked. Now with these per pixel changes the actual pipeline is being reprogrammed. The current NV extensions to control the pipeline work great, but they only make changes in the way nvidia wants. To make a trully generic set of functions to control different modifications to the pipeline is very difficult. I’ll be interested to see if and now openGL tackles this problem.

I think the way DirectX8 is handling is ingenious. Even though it might be hard to grasp at first, in the end it truly alows different implementions from different venders to all work together.

I’ve not seen any articles on DX8’s perpixel shading - I certainly like a read of one. Have you any links?


I also can wait to see how opengl will handle that.

I don’t believe extensions are a good solution because it is going to be a big mess : All the vendors will input their own little shading touch.

I believe opengl will need a huge face lift. Direct3d seems to have taken a huge step forward in terms of feature. I, for one, have now turned to direct3d for some testing.

I had never really got into it before but It isn’t has complicated has everydone says. The complex part is the com concepts, but I work with everyday so everything is going smooth and I like what I am seeing. I am just working with Directx7 right, can’t wait for the SDK and the binaries of version 8 to come up. It’s way too unfortunate that it isn’t cross platform. Well maybe if microsoft split up and DirectX falls in the applications side then they’ll maybe make it cross platform(in my dreams! )

Yep, opengl will need a huge facelist, or better, just scrap opengl and create a new OO cross platform api.

[This message has been edited by Gorg (edited 08-01-2000).]

so there is no way to do dot product lightning using opengl?

in fact, my question is : I know that dot product blending can be done with D3D (with D3DTOP_DOTPRODUCT3).
but is it possible to do the same thing with opengl??

It’s the register_combiners_extension or something like that. I does the same stuff than d3d dotproduct and more ! (enjoy

For anyone who is interested:

Has some excellent presentations on DX8’s graphic components. The pixel shaders are going to be really really good. Looks pretty clean too!


hum, could you tell me more about register_combiners_extension ??
I didn’t see it in the list… [could u tell me it’s number]
by the way : which cards supports it??

[This message has been edited by nikopol0 (edited 08-02-2000).]

You CAN still do Dot product bump mapping without hardware(if you have a NVidia card, have fun with the combiners instead) but you have to do your own texture blending because the formula used isn’t one opengl gives. Once the texture is blended you just give it to opengl for drawing.

That is why it is so fun to have stuff in hardware, you just ask for it and it happens!!

[This message has been edited by Gorg (edited 08-02-2000).]

ok… but could you explain how (without using extension) to make a blending that simulate dot product mapping??
and if someone could give me the GL extension to do it in hardware, it would be great [I imagine it is smth like : “GL_NV_register_combiners”, bc it might have been developed by Nvidia]
thx a lot

[This message has been edited by nikopol0 (edited 08-02-2000).]

Without the dotproduct capability you have to ‘unwind’ the dotproduct calculation into a series of blends with GL_MODULATE. I think its a pass for each colour channel.

Take a look at:

Thats about orthogonal illumation - but you can figure bump mapping out from that. Thats with NO special extensions.

Tells you how to bump map with the NV_combiners - good paper.