Codemonger or anyone really

Advanced game related topics
User avatar
J. Baker
Addict
Addict
Posts: 2196
Joined: Sun Apr 27, 2003 8:12 am
Location: USA
Contact:

Codemonger or anyone really

Post by J. Baker »

I have a question about making a simple, so to say, 3D engine. WARNING this is coming from a noob to programming.

Is there a code to load 3D files without using OGRE? If so, would it be possible to have a 3D engine that is based just off the code to load 3D files and a script for collision for all 3D objects?

So if you load terrain.3ds and character.3ds, this would give the basis of what the character stands on as well as other objects. Then adding gravity and lighting later. Was just thinking of a way to start a small 3D engine.

One more thing, is it possible to create a new runtime for the engine? Would like to learn as much as I can about this. Thanks for any information. :D
Codemonger
Enthusiast
Enthusiast
Posts: 384
Joined: Sat May 24, 2003 8:02 pm
Location: Canada
Contact:

Post by Codemonger »

Writing an engine is very complex and takes a long time, personally I'm taking it one step at a time ... So far I have just over 20 commands finished for my 3D engine, and it will continue to grow.

Unfortunately their is no simple solution to what you are asking. Hopefully I'll have something in the near future you can use.
<br>"I deliver Justice, not Mercy"

    - Codemonger, 2004 A.D.
User avatar
J. Baker
Addict
Addict
Posts: 2196
Joined: Sun Apr 27, 2003 8:12 am
Location: USA
Contact:

Post by J. Baker »

Ok, I was just wondering and can't wait to see what you've been working on. :D
Codemonger
Enthusiast
Enthusiast
Posts: 384
Joined: Sat May 24, 2003 8:02 pm
Location: Canada
Contact:

Post by Codemonger »

I've been working on a core set of commands, sort of the building blocks ... So I don't have any cool special effects or anything right now ... here are a list of some commands, I have the commands in a commands directory, and each command is well documented and commented in it's own little file. Their are a lot more commands, but they are still in testing, and some might be removed from this list. Also the constants or flags relating to the commands are also in the files. One thing that I finally got working properly is Full Screen Ant-Alias, and it works even in Windowed Mode. It is very noticeable and makes a huge difference in render quality .. I was amazed at the difference. To enable it all you have to do is pass the CMG3D_FSAA flage when you initialize the 3d engine. It automatically does all the error checking for you if your video card does not support it.

;Math Functions

IncludeFile "commands\ARGB.pb"
IncludeFile "commands\SplitARGB.pb"
IncludeFile "commands\SetFRect.pb"
IncludeFile "commands\SetVec3.pb"
IncludeFile "commands\NormalizeVec3.pb"

;Material Commands

IncludeFile "commands\SetMaterial.pb"
IncludeFile "commands\SetMaterialComponent.pb"
IncludeFile "commands\ConstructMaterial.pb"

;Camera Commands

IncludeFile "commands\ConstructCamera.pb"
IncludeFile "commands\SetCameraLens.pb"
IncludeFile "commands\SetCameraClearMode.pb"
IncludeFile "commands\SetCameraRange.pb"
IncludeFile "commands\SetCurrentCamera.pb"

;Main Functions

IncludeFile "commands\BindWindowEvent.pb"
IncludeFile "commands\BindKey.pb"
IncludeFile "commands\CheckBindings.pb"
IncludeFile "commands\CleanUp.pb"
IncludeFile "commands\Clear.pb"
IncludeFile "commands\ConstructCube.pb"
IncludeFile "commands\ConstructSphere.pb"
IncludeFile "commands\Flip.pb"
IncludeFile "commands\Init3D.pb"
<br>"I deliver Justice, not Mercy"

    - Codemonger, 2004 A.D.
User avatar
J. Baker
Addict
Addict
Posts: 2196
Joined: Sun Apr 27, 2003 8:12 am
Location: USA
Contact:

Post by J. Baker »

Codemonger wrote:One thing that I finally got working properly is Full Screen Ant-Alias, and it works even in Windowed Mode.
Kool, keep up the good work. I like how you have all the commands in seperate .pb files. Are you going to keep them seperate or combine them later?
Codemonger
Enthusiast
Enthusiast
Posts: 384
Joined: Sat May 24, 2003 8:02 pm
Location: Canada
Contact:

Post by Codemonger »

The command files will stay seperate, better organisation. I have also decided the engine will be PB specific and not portable, at least not right now. As my code relies heavily on PB for speed. In the future when I release a commercial version I might also release the source, but that is still debateable.

I really liked this about the cipher engine, they released the source code, that is well documented and easy to sift through. I think my code would be good for a beginner or an expert to look through and maybe learn something or even make some valuable changes. For now it will stay sealed up, and trudge forward in a boring but stable fasion.
<br>"I deliver Justice, not Mercy"

    - Codemonger, 2004 A.D.
Post Reply