3-D Intro

Started by
7 comments, last by frizb 24 years, 1 month ago
Ok, here''s my question.( I would love to here from Gromit also since I''ve been reading and posting here for quite a while and really respect and understand his posts. ) I really want to learn 3-D conceptually. I have completed 2-D projects and have been studying design in the meantime and applying it towards projects I''ve completed to see how I could have done it better. Anyways, I kicked ass all through math classes many years ago until I get to Geometry, and blew that off cuz I didn''t see the use for it at the time (Are you taking notes kiddies? ) So I plan on buying a Geometry book from the local OSU bookstore (I seem to learn better from text books that quiz me at the end of chapters). Where should I go from there? I mean really, I don''t understand, how for example a 3D Duke Nukem moves around in a 3D world. Are animations stored in a 3D file? Say Duke has 50 different possible moves. Are they all stored in those 3dx files I always hear people talking about? I would appreciate anything anyone has to say. Its never too late to learn (As far as I''m concerned) Hell, I''m 30 but I feel only 29 ! KISS ROCKS! Beware of the Nightmare Creatures! Still Learning...
Still Learning...
Advertisement
Actually, Duke Nukem 3D is a 2D game, the animations are single pictures for each frame. Same as Doom. The levels are drawn as lines, and the rooms are then made to have heights, giving the feel of 3D, but not truly 3D.
poocaapoo
In my opinion if a game seems to be 3D...it is 3D!
In reality Duke Nukem, Doom, Blood,... use raycasting tecniques...
From the viewer position the algorithm traces some rays; if a ray intercepts a sector (defined in a 2D map) the algorithm draw a vertical line on the screen with the proper height, texture, precomputed light,...
These games run so fast because they draw only visible pixels (100% of fill rate efficiency!) and use a simple texture mapping (z constant).
However they introduce great limitations: you cannot tilt your head (in DukeNukem it''s a 2D translation), you cannot have 2 overlapped sectors, you have vertical walls and horizontal floors, very enemy is a sprite (an image),...
These engines were improved over years but they are definitely out!

If you want to learn about the basis of ''real'' 3D graphics I must suggest you to see
http://pages.infinit.net/jstlouis/3dbhole/
that is a nice tutorial about software rendering tecniques (from vertex transforming to lightning with source code)

In my opinion it''s the time to use some 3D API like OpenGL or D3D but it''s important to know something about transforming matrix, texture mapping and so on...or you risk to be confused (but it''s not difficult to start).
You can find tons of articles on these APIs

Note : there is not anyone that can be say "I have learned everithing in computer graphics".
IpSeDiXiT
Good lord, if you want to get technical about Duke being 2D then why don't you call Direct3D and OpenGL 2D Api's since they both render to the screen. But to get back on to topic, frizb, you are going to need a lot of reading. I say screw the book ->for now<- and start reading on the net. I started reading the DirectX help file for about 2 months and now, I already know the DirectX API like the back of my hand (ok, almost). DirectX and OpenGL hide the actual hard work of transforming your verticies on to the screen. You can still do that yourself, but DX and OGL do it already.

Edited by - nes8bit on 3/11/00 6:55:45 PM
I personally use Direct3D. If your already using DirectX, Direct3D will feel pretty familiar. It''s not really half as bad as many people make it out to be. But read those docs!!!

"When people tell you to tell the truth, you know that their lying."
Thanks everyone. Will the DirectX docs do a good enough job of getting me set on the basics I need to understand for 3-D stuff? Thats my biggest worry. I not quite as worried about figuring out how to use the APIs but knowing what they are doing is a different story.

Still Learning...
Still Learning...
Using DirectX and OGl is way past the subject. I would suggest you read the tutorials people wrote some years ago, like Zed3D and 3DGpl. These are great because they start from very basics, like explaining what a vertex is etc. and go all the way up to curved surfaces and using D3D for accomplishing what youve learnt. Its real easy to learn from these, and you would be debugging your first demo in a couple of days after reading.
Theyre both available on net, and if you want, i can mail em to you. (6-7 megs in word format)

-kertropp
-kertropp C:Projectsrg_clueph_opt.c(185) : error C3142: 'PushAll' :bad ideaC:Projectsrg_clueph_opt.c(207) : error C324: 'TryCnt': missing point
Thanks. I''ll look them up and if I can''t find them I''ll email you. Sounds like what I may be looking for!

Still Learning...
Still Learning...
Well.. heh heh.. You know what I''m going to suggest..
Glide...

It''s a good way of learning to do 3D <-> 2D math.. Basic things like clipping and texture management that are usually overlooked have a way of making you realize the thousands of ways to do 3D... Only problem is that it is only really good with 3dfx cards..

--SR

----------------------------
"To err is human... To really foul things up requires a computer.."
----------------------------
----------------------------"To err is human... To really foul things up requires a computer.."----------------------------

This topic is closed to new replies.

Advertisement