do i need learn 2D before 3D? Tricks vs Opengl book

Started by
17 comments, last by x-bishop 22 years, 8 months ago
Would using NeHe''s tutorials be called learning 3D programming? Sorry if that sounded a bit smarty, I didn''t mean it like that, but what I''m saying is that I have no previous 2D programmig knowlege and I seem to be doing fine with NeHe''s tuts. Mybe I''m completely off subject? I''m about to Buy OGLGP too, don''t think it will be a problem. Learning 2D programming wouldn''t HURT, but it might not HELP...

_BUSTER_



www.crosswinds.net/~dotspot
______________________________
Check out my for sale domain name!

http://www.theatermonkey.com

Advertisement
I''ll say again: since you want to develop your own 3D engine, you can probably just start learning 3D. But my advice is, IF you''ve got the time to spare, do a little research on how people used to do stuff before the modern 3D cards. Maybe it won''t help directly your project, but I am certain that this knowledge will be useful, sooner or later(even if it''s just to understand what a "sprite" is when you hear it - you''re probably going to call it a "billboard" [before anyone flames me, I know they''re not the same thing, but are generally used with the same purpose]).

In fact, the best thing one could do would be writing a software engine... THEN you get to understand how those stupid vertexes end up drawn on the screen(a 2D surface, by the way) with textures, lightning etc. But it''s something that us, mere mortals, generally don''t have time to do(I''ve trashed mine due to an incredible number of bugs, but I''ve learned a lot).



Gaiomard Dragon
-===(UDIC)===-
Gaiomard Dragon-===(UDIC)===-
Learn 2D if and when you need it
All "3d" is 2d.

I don''t really think it''s necessary to do 2d _buffer_based_ graphics before doing "3d." But you should know what your preferred 3d graphics API is doing, at least for the simple stuff.

If I told you how to plot a pixel to the screen in Mode13h, could you make a wireframe cube spin?

If you couldn''t, you don''t understand what your API is doing for you, and you should learn.
Yes, I over-reacted in my post.

Sorry.
Personally, I learned both 2d and 3d in a leapfrog fashion. I learned a little DirectDraw, and then a little OpenGL, and alternated. The main reason I learned DirectDraw was that it was a good start just to learn DirectX period. After that I understood COM better (I usually use Delphi, and doing COM in Delphi is a little different since it does reference counting and such for you), and could move on to other interfaces in DirectX. One thing that is nice about doing 2D is that you can get used to vector math in a little easier environment, but overall if you learned it in highschool (or are still in highschool and read up on it elsewhere like me ) along with basic matrix operations, then you should be good to go. TWGPG is a good book for A.I., physics, DirectSound, DirecInput, ect..., so I would keep it even if you don't use DDraw. There are some articles on 3d on the CD too, and a plethora of other cool stuff to look at, so I'd check that out.

Edited by - HardMario on August 8, 2001 11:03:03 PM
quote:
Yes, I over-reacted in my post.


I don´t think so...
-------------Ban KalvinB !
After Dave and I finished writing OpenGL Game Programming, we had a discussion on whether or not people should learn 2D or 3D first, or both.

It''s funny, because beforehand we had both supported the notion that people new to game development should strictly work with 2D games until they were comfortable with the process; however, after writing this book on 3D graphics and game development, we both concluded that it really didn''t matter what you start with.

While it can be said that 2D and 3D are alike in that it''s a matter of +/- one dimension, the harsh fact is that there''s much more to it than that. When you''re working in 2D, you''re ultimately working with pixels, whether you represent your 2D world in world units or not, you still have to work with individual pixels and screen coordinates. When working with 3D, this is not always the case. Using an API, you can think of the 3D world as the real, physical world, which for some people (such as myself) is much easier than thinking in terms of screen coordinates. When you''re doing your software renderer, sure, you have to work with more 2D techniques such as polygon scan conversion, poly fill, clipping, etc. (I''ve been there) But to get something working in 3D nowadays is very easy, and as you work more with 3D, you can learn more about the advanced techniques involved to create truly awesome worlds.

But hey, that''s just mine and Dave''s opinion. It''s ultimately up to the person wanting to learn. He has to decide what will work best for himself.

Kevin

Admin for GameDev.net.

i really appreciate the responses ive received in this thread. my decision to start off with 2D games (tetris -> pacman -> supermario) then jump over to 3D has not been easy...im still comtemplating whether or not I should grab TOTWGPGs first, learn about basic window game programming environment or just completely start using 3D with opengl

the 2 biggest reasons why i dont want to learn 2D right away with TOTWGPGs is that it uses DX7, and i dont wanna unlearn anything for DX8 since the two versions are supposedly really different architecturally, and that the author of the book allegedly uses a very awkward and unconventional coding style and unnecessary header files.

but wholeheartly think that one should start really small and incrementally move forward, and i agree with gmcbay that 2D and 3D game programming is fundamentally similiar and that learning the basics of game development in a 2D environment will make it easier for me to extend that knowledge into 3D, plus i dont really want to rely too much on a specific graphics API, as i''d like to use both D3D and OpenGL in any project

i think going from 2D game development (not just graphics) into 3D would be easier for me than jumping straight into 3D becuz of all the extra headaches that 3D brings ...and im afraid that ill just give up becuz be over my head

ill give it another day, but if nothing changes im gonna buy that TOTWGPGs learn 2D, finish up my final fight like beat em up game using Street Fighter characters...Final Fighters! then start research on 3D engine development with the OpenGL Game Programming book

Aug - Jan: 2D and Game Development Fundamentals
Feb - Dec: Research and completion of a basic 3D engine, graduate with a BSc in Computer Science and start working in the game industry

i just hope i dont dig myself into a hole by learning a more or less a software rendering approach with 2D thatll make it harder to transistion over to Hardware accelerated 3D

This topic is closed to new replies.

Advertisement