Advertisement

3D Game Engines Help

Started by January 14, 2001 04:50 AM
0 comments, last by SpooKsta 24 years ago
Despite the nature of this text I''m not trying to trip the reader up, the main focus is 3D Game Engines! Keep that in mind. Ok, first off I am asking the low-down on 3D engines. I''m still confused about game engines, and SDKs, and etc... When a game is written what in... -DirectX:what does it do? is it the 3D engine itself -Genesis3D:does this have its own 3D software based engine and use DirectX/Windows as a translator? or else what? -MASM32:How do I write a 3D game using my own engine and translate those functions to D3D?(MASM32 is ''C'' like.) From what I understand (or don''t) a game engine is created in C using DX8, DX8 uses the video card and VRAM (or HEL/Software) to tranlate geometry? Is this form of translating geometry (e.g. Viewports, WorldMatrix, Projection Matrix, etc...) a unique situation in DX only or is it a standard 3D engine? I know your thinking "What the **** is he talking about?!" What I''m trying to do is figure out the best and most efficient way to make a game "skeleton" to implement my own 3D Engine which can translate to D3D, openGL, or even a new 3D format if I receive the proper information pertaning to the subject. -please correct any faulty associations I have made.
You think... Therefore, I'm right!
well, your post reeks of newbie, but i''ll clarify.

DX is an API, an interface, get it? Your 3d engine will require the "encapsulation" of the Direct3d API if you wish to support Direct3d. Direct3d IS NOT a 3d engine in itself. The engine is your duty, you make the engine using Direct3d. The reasoning behind using a 3d API would clearly be to take advantage of 3d hardware rendering. You could create your own engine entirely by yourself, no OpenGL, no direct3d, but that is probably a slow and rediculous choice now days. A software renderer is just that, a 3d engine with NO HARDWARE RENDERING. Thats why they call it "software rendering". Or in other words you are not using an API to take advantage of hardware rendering. How do you make a software renderer??? well, like any other game. Get access to the video buffer, and draw lines on the screen, but using your own functions and not an api.

As far as translating your engine into d3d? what the heck are you talking about? (hehe, you were right, i was thinking that) In order to make a solid d3d application, i would not recommend creating a software renderer and then trying to retro fit your egine to support hardware rendering. That would be the most rediculous thing i have ever heard of, well, maybe not THE most rediculous. anywho.....

MASM32, what does microsofts assembler have to do with 3d engine coding? MASM does indeed support higher level constructs nowadays you are correct on that matter, however calling assembly language programming ''c'' like is kinda reaching dont ya think? Use C/C++, higher level languages were created to reduce the time consuming process of using each individual machine instruction or assembly coding, and now days, optimizing compilers do a great job of speeding things up. However, if performance becomes an issue, as i doubt it will for you for a great while, then profiling your code and attempting to speed up bottlenecks using assembly language and better coding techniques through rethinking might become an option. If by mentioning MASM32 you wish to imply that you are going to attempt to code a software renderer entirely in assembly language, then, damn bud, power to ya!! I always like to hear of great and exciting projects!!! :-) Well, good luck!!!

This topic is closed to new replies.

Advertisement