🎉 Celebrating 25 Years of GameDev.net! 🎉

Not many can claim 25 years on the Internet! Join us in celebrating this milestone. Learn more about our history, and thank you for being a part of our community!

[Newbie] Software / Hardware Rendering?

Started by
3 comments, last by Pure Krome 24 years ago
G''Day all =) Slowly pooling together my research information now =) From reading some info on the www.OpenGl.ord About->FAQ->Tech, it says this (and i quote) "5.030 How do I enable and disable hardware rendering on a Wintel card? Currently, OpenGL doesn''t contain a switch to enable or disable hardware acceleration...." and "5.040 How do I know my program is using hardware acceleration on a Wintel card? OpenGL doesn''t provide a direct query to determine hardware acceleration usage. However, this can usually be inferred by using indirect methods....." Then how do games like Half-Life give you an option to have Software Rendering, OpenGL Rendering (assuming that is hardware only) and DirectX Rendering (assuming that is hardware also)?? thank you again for any help forthcoming -PK-
-PK-
Advertisement
Well, when a game lets you select the renderer OpenGL is usually hardware rendering, software rendering is usually a custom engine written specifically for the game. With AGL (Apple GL), and pretty sure for WGL (Windows GL) too, when you send a request for a rendering context you can specify whether you want OpenGL to use hardware rendering or software rendering, but remember that software rendering under OpenGL will be slow, it is optimized for hardware accelleration. Commercial games never use OpenGL software rendering for their software renderer, they write their own and optimize it for speed for the tasks at hand.

Morgan
i dont know if it works, but it is from nvidia's homepage:

Subject 6.01: How do I determine if I'm getting hardware acceleration under Windows NT/95/98?

             After you fill out the PIXELFORMATDESCRIPTOR, do the following:     int pixelFormat = ChoosePixelFormat (hDC, &pfd);     PIXELFORMATDESCRIPTOR pfd_new;     DescribePixelFormat (hDC, pixelFormat, sizeof(PIXELFORMATDESCRIPTOR), &pfd_new);     int generic_format = pfd_new.dwFlags & PFD_GENERIC_FORMAT;     int generic_accelerated = pfd_new.dwFlags & PFD_GENERIC_ACCELERATED;     if (generic_format && ! generic_accelerated)     {       // software     }     else if (generic_format && generic_accelerated)     {       // hardware - MCD     }     else if (! generic_format && ! generic_accelerated)     {       // hardware - ICD     }        





Edited by - claus hansen ries on June 19, 2000 6:08:14 AM
Ries
What means by ICD and MCD?

Thanks for your information Claus,

Gandalf the White

Gandalf the Black
Basicly it is two diffent ways to create a opengl driver.

following is 100% ripped from opengl.org

Now, under each operating system you have various "driver interfaces" that an OpenGL driver adheres to in order to communicate with the OS and window system efficiently. Under Win32 there have been two different prevalent driver interfaces: the ICD (Installable Client Driver) and the MCD (Mini Client Driver). The latter is pretty much dead, but the former still lives on.

read all>
http://www.opengl.org/Products/DriverTypes.html



Edited by - Claus Hansen Ries on June 19, 2000 8:25:36 AM
Ries

This topic is closed to new replies.

Advertisement