• We should now be fully online following an overnight outage. Apologies for any inconvenience, we do not expect there to be any further issues.

proprietary geometric modelling and triangle rendering

gururu

Platinum Member
Jul 16, 2002
2,402
0
0
ok I hope the title didn't make me seem knowledgeable because i'm not, I just have a simple question.

why do ATI and NVidia cards render or appear to render certain objects with different dimensions (sizes). Like houses in the background, trees, etc. Isn't the game code all the same. I know that drivers are proprietary, but does this make game developing more complicated, since some video cards might make scenes seem unrealistic.
 

sao123

Lifer
May 27, 2002
12,653
205
106
Actually the directX, OpenGl, and Glide(3dfx) technologies, are supposed to make rendering the scenes uniform and simple.
These technologies actually make up the API layer between the Game software and the Video card driver.
Game coding is tailored to the graphics API of chioce, instead of writing directly to the video driver.
You are correct, that with the wide range of video hardware and drivers, writing a general 3D application would be complex without these technologies.

The reason why objects would be rendered differently could be...
DirectX takes into account monitor size, desktop resolution, color depth, and all available video hardware features(AA, T&L, Video Memory & Buffers) when deciding how to render the scene. So yes, they are going to appear differently based on the video card you have.
 

sao123

Lifer
May 27, 2002
12,653
205
106
The monitor size is (in pixels) electronically communicated to the video card, and eventually stored in the registry...
it is either handled directly by the video driver itself, or if the video card driver cannot, handled by the directX API. (by disabling some advanced graphics features.)

Either way, it is transparent to the generic programer.
 

sao123

Lifer
May 27, 2002
12,653
205
106
Well, monitor size has to be accounted for somehow.
1024 x 768 image on a 19 inch monitor represents a different pixel placement and density (with regard to cathode screen elecrton patterns & configuration) than the same 1024 x 768 image on a 17 or 21 inch monitor.

I know for sure the monitor information (resolution, size, refresh, & DPI) is available through the video driver for use by the graphics API. I remember finding the variables where this information was stored inside the Glide 2.x Library Source file kits.

How this information is actually used I am not so sure, because it may be used for certain advanced (low level) rendering commands or just stored for debugging purposes.

However...I admit "I also know it is possible to handle 'image stretching to fit the screen', by analog hardware, inside the monitor...hence all the adjustment buttons on the front for vertical/horix size and placement."
 

AbsolutDealage

Platinum Member
Dec 20, 2002
2,675
0
0
Well, monitor size has to be accounted for somehow.
1024 x 768 image on a 19 inch monitor represents a different pixel placement and density (with regard to cathode screen elecrton patterns & configuration) than the same 1024 x 768 image on a 17 or 21 inch monitor.

Yes, this is taken into account, but strictly by the hardware that is on the monitor. All of the monitor-specific functions (electron patterns, etc.) are taken into account by the monitor manufacturer. The hardware on the monitor decodes the signals sent by the video card (this is a standardized communication, identical from monitor to monitor and video card to video card) and takes care of all the data translation and image placement.