Jump to content


opengl support


9 replies to this topic

#1 rogerdv

    Member

  • Members
  • PipPip
  • 99 posts

Posted 30 July 2003 - 03:21 PM

Sometime ago I had a discussion with a friend about what really means that a video card has OpenGL support. I noticed that I really dont underestand what is it. When a card supports opengl, that means that it implements the *high level* opengl functions? I mean, the GPU can draw a polygon, apply a texture to it, and such things? Or merely it is a matter of drivers and such operations are done by the driver and the GPU supports basic operations like drawing pixels or lines?

#2 baldurk

    Senior Member

  • Members
  • PipPipPipPip
  • 1057 posts

Posted 30 July 2003 - 05:49 PM

it is a driver thing. It means that their drivers do indeed perform everything that is expected .
baldurk
He who knows not and knows that he knows not is ignorant. Teach him.
He who knows not and knows not that he knows not is a fool. Shun him.

#3 rogerdv

    Member

  • Members
  • PipPip
  • 99 posts

Posted 30 July 2003 - 07:03 PM

Then, what operations are performed by the hardware? Maybe complex matrix operations and simple polygon draw/filling?
So, that means that I can have a last generation gePower 20 Xi10k, but if the drivers doesnt support all GL extensions it is wasted money?

#4 baldurk

    Senior Member

  • Members
  • PipPipPipPip
  • 1057 posts

Posted 30 July 2003 - 08:37 PM

just because the drivers support it, doesn't mean it's done in software :). e.g., on most post GF2 cards, transformation and lighting are both done in hardware. Of course, so are many many many other things. The drivers just convert the OpenGL commands into commands for the GPU.
baldurk
He who knows not and knows that he knows not is ignorant. Teach him.
He who knows not and knows not that he knows not is a fool. Shun him.

#5 donBerto

    Senior Member

  • Members
  • PipPipPipPip
  • 369 posts

Posted 31 July 2003 - 08:42 PM

the above replies should be sufficient. but if not...

Quote

When a card supports opengl, that means that it implements the *high level* opengl functions?
no. it means that the card has hardware [Graphics Processing Unit] that is compliant to the OpenGL specifications. if you call any gl function, the board will support it and use hardware to do it.

I don't mean to discredit the replies above and forgive me if this is overkill.

in the end, I just hope this helps.
:yes:
Imagine.

#6 baldurk

    Senior Member

  • Members
  • PipPipPipPip
  • 1057 posts

Posted 02 August 2003 - 06:48 PM

donBerto said:

no. it means that the card has hardware [Graphics Processing Unit] that is compliant to the OpenGL specifications. if you call any gl function, the board will support it and use hardware to do it.
hmm. So that means, that if you call a fragment program function, and the GPU doesn't use hardware to do it, the graphics card doesn't support opengl? interesting. I always thought my GeForce 4 did.... ;)
baldurk
He who knows not and knows that he knows not is ignorant. Teach him.
He who knows not and knows not that he knows not is a fool. Shun him.

#7 donBerto

    Senior Member

  • Members
  • PipPipPipPip
  • 369 posts

Posted 02 August 2003 - 06:54 PM

Quote

if you call a fragment program function, and the GPU doesn't use hardware to do it, the graphics card doesn't support opengl?

exactly - opengl does _NOT_ have an emulation layer unlike DirectX. but that's why card makers release updated drivers so that new features [like extensions and fragments] can be used.

[in DirectX, if a feature isn't supported by the HAL (hardware abstraction layer), it is sent to the HEL (hardware emulation layer)].

:yes:
Imagine.

#8 Jesse M

    Member

  • Members
  • PipPip
  • 32 posts

Posted 03 August 2003 - 05:30 PM

Even though OpenGL doesn't have any layers for hardware/software, it's a simple enough task for any implementor to make software extensions where their hardware is lacking. Using hardware does not exclude the use of software.

When you buy a new card it's not just a matter of whether is supports OpenGL or not. It may have 90% support on it's card, and have the rest emulated in the driver by software processing. This is especially true when vendors want to support a feature/extension but don't have hardware support for it yet (and will in the future)
FRAG THE PLANET
Ed Helms: Alcohol causes problems and guns solve problems. I don't see why you can't have guns in bars.
Other guy: That's a stupid idea.
Ed Helms: Yeah, if your a pussy.

#9 donBerto

    Senior Member

  • Members
  • PipPipPipPip
  • 369 posts

Posted 03 August 2003 - 05:48 PM

...true

*enlightened*
:yes:
Imagine.

#10 davepermen

    Senior Member

  • Members
  • PipPipPipPip
  • 1306 posts

Posted 03 August 2003 - 07:52 PM

straight from some opengl specification discussions on opengl.org:

if a driver returns a certain extension in the extension string, say ARB_TEXTURE_3D, then it supports it in hardware (for example, this ext is not on gf2).

a driver CAN implement certain tasks in software, and for support of a modern opengl version it even HAS to. saying that, you CAN gather the glTexImage3D function pointer on a gf2, and you CAN use 3d textures on a gf2. but they are only in software.

all extensions reported in the extensionstring(-s) should be implemented in hardware. an opengl version that gets reported doesn't have to.

when you have opengl 1.4, it means the driver can support EVERYTHING required to render an opengl1.4 scene. it doesn't mean it does everything in hardware.. (like the lovely statement of, i use glMultMatrix to do matrix multiplications, now its in hardware, why does it use 100% cpu power?!)

hope that helps..

its all a bit diffuse in opengl.. :D
davepermen.net
-Loving a Person is having the wish to see this Person happy, no matter what that means to yourself.
-No matter what it means to myself....





1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users