Jump to content
  • Advertisement

Archived

This topic is now archived and is closed to further replies.

reaptide

Handling different Graphics Cards

This topic is 5591 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hello everyone, I was reading John Carmacks most recent .plan file and I noticed that he develops a different rendering pipeline for the different possible video cards that his engine will run on. He doesn''t code up a different pipeline for every card out there but seems to have two generic pipelines (ARB1 & ARB2) as well as a few specific pipelines (NV24, NV30, R200, R300). Is this a common way to do handle things in OpenGL? And how would one go about detecting what hardware the user is running? ------------------------------------------------------------ I am a signature virus. Please add me to your signature so that I may multiply.

Share this post


Link to post
Share on other sites
Advertisement
hardware features are exposed with extensions. he tries to load all the extensions he would use for one profile, and if he finds it, he uses it. and glGetString(GL_VENDOR) and those helps to determine some specific hw..


its not the way most people handle it. but if you want to use the most out of gl, yes, you can code that way (at least the gf3 days will have to be handled like that.. now, from radeon9700/gfFX on, you can rely on standard gl again to expose modern features like fragment_programs and vertex_programs in a unified way..)

its the power of gl, and the problem of gl at the same time..

"take a look around" - limp bizkit
www.google.com

Share this post


Link to post
Share on other sites
normally most ppl code to the lowest common denominator even though hardware varies a lot (tnt -> radeon9700) because its easier + quicker to do.
to get the most performance + visual quality carmack has to decided to code up various rendering paths depending on what the hardware can do.
note if he used d3d he would do the same ie its not confined just to opengl.

if he was using d3d he would code up to 5 paths eg

d3d no pixel shaders - most older cards
d3d ps1.1 gf3
d3d ps1.3 gf4
d3d ps1.4 radeon8500
d3d ps2.0 radeon9700 + gffx

hopefully when opengl2.0 + d3d10 come out doing this will be a thing of the past


http://uk.geocities.com/sloppyturds/kea/kea.html
http://uk.geocities.com/sloppyturds/gotterdammerung.html

Share this post


Link to post
Share on other sites
Great for the input guys, that certainly clears things up.


------------------------------------------------------------
I am a signature virus. Please add me to your signature so that I may multiply.

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
finger johnc@idsoftware.com\

or

http://www.webdog.org/plans/1/

Share this post


Link to post
Share on other sites

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

Participate in the game development conversation and more when you create an account on GameDev.net!

Sign me up!