Advertisement

Set me straight on this please...

Started by June 04, 2001 12:47 PM
1 comment, last by newmexico 23 years, 2 months ago
I am new to game programming, and am a bit confused on the use of tools for making graphics. Can someone please explain the relationship between tools such as Truespace or 3ds max and game graphics? I have read "Tips of windows game programming gurus" and "3d game programming with c++". And the impression I got from the DirectDraw/Direct3d sections was that you (the programmer) are meant to write code for creating objects and lighting, etc.. Where, if anywhere, do these 3d tools come in? Thank you
newmexico, let''s try to set you straight.

A modeler like 3d Studio, Maya, or Truespace provides an interactive environment to model 3d objects. Using such an application, you would then save these objects to a file using some type of format such as .OBJ or some other format.

A compiler takes source code, for example, C or C++ and produces machine code which can be executed as a program on a computer.

A renderer, usually included in packages such as 3d Studio, Maya, etc. will take the data structures defining 3d objects and given information on light sources, etc. will create a picture for you from some given vanatage point. However, a game program will in general need to use its own rendering system to render the frames presented to the game player. Such a rendering system would load the 3d objects that someone probably created in a program like 3d Studio.

To code a realtime renderer, you would likely use C or C++, and an 3d graphics API such as OpenGL or Direct3D. An API like OpenGL is a library of prebuilt functions which will handle a lot of the lowlevel 3d functionality and utilize the graphics hardware onboard your computer. You would link your code to the API library.

If you feel daunted by coding your own renderer, then you could research the Web for a game engine, which is usually a set of functions built to use an API like OpenGL to make building a game easier.

Given all of these tools, you have a wealth of choices, and unfortunately, a lot of decisions, and a lot of things to learn.

Damned if you do, damned if you don''t.

_______________________________
"To understand the horse you'll find that you're going to be working on yourself. The horse will give you the answers and he will question you to see if you are sure or not."
- Ray Hunt, in Think Harmony With Horses
ALU - SHRDLU - WORDNET - CYC - SWALE - AM - CD - J.M. - K.S. | CAA - BCHA - AQHA - APHA - R.H. - T.D. | 395 - SPS - GORDIE - SCMA - R.M. - G.R. - V.C. - C.F.
Advertisement
bishop_pass explained everything quite well. 3D models and other objects can be created in a program like 3D Studio MAX, and then the models are loaded in your game and rendered by your game program. The purpose of the tools is obvious... it would be very difficult and crazy to hard-code models and stuff into your game. You, the programmer, ARE responsible (well, maybe the API is responsible sometimes) for lighting and rendering objects and everything, the tools just let you design things that can be loaded into the game. Like the character models in Half-Life were all designed (to my knowledge) in 3D Studio Max, and the game engine was responsible for rendering them in-game. So, the programmers had to make the renderer, but the designers designed all the models and elements using the tools. That''s how everything works together... the game has a renderer (just the part of the program the draws everything). Everything the game renders is (usually) loaded from external files. The game cares nothing about what it is rendering, it just renders it. The actual process of designing what the game renders is done with the design tools. You use the tools to design models or something, and that is rendered by the game. So, how well a games graphics are depends on how well the game renderer is programmed, and how well the models and game objects are designed. That''s how it all pieces together. If you didn''t have the game engine, you wouldn''t have a game, and if you didn''t have the design tools, you wouldn''t have any way of making the game''s content (unless you hard-coded everything by hand which would take insane amounts of time). bishop_pass explained everything, my post was just examples. There you go, respond if you still have questions.

This topic is closed to new replies.

Advertisement