PDA

View Full Version : Looking for info for idiots on 3dfx and Gforce cards


GodInside
04-06-2001, 02:56 PM
Hello I'm Dennis and I'm looking for information on the 3dfx and Gforce vid cards. I'm looking to be able to explain to customers how these gaming cards are interacting with the gaming software.

I'm also looking for information on things like what different cards support, like what OpenGL and Direct3d are all about.

Thanks for your help.

See you on the battle field.

Randy_tx
04-06-2001, 03:20 PM
The quickest way to get that sort of info......is to run a browser search on "Google".......you will get more info than you can shake a stick at....there are too many vid cards out there for most of us to be at the "in-depth" level that the mfg. site will have. http://www.google.com/

------------------
I'm putting a new Fat32 partition in my Head Drive...hope it speeds me up.......

bassvax
04-06-2001, 11:57 PM
Just to add a couple, btw I am a Google fan (nut), www.dansdata.com (http://www.dansdata.com) this Aussie takes his reviews seriously, which means he usually throws in a heaping pile of info like what you are seeking. Try this one as well http://www.opengl.org/ http://www.PCGuide.com/ubb/smile.gif

Randy...think about using NTFS instead of FAT32 so we can all access your brain http://www.PCGuide.com/ubb/biggrin.gif

------------------
Warning: The info vacuum is ON

bunk
04-07-2001, 05:50 AM
I can offer a little bit of help on OpenGl and DirectX. These are graphical application program interfaces.. APIs. An API is a set of instructions built into the operating system that handle certain common chores for the programmer.

An example that you see every day on your computer is the standard Microsoft window. Notice how most windows have the same look, the same buttons etc. This is part of Microsofts 2D API.
The programmer simply calls up a Window box and tells the operating system to use certain buttons. The programer simply states "give me a Window XXX by XXX in size, give me a minimize, fullscreen and close button and a vertical scroll bar". Windows operating system has built into it the code to draw the window, place the buttons at the upper right hand corner and all the instructions on how a scroll bar works. The programer doesnt have to deal with the issue of providing graphics for the buttons or scroll bar or any programing code on how they work, Windows provides that for him.

That is the job of a graphic API,, provide built in code to handle chores so the programmer doesnt have to start from scratch on every single program. It also provides a common format for all programmers to use.

OpenGl and Direct3D are 3D graphical APIs. OpenGl is more powerful tool to display graphics on a screen but also more dificult to use in a program. Direct3D is simpler to program and is getting more powerful every update. Direct3D is controlled by Microsoft, I am not sure if OpenGl is owned by anyone or if it is open source.

The 3dfx card and geforce cards are made to take part of the graphical work from the cpu. Currently the cpu draws the object and the video card provides the instructions for color, textures, lighting and haze/fog effects. The cpu can do the color, texture and lighting instructions but it is faster to just draw the basic object then pass it to the video card for the color lighting etc. While the video card is doing this work the cpu can start drawing another object. This fact alone explains why a 3d card enhances performance, the cpu has a powerful assistant to finish the job.

The video card has a specialized processor designed just to do graphics work. The cpu has a more general design that allows it to handle many different types of task. Specialized is usually faster than a general purpose tool. So not only does the graphics card take part of the work from the cpu it also does that work much faster than the cpu could.

The graphic processor is getting the basic object shape from the cpu, then it places the basic texture on the object. Similar to having a drywall put up by the carpenter and then the interior decorator puts on wall paper. The graphics processor can place multilple textures over an object. First it could place a brick colored texture, then place another texture over it that looks like the morter between the bricks and then another texture to give the brick a grainy look.

The graphic processor also adds lighting effects. It takes information on where the light source is and brightens or darkens the texture according to how much light would be hitting that particular surface.

Another effect the graphic card can handle is fogging or hazing. This would put a milky white white color that would cause a blurred hazy color on objects in the distance or obscured by smoke.

These effects such as how lighting or hazing affects the appearance of an object are built into OpenGl and Direct3D. The programer simply calls up program code that is already written to provide these effects. The programer doesn't have to write all the complex mathematics involved in lighting and hazing, someone already has done that for him.

Just as Windows , Linux, Unix and MacOS are all different computer operating systems... OpenGl and Direct3D are different graphical operating systems. Each operating system provides a foundation of basic tools to get certain jobs done.

GodInside
04-07-2001, 05:46 PM
Thanks for your help everyone. I'll be sure to put your information to good use.

Signed
Dennis

Paleo Pete
04-09-2001, 07:42 AM
Bunk: Nice job.

------------------
So many idiots, and only six bullets...
Note: Please post your questions on the forums, not in my email.

Computer Information Links (http://www.geocities.com/paleopete/)

Duffy Sullivan
04-14-2001, 10:47 PM
bunk,So then,directX would be like a patch, or an upgrade for Direct3D,issued periodically by Microsoft,right? Or does directX do more than improve only Direct3D?

bunk
04-15-2001, 07:27 AM
Direct3D is a part of DirectX.

DirectX is a collection of multimedia/entertainment APIs provided by Microsoft. DirectX includes...

Direct3D which is a very common in games and supported by most if not all current graphic cards.

DirectDraw is the 2D API and provides tools for getting desktop and standard window programs to display on your monitor in Windows.

DirectSound which is used to create 3D or directional sound effects. SoundBlaster and Aureal support DirectSound and it is very commonly used even though it isnt mentioned much. There are several other sound APIs and they are better than DirectSound but DirectSound is the standard and the others may or maynot be supported by your sound card or used in a particular piece of software. If nothing else,, DirectSound will always be there to make sure something is going to your speakers.

Controller input such as joysticks and game pads are part of the DirectX suite of drivers and APIs. The drivers VjoyD.vxd and msjstick.drv are part of DirectX input.

Mplayer and ActiveMovie video viewers are part of DirectX.

DirectPlay is MicroSoft API and drivers to support network and internet gameplay. While DirectPlay uses TCP/IP or other protocols to communicate between computers the manner in which data is given to the actual game program is where DirectPlay does its work.

DirectX is the name given to the collection of APIs and drivers included in Windows that enhance the users experience. DirectX is how Microsoft provides the user friendly touch and replaces the old green text on black background command line of older operating systems such as DOS.

When you install a DirectX patch or upgrade you are replacing parts of your current DirectX suite of APIs and drivers. Not all parts are upgraded everytime. For example the Microsoft joystick and gamepad drivers are 2 years old. A DirectX patch usually upgrades Direct3D since graphics seem to be the most rapidly evolving and improving part of gaming/entertainment software and hardware today. But if a better method of computer motion video is developed, Microsoft would develope and release a new DirectX patch/upgrade to allow you to view computer video.

The version number of DirectX simply means you have >> ALL << parts of the DirectX suite updated to the current standards.

Duffy Sullivan
04-17-2001, 12:38 AM
bunk,you are a virtural fountain of information.Thanks for your time.

CLTEK
04-17-2001, 06:24 AM
Bunk!! OMG! You ARE the man!

I hate to drag this out even further for you. But I have a minute question about the Direct X drivers for audio.

My question is this... If having the current Direct X package is indeed 'just' having all of the current drivers for the audio. Why is it that certain sound cards and programs written for audio production have problems with DX 8 but had no problems at all with DX 7?

Respectfully, Cory

------------------
Age and Treachery will forever triumph over Youth and Skill.

bunk
04-19-2001, 01:48 PM
The problem could be in quite a few places,which explains why each version of DirectX has a patch and the hardware companies release driver patches.

The sound card manufactuer has responcibility for drivers :

1. These drivers can do anything they want internally, but must convert all output to the language/protocal/format that the API uses.

2. It must also take all the input from the API and convert it, if necessary to the format/language/protocol that the sound card driver uses.

The API, therefore whoever wrote and controls the API has responcibilities

1. The API (directsound in this case) must take the information from the sound card and format it for the program to use.

2. It also takes data from the program and formats it to send it to the sound card.

The program writer has responcibility for :

1. Taking information from the API and then doing what ever it wants with it.

2. The program also must take any sound data it want to send to the sound card and format it correctly for the API.

The API should always be the middle man between the program and the hardware. WinNT does this, WinNT never allows a program to talk directly to the hardware. Alot of Win9X problems are caused by programs and hardware bypassing the API. This is the old legacy method when the program and the hardware talk directly to each other.

The reason that an API is used is to allow all hardware manufactuers to write their drivers just to work with the API. This is simpler than having to write drivers to work with a wide variety programs. Programmers write their programs to talk to the API. For programmers this is much easier to write for just an API than trying to write a program to work with 10 different soundcards.

When done correctly the API method is a bit slower than the direct program to hardware method but it should be much more stable and reliable. The API since it is part of Operating System works with the memory manager. The memory manager makes sure that the soundcard, API and the program only uses memory resourses allocated by the manager, this prevents the program or driver from overwriting a part of memory used by the other (general protection fault error).

As shown though it leaves several places for errors to creep into the system. The upside though is that it is very clear whose responcibility it is to fix the problem since each group has a defined role. Older legacy method would leave some people hanging out to dry when a piece of hardware and a program wouldnt work together. It was an arguement who would fix the problem the programmer or the hardware and each would say the other was responcible.

So in the case of sound problems and DirectX 8.0 it could be the drivers are a bit buggy since they are learning how to talk to a newer API, or the API could have a couple bugs and not send information correctly to the program or the hardware, or the programmers maynot be accepting information from the API correctly. So this should explain why there is a problem at the moment but can't say whose fault it is http://www.PCGuide.com/ubb/smile.gif.




[This message has been edited by bunk (edited 04-19-2001).]

Bad Omen
04-26-2001, 07:41 PM
So, if you read above, you can thank Microsoft for any incompatibility issues http://www.PCGuide.com/ubb/mad.gif .

nimnorf2
04-27-2001, 05:02 PM
Originally posted by bunk:
I can offer a little bit of help on OpenGl and DirectX. These are graphical application program interfaces.. APIs. An API is a set of instructions built into the operating system that handle certain common chores for the programmer.

An example that you see every day on your computer is the standard Microsoft window. Notice how most windows have the same look, the same buttons etc. This is part of Microsofts 2D API.
The programmer simply calls up a Window box and tells the operating system to use certain buttons. The programer simply states "give me a Window XXX by XXX in size, give me a minimize, fullscreen and close button and a vertical scroll bar". Windows operating system has built into it the code to draw the window, place the buttons at the upper right hand corner and all the instructions on how a scroll bar works. The programer doesnt have to deal with the issue of providing graphics for the buttons or scroll bar or any programing code on how they work, Windows provides that for him.

That is the job of a graphic API,, provide built in code to handle chores so the programmer doesnt have to start from scratch on every single program. It also provides a common format for all programmers to use.

OpenGl and Direct3D are 3D graphical APIs. OpenGl is more powerful tool to display graphics on a screen but also more dificult to use in a program. Direct3D is simpler to program and is getting more powerful every update. Direct3D is controlled by Microsoft, I am not sure if OpenGl is owned by anyone or if it is open source.

The 3dfx card and geforce cards are made to take part of the graphical work from the cpu. Currently the cpu draws the object and the video card provides the instructions for color, textures, lighting and haze/fog effects. The cpu can do the color, texture and lighting instructions but it is faster to just draw the basic object then pass it to the video card for the color lighting etc. While the video card is doing this work the cpu can start drawing another object. This fact alone explains why a 3d card enhances performance, the cpu has a powerful assistant to finish the job.

The video card has a specialized processor designed just to do graphics work. The cpu has a more general design that allows it to handle many different types of task. Specialized is usually faster than a general purpose tool. So not only does the graphics card take part of the work from the cpu it also does that work much faster than the cpu could.

The graphic processor is getting the basic object shape from the cpu, then it places the basic texture on the object. Similar to having a drywall put up by the carpenter and then the interior decorator puts on wall paper. The graphics processor can place multilple textures over an object. First it could place a brick colored texture, then place another texture over it that looks like the morter between the bricks and then another texture to give the brick a grainy look.

The graphic processor also adds lighting effects. It takes information on where the light source is and brightens or darkens the texture according to how much light would be hitting that particular surface.

Another effect the graphic card can handle is fogging or hazing. This would put a milky white white color that would cause a blurred hazy color on objects in the distance or obscured by smoke.

These effects such as how lighting or hazing affects the appearance of an object are built into OpenGl and Direct3D. The programer simply calls up program code that is already written to provide these effects. The programer doesn't have to write all the complex mathematics involved in lighting and hazing, someone already has done that for him.

Just as Windows , Linux, Unix and MacOS are all different computer operating systems... OpenGl and Direct3D are different graphical operating systems. Each operating system provides a foundation of basic tools to get certain jobs done.



Bunk,
You may be only an "apprentice geek", but your teaching is very helpful. I'm a total newbie, but then lots of folks that visit sites like these are too. You used "picture" words and metaphors. Very good! You're a teacher aren't you.
Peace,
Brad (nimnorf2)