Message-Id: <199908162328.TAA02998@delorie.com> From: "Dan Gold" To: Subject: Re: 3D BOOK INFO Date: Mon, 15 Aug 1994 02:24:37 -0700 X-MSMail-Priority: Normal X-Priority: 3 X-Mailer: Microsoft Internet Mail 4.70.1155 MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit Reply-To: djgpp AT delorie DOT com This is the longest Post I've ever made. It was originally going to the Allegro Mailing List but I decided that there probably a bunch of people here that would like the info as well. I have both books and I can tell you, that you are not going to learn 3D programming from Michael Abrash's Graphics Programming Black Book, but you are going to learn much more recent graphics techniques. I sugest the Black Book if you understand 3D programming and are capable of using the information given. The Black Art of 3D Game Programming will teach many topics and details of 3d programming more in depth even if its older information you can't be picky when you start. I read through the Black Book and got to the 3D section and I had to stop because I couldn't grasp the information inside without more knowledge of 3D. I bought the Black Art about a week of more ago and have reached the 3D section of the book. There is also a big price difference for what you get and alot of overhead in both books. The Black Art is $49.95 (us) and $72.95 (cdn), The MA GP Black Book is $59.99 (us) and 83.99 (cdn). Well its not that big of a difference, and you can probably pick them up slightly cheaper, Its pretty expensive here is Canada, I ordered the Black Book from Amazon.com and got it for $47.99 (us). That is not why the price makes a difference there is also alot of mumbo jumbo before you start with the 3d information. Here are some of the chapters from the books to help you decide witch would be better for you. Chapters for the Black Art of 3d Game Programming. Intro: You should note if you have Ticks of The Game Programming Gurus you may be disapointed because the book up to 3D seems like a recap of everthing they covered in that book, for instance the PCX loading code is the same and only loads only 320x200 bitmaps like the Book before. Thats one thing about Andre Lamoths books, is he doesn't make re-usable code, meaning its all very specific to the task which makes it kinda frustrating sometimes, plus the code is all 16bit and when he does use 32bit its with Watcom, So some of the lower-level stuff like Interrupts is handled differently in DJGPP, you can understand the code and writing but will need to change it for DJGPP is all. There is some new info in all the review but it was stupid to start at such a low level, since anyone who wants to learn 3d should understand 2d fist. His book Trick of the Game Programming Guru's was released in 94 and this is Black Art in 95, there's no technical changes in much any of the information except things are a little more in depth in some areas. Tricks covers a ray caster and the book doesn't give you near enough information to fully understand it because I have a feeling they filled up most of the page count explaining the easier stuff at the beginning. Anyway Tricks if very brief in alot of things but still a good book, and pretty cheap compared to Black Art. So anyway here are the chapter for Black Art. Chapter 1: Genesis of 3d Games - history and info Chapter 2: Elements of a Game 21 - game loops Chapter 3: THe Mysterious VGA Card 47 - basics Chapter 4: Waking the Dead with Animation 105 Chapter 5: Communicatin with the Outsize World 205 - input devices Chapter 6: Dancing with Cyberdemons 267- sound Chapter 7: The Magick of Thought 345 - AI Chapter 8: The Art of Possesion 401 - is multitasking and interrupts Chapter 9: Multiplayer Game Tequniques 453 --= 3d starts =-- Chapter 10: 3D Fundamentals 543 Chapter 11: Building a 3D Graphics Engine 631 Chapter 12: Solid Modeling and Shading 701 Chapter 13: Universal Transformation 783 Chapter 14: Hidden Surface and Object Removal 803 Chapter 15: Clipping and Rendering the Final View 827 Chapter 16: Voxel Graphics 933 Chapter 17: Optimizing the 3D Engine 991 Chapter 18: Kill or Be Killed 1115 (note: Chapter 18 is an overview of game made with the infomation) Chapter from Michel Abrash's Graphics Programming Black Book: I'm not going to go over every chapter since there's like 70!, the Book is about 1300 pages long and the Black Art is about 1100 pages. The first part of the book cover assembly optimization and some C optimization, it is very in depth, note: you cannot learn Assembly Language from this book, you will learn to use it better though. It has 286-386, 486 and Pentium Optimizations and changes, including info on the Pentiums V-Pipe. Most of the beginning is made of example programs which he shows you then changes them to optimize and then changes them again, then goes into assembly language and compares the results. There is alot to be learned but the information is very dense and will make you go crazy after reading too much...Also this book is mostly a collection of articles he wrote in Dr. Jobs Journal, which date back to around 92. So be warned some information is unusable and some graphics stuff covers video modes which will never see the light of day again. He spends alot of time talking about stressing out the VGA resolutions and has stuff on Mode X which is interesting but even that mode it too low-res to be any good anymore. There is alot of 16 color graphics mode code, which is also unusable. You will learn the VGA very well if you pay attention and how to modify it. Part II Chapters p. 421 // graphics stuff (in depth stuff about the VGA for afew chapters) Chapter 23 Bones and Sinew - intro to VGA Chapter 24 Parallel Processing with the VGA Chapter 25 VGA Data Machinery Chapter 26 VGA Write Mode 3 Chapter 27 Yet Another VGA Write Mode Chapter 28 Reading VGA Memory Chapter 29 Saving Screens and Other VGA Mysteries - EGA 16 color... Chapter 30 Video Est Omnis Divisa - vga split screen Chapter 31 Higher 256-Color Resolutions on the VGA - 320x400 Chapter 32 Be It Resolved: 360x480 - on vga, pretty neet Chapter 33 Yogi Bear and Eurythmics Confront VGA Colors Chapter 34 Changing Colors without Writing Pixels - color cycling Chapter 35 Bresenham is Fast, and Fast is Good. - line drawing Chapter 36 The Good, the Bad and the Run Sliced - dam! fast lines calculates runs... Chapter 37 Dead Cats and Lighning Lines - optimize run slice Asm --= Getting into 3D more 2D but things will Apply =-- Chapter 38 The Polygon Primeval Chapter 39 Fast Convex Polygons 723 Chapter 40 OfSongs, Taxes, and the Simplicity of Complex Polygons Chapter 41 The Way-Down Polygon Nomenclature Blues - data structure, names Chapter 42 Wu'ed in Haste; Fried Stewed at Leisure - antialiasing Chapter 43 Bit-Plane Animation - color stuff Chapter 44 Split Screens Save the Page Flipping Day - old vid modes Chapter 45 Dog Hair and Dirty Rectangles Chapter 46 Who was that Masked Image - optimize Dirty, masked stuff Chapter 47 Mode X 256 Color VGA Magic Chapter 48 Mode X Marks the Latch Chapter 49 Mode X 256 Color Animation --= 3D Stuff =-- page 931. Chapter 50 Adding a Dimension - using mode-x - 3d drawing pipeline - 3d example -i.e there is no introduction Chapter 51 Sneakers in Space - backface removal Chapter 52 Fast 3D Animation: Meet X-Sharp - a 3d mode-x library by M.A. Chapter 53 Raw Speed and More Chapter 54 3D Shading Chapter 55 Color Modeling in 256-Color Mode Chapter 56 Pooh and the Space Station - about texture mapping, the title doesn' tell you much - speed info Chapter 57 10,000 Freshly Sheared Sheep on the Screen - fast, smooth, texture mapping - fixed point arithmetic - mapping textures accross multiple polygons Chapter 58 Heinlein's Crystal Ball, Spock's Brain, and the 9-Cycle Dare - more texture mapping optimization Chapter 59 The Idea of BSP Trees Chapter 60 Compiling BSP Trees Chapter 61 Frames of Reference Chapter 62 One Story, Two Rules, and a BSP Renderer Chapter 63 Floating-Point for Real Trime 3D Chapter 64 Quake's Visible-Surface Determination Chapter 65 3D Clipping and Other Thoughts Chapter 66 Quake's Hidden Surface Removal Chapter 67 Sorted Spans in Action Chapter 68 Quakes Lighting Model Chapter 69 Surface Caching and Quakes Triangle Models Chapter 70 Quake: A Post-Mortem and a Glimpse into the Future, (oh my god, that alot of typing...) You see, what it boils down to is to BUY BOTH THE BOOKS!, if you are really thinking of getting into 3D ofcourse otherwise skip the Black Books because you will never get that far unless you are. I don't know if optimization is of big of a deal since OpenGL and Direct3D I take care of most of the trouble now, but what doesn't kill you makes you a better programmer. There is definately alot of tasty chapters in the book. I have a feeling about 40 people in the group will buy it just because of the word "Quake", yet you must understand this book is very advanced and it doesn't baby you through it. If you can't afford this book, you can download alot of the articles on the net but they are not very fun to look at as you code unless you want to print them out. Oh, I forgot this book also comes with a CD that has a copy of Zen of Assembly Language an old book that you can't really find anymore and the foreward is written by John Carmack. From Dan Gold...I'm never writing this much again... Thanks for getting this far... ---------- From: Michael Bourgeous To: allegro AT canvaslink DOT com Subject: Re: [SV: [AL] Requesting 3D tutorial] Date: Sunday, August 15, 1999 11:07 PM "Johan Henriksson" wrote: > >So my question really is: can anyone tell me where I can find a decent > >step-by-step 3D tutorial (for Allegro and/or in general)? > > > hehehe. It seems that you don't understand that 3D is quite a big > subject. I would rather recomend you to get a book instead. Check out > Abrash 3d (something like that) and The black art 3d games programming. > Also, if you want to do 3d, Allegro is not the right thing. Either learn > OpenGL or why not have a look at http://o3engine.cjb.net > > Hope it helps, CYA Johan, don't direct this innocent mind to our crappy engine! O^3 sucks! Also, "The Black Art of 3D Games Programming" is by André Lamothe. The good book is "Michael Abrash's Graphics Programming Black Book", by Michael Abrash (you guessed it). It has a little in it about how Quake works, and a 2d BSP system like DOOM's. Attention: the O^3 project needs more active coders. Please come join the crew. We should be starting over soon, this time the right way (OpenGl-based instead of software). If you know some good stuff about 3d, help us out. Michael Bourgeous http://fly.to/sts yttren AT netscape DOT net ----------