Page 2 of 2

Posted: Fri Sep 22, 2006 12:54 am
by MakerOfGames
I need to educate myself more on how hardware and graphics code effect what I see and how they determine frame rate, polycounts etc... Thanks for the link to the slideshow, however, I wasnt able to understand much :lol:. I don't know a thing about 3D graphics code. I will try to read it again and see if anything else makes sense. I think the problem is that I know nothing of how the game engine works. I know it takes content and renders it on screen, but I don't know how it does it. I need to find out, that actually has been a question in the back of my mind for awhile now.

Posted: Fri Sep 22, 2006 2:25 pm
by paradoxnj
Read about "CPU Bound and GPU Bound Applications" to get more of an understanding what is involved with programming for hardware T&L.

Basically, you have to have a balance as to what the CPU is processing and the GPU is processing. If the CPU is doing too much work, you will see that in FPS. If the GPU is doing too much work, you will see that in rendering quality and FPS. You have to find the right balance which depends on the type of application. NVidia and ATI recommend 50/50 as a balance. They said no more than 60/40 (GPU/CPU).

An engine does a lot more than take the content and render it. :) What the engine does depends on what you need to accomplish. It can be as simple as just rendering stuff, but as complex as running Artifical Intelligence. There are game engines (Unreal, Quake, NWN's Aurora, Siege Engine, Torque) and there are rendering engines (Genesis, Jet, Irrlicht, OGRE). The difference between the 2 is the amount of game specific code that is in them. For example, NWN does not have a game shell. The engine is the game shell. NWN's engine also manages all it's game content and executes all the game logic.

Quake and Unreal do the same thing. The exe initializes the engine, then runs the game loop. The engine does the rest via script commands (for UT) or hard coded game stuff (Quake).

Genesis and Jet's job is to load poly data and process it. You have to write your own gameshell (hence RF ;) ). This makes Genesis and Jet rendering engines as all they do is load polys and render them.

Posted: Sat Sep 23, 2006 12:47 am
by MakerOfGames
That clears things up for me :D . Thanks!