Does current implementation of OpenGL include these features?

I know a bit of DirectX and started reading OpenGL Programming Guide book. There are certain things that I know that were in DirectX, but I can’t find them in OpenGL… I wonder if they are supported… if not, any hope of those making it to the next version (when is the next version of OpenGL going to be released anyway?)
Ok, here are the features I can’t find, please tell me if they are supported:

  • Multiple textures with blending (e.g. blending by addition, alpha channel, multiplication etc…)

  • bump mapping (textures)?

  • environment (reflection) mapping (textures)?

  • transparency mapping (textures)?

  • Skinned meshes (mesh with bones ) that will deform?

  • More than 8 lights?

  • Shadow maps, volume textures and shadows?

  • VertexBlending (for smooth joints deformation)?

  • Multiple UV texture coordinates per mesh/vertices?

  • Ability to project image through a light?

Huge thanks for the help.
Luke

Friend, strange questions you ask indeed! I hardly doubt that directx does support any of the features you mentioned directly (althoug i don’t know it, but this just can’t be), and concerning OpenGL, you just seem to have seeked the wrong places.

Use the force, Luke!

Jan

Actually Jan, DirectX has most of those features I meantion. Just install Directx SDK and look at the samples.
That is why I’m wondering if one can do any of those in OpenGL. I like OpenGL much better, so I hope those are available…
BTW, I found your answers to be a bit sarcastic. I don’t mean any harm, just trying to learn, so if you don’t like the questions, don’t answer :slight_smile:

well I was not sarcastic but simply in a mood for joking… don’t take it too seriously And it is possible to answer your questions with your own words, with just a little change:

just install opengl sdk and look at the samples.

I mean, the nvidia opengl sdk. download it and see

Regards,
Jan

Originally posted by BigShooter:
- Multiple textures with blending (e.g. blending by addition, alpha channel, multiplication etc…)
Yes.
ARB_multitexture and ARB_texture_env_combine. Both are in the core since rev 1.3 (MT since 1.2). Or you can use more flexible vendor specific extensions, or even ARB_fragment_program for R300/NV3x class hardware.

  • bump mapping (textures)?
    Sure. Bumps are either done with basic multitexturing, or with dot3 (which is definitely available through OpenGL).
  • environment (reflection) mapping (textures)?
    Yes. Maybe you’re looking for automatic texture coord generation, which is available (search the spec for “texgen”).
  • transparency mapping (textures)?
    Not sure. But I think yes (if you’re talking about alpha channels and/or blending).
  • Skinned meshes (mesh with bones ) that will deform?
    Yes. You’ll need vertex shaders for that, just like in DX Graphics land.
  • More than 8 lights?
    Only with vertex shaders. Eight fixed function lights are maximum, just like in DXG.
  • Shadow maps, volume textures and shadows?
    Yes.
    ARB_shadow (in the core since rev 1.4), GL_texture_3d (ummm, 1.2 I think). Shadows can be done with shadow mapping or with stenciling, your call.
  • VertexBlending (for smooth joints deformation)?
    Yes.
    ARB_vertex_blend, ARB_matrix_palette, methinks.
  • Multiple UV texture coordinates per mesh/vertices?
    Of course.
  • Ability to project image through a light?
    Not sure … please explain. I’d guess it’s not native, but a vertex shader thing.

Wow, now I’m definately staying with OpenGL :slight_smile:
Thanks you for your help.
As to the OpenGL SDK on NVidia site… anyone got a link to that? I can’t seem to find it…
Thank you,
Luke

Normally, you can find a lot of stuff at http://developer.nvidia.com, but at the moment it seems to be down. There is also a lot of d3d stuff there.

Jan

Judging from your recent posts, you seem to be stuck in something akin to “analysis paralysis” regarding your choice of a 3-D graphics library. I’d say pick one, isolate your graphics in a set of classes or modules, and start coding. If you find later that you made the wrong choice, change those isolated classes or modules to use the other library.

@zeckensack:

i think with “projecting a texture through a light” he means the technique generally known as “projective texture mapping” ?!?

but, bigshooter, to answer your question - if my assumption is correct - no and yes; no because it’s not a technique with is supposed to be supported by the rendering api itself; and yes, because it’s a technique/result which can be achieved by combining a little bit 3D-basic “hand tools”. (in fact it’s nothing more than blending your texture via ARB_multitexture with the correct parameters and calculated uvcoords onto your desitnation plane)

neither D3D nor GL supports this “out of the box”.