Jump to content

  • Log In with Google      Sign In   
  • Create Account

3D Engine.


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
11 replies to this topic

#1 Jwk   Members   -  Reputation: 122

Like
Likes
Like

Posted 05 January 2000 - 02:24 PM

I want to make a 3D Engine. Where can I find some books or articles about it? Thanks

Sponsor:

#2 Sieggy   Members   -  Reputation: 122

Like
Likes
Like

Posted 06 January 2000 - 12:45 AM

Assuming you have skill with some language like C/C++, you need to pick a API to work with. Direct X and OpenGL are the major ones. I''m more partial to DirectX but both are good. However, if you are new to graphics theory and programming I would suggest starting simple for a while, perhaps do a bit of 2d coding, and also do lots of reading. There are several decent books out there (Introduction to Computer Graphics / Real Time Rendering). 3d can be difficult is you''re new to it. Have fun!

#3 Matt2000   Members   -  Reputation: 122

Like
Likes
Like

Posted 06 January 2000 - 03:29 AM

I would suggest to read some articles about Matrix calculations and 3D transformations. Then you have to choose which API do you want to use. I would suggest DirectX, because the SDK has the better documentation. Then read the documentation( Direct 3D Immediate Mode tutorial ) and the code of the samples. After that you can write a simple 3D-Engine.

#4 JD   Members   -  Reputation: 208

Like
Likes
Like

Posted 06 January 2000 - 07:10 PM

Also try reading the red book that is about OpenGL rendering/3d stuff. By reading OpenGL and D3D books I began to understand limits of some APIs. So based on that you can pick the API you feel gives you the edge. You see, making a 3d engine is not all about math/rendering techniques but mostly how much control you give to the API or user of your API and how much to give to your engine. Also, good structuring techniques are learned only by experience i.e. writing a lot of code and see where you can improve it or make it better. The structure of the whole engine si very important. Do you break your engine into dlls or not, do you make sound internal or allow for expansion modules, how about which API you use for rendering, or will you use inheritance or straight c code, or STL. All of these are learned through trial and error, but nothing is wrong if you can make the right decisions now, although you never think that this engine is the one. I read somewhere that engines are never completed, but become work in progress. Search the internet for info, or think about reading an engine code like CrystalSpace or Genesis3D or Quake1 to learn how it all fits together. I read Quake1 and Genesis3D source and learned a lot from them. For articles search flipcode on their portal engine. Best of luck to you.

Jerry

#5 SiCrane   Moderators   -  Reputation: 9597

Like
Likes
Like

Posted 07 January 2000 - 12:00 AM

flipcode has a tutorial for creating a 3d portal engine at: http://www.flipcode.com/portal/

Also the 3d engines list contains many open source projects that you might want to look at. http://cg.cs.tu-berlin.de/~ki/engines.html

#6 kressilac   Members   -  Reputation: 110

Like
Likes
Like

Posted 07 January 2000 - 02:27 AM

Take a look at www.virtually3d.com. This 3d engine is compatible with OGL, DirectX, and others. There are plans to bring it to the Playstation, and DreamCast. What I think is really neat about it is that they have ported a piece of it to WindowsCE and the company has ported it to a Lingo interface for inclusion in Flash/Shockwave applets over the web. Check out www.groove3d.com to see what I mean. From my discussions with the company owner, he says that even the web based version can now take advantage of hardware acceleration. How I don''t know, nor do I know the size of the download but soon the later may not matter as much.

Just thought you might be interested in this.
Kressilac


#7 Jeremiah   Members   -  Reputation: 122

Like
Likes
Like

Posted 07 January 2000 - 06:48 AM

wanna make a 3D engine?
first you have to know 2D pretty well, cuz if you cant
even do 2D, you''re going to struggle with 3D.
To tell you the truth, 3D math isnt as complicated
as you would think. Yes, you have to fool with rotating
points around 3 axises with matrixes and stuph,
But I was expecting long complicated sin-cos functions.

personally, I prefer to write my own 3D engine than
use one already built for me like DirectX. I prefer
to know exactly what my code is doing, exactly how it
works, and if it could be speeded up or not. I dont know,
to me, just calling functions written by other people
isnt what game graphics programming is about.

A good book, if you can find, is:
Michael Abrash''s Graphics programming black book
Its great! I recommend it to anyone beginning in
3D graphics programming.

well, I said my two cents worth. =)

#8 acw83   Members   -  Reputation: 174

Like
Likes
Like

Posted 07 January 2000 - 09:22 AM

Yeah it''s good to do your won 3d and know what is going on, but you gotta realize that the people that made these APIs know what they are doing, plus you get access to hardware functions.

#9 Jeremiah   Members   -  Reputation: 122

Like
Likes
Like

Posted 07 January 2000 - 05:06 PM

I do agree that the people that wrote the APIs know
what they''re doing, but the functions they give you
arent perfect for every 3d game out there. Sometimes
you have to talor it to your game, and that requires
knowledge of how they work.
(and you can get access to hardware functions without
using APIs too)

basically, Im not putting down using APIs, just
using them without knowing exactly how they work
and what they do.

#10 kressilac   Members   -  Reputation: 110

Like
Likes
Like

Posted 07 January 2000 - 06:43 PM

You know some of the engines I have looked at have been optimized for many platforms. A couple have gone as far as to use assembler to do this. I do not have the team nor do I have the multi-platform expertise to get this done. Instead of worrying about the engine, I black-boxed the thing and am going to focus my efforts on things I can more readily control like content, AI, networking, and other aspects of the game that make just as big of an impression. Don''t get me wrong though, when needed I will go into the source given to us in the lease and edit where needed. I guess I disagree with the can''t trust anyone but yourself to do it right take on the whole thing. The guys that wrote the engine are no idiots. Competition between many 3d engine vendors assures this. I don''t believe we should have to get that low level for every aspect of the game. A few maybe but why rewrite a bsp-tree or a z-buffer when it has been done a billion times already.

Kressilac


#11 Khawk   Senior Staff   -  Reputation: 1362

Like
Likes
Like

Posted 07 January 2000 - 06:47 PM

Might I suggest this link?

http://www.gamedev.net/reference/docs/refarticlelistuser.asp?catid=40
and
http://www.gamedev.net/reference/docs/refarticlelistuser.asp?catid=26
and
http://www.gamedev.net/reference/docs/refarticlelistuser.asp?catid=28.

Kevin


#12 AlexM   Members   -  Reputation: 122

Like
Likes
Like

Posted 07 January 2000 - 07:59 PM

I would recommend:
http://pages.infinit.net/jstlouis/3dbhole/
just because that''s where i really started,
it doesn''t talk about using any API, but it is
stuff that you definitely need to know. then i would
recommend getting familiar with ddraw or d3d immid
mode through a book. HOWEVER, books, i found are just
starting points. the most useful docs you can have
are the dx7 SDK docs and Ogl docs spread all over the
net. i can russtle up some sites for OGl if you want.




Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS