books

You are currently browsing articles tagged books.

Andrew Glassner released his two-volume book “Principles of Digital Image Synthesis” to be free for download from Google Books. This book is pretty amazing in its scope and depth. Published in 1995 by Morgan-Kaufmann Press, it provides an education in almost all the key scientific and mathematical concepts used in rendering. The human vision system and color, display systems (pre-LCD, though), signal processing, sampling and reconstruction, Monte Carlo integration, energy transport, BRDFs, and much more, in 1600 pages. I turned to it for some bits of theory for our first edition. Despite its age, it is a worthwhile volume, as the underlying science and math are still valid.

Update: get a nicer version of the PDF version of the book from Iliyan’s site, or from here. Read more about it here.

Unfortunately, Google Books doesn’t quite list the book correctly and makes it hard to find both volumes when searching. So, here are the direct links:

Just hit the PDF download link in the upper right corner of each page, prove you’re not a computer, and you’ll then have each volume. You’ll want to rename the PDFs, as Google Books calls each volume the same name, Principles_of_digital_image_synthesis.pdf. Volume 1′s PDF is 12.0 MB, Volume 2′s is 17.8 MB.

Finally, to get the errata for the book, go to the author’s page about the book.

Special bonus project: I just asked Andrew Glassner if it would be OK for someone with Acrobat or other editor to put both PDFs into a single PDF, and to fold in the errata. He said that would be great, and that he could provide a bit more new errata which is not on his webpage yet. Let me know if you’re interested in doing a good deed for the graphics community and I’ll coordinate any efforts. Update: looks like we’ve got a volunteer, and so I’m hoping a new PDF version will be available in a few days.

Tags:

I’ve learnt of two new books in the past few weeks, worth mentioning as books to check out at SIGGRAPH (or using Amazon’s “Look Inside”, of course):

iPhone 3D Programming: Developing Graphical Applications with OpenGL ES, by Philip Rideout, O’Reilly Press. A better title might have been “Programming OpenGL ES on the iPhone”, as it focuses on OpenGL ES more than on the iPhone per se. Which is fine; there are already lots of iPhone programming books, and almost none that are focused more on OpenGL ES itself (the only other OpenGL ES 2.0 book I know of is this one). The book is C++ oriented, with some Objective C as needed for glue. From my brief skim, this looks like a well-illustrated, readable guide that hits many different effects: reflection maps, skinning, antialiasing, etc. That said, I haven’t yet had the opportunity to program on any mobile devices, so can’t give an expert review. When I do give it a try, this looks like the book I’ll read first.

Update: A draft of this book is free on the web, see it here. It looks to be essentially the same as the published work (but with some hand-drawn figures), and is nicer in some ways, as the pages allow color images (always good for a graphics book).

Light & Skin Interactions: Simulations for Computer Graphics Applications, by Gladimir V. G. Baranoski and Aravind Krishnaswamy, Morgan-Kaufmann Press. This one’s out of my league as a casual skim. Paging through and seeing “the eumelanin absorption coefficient is given by…” and “Scattering in either the stratum corneum or epidermis…” shows me how little I know of the world in general. Anyway, interesting to see a whole book about this critical type of material. Searching through it, there’s minimal coverage of, for example, d’Eon and Luebke’s work, so I can’t say it has much direct application to interactive computer graphics at this point.

That’s all for the real books…

The half a book (at best): Game GPU Graphics Gems: Real-Time Rendering The Redux (aka GGGG:RTRTR), by anyone who wants to edit it. When I “edited” the quasi-book Another Introduction to Ray Tracing a few months ago, I thought back then that I’d start another book for SIGGRAPH. Like the first stunning collection, this was an hour of work gathering Wikipedia articles (hardest part was choosing a cover). There are plenty more articles to gather about interactive rendering, and you’re most welcome to add any good ones you find to this book, make your own, etc. – it’s a wiki page, after all. More seriously, I like having a single, tight page of links to Wikipedia articles about interactive rendering, vs. wandering around and haphazardly seeing what’s there.

Tags: , , , , ,

I had the chance to spend some quality time with Preisz & Garney’s recent book “Video Game Optimization“ a few weeks back, as I was trapped in a 14 hour plane flight. I hardly spent all that time with it, though I probably should have spent more. Instead, “Shutter Island” and “It’s Complicated” (with bad audio) are four hours out of my life I’ll never get back.

This book goes from soup to nuts on the topic: types of optimization, how to set and achieve goals, discussion of specific tools (VTune, PIX, PerfHUD, etc.), where bottlenecks can occur and how to test for them, and in-depth coverage of CPU and GPU issues. Graphics and engine performance are the focus, including multicore and networking optimization, plus a chapter on consoles and another on managed languages. Some of the information is in the “obvious if you’ve done it before” category, but critical knowledge if you haven’t, e.g., the first thing to do when optimizing is to create some good benchmark tests and lay down the baselines.

There are many specific tips, such as turning on the DirectX Debug runtime and seeing if any bugs are found. Even if your application appears to run fine with problems flagged, the fact that they’re being flagged is a sign of lost performance (the API has to recover from your problem) or possible bugs. I hadn’t really considered that aspect (“code works even with the warnings, why fix it?”), so plan to go back to work with renewed vigor in eliminating these when seen.

I also liked reading about how various optimizing compilers work nowadays. The main takeaway for me was to not worry about little syntactic tricks any more, most modern optimizers are good enough to make the code quite fast.

There’s very little in this book with which I can find fault. I tested a few terms against the index. About the only lack I found was for the “small batch problem“,  where it pays to merge small static meshes into a single large mesh when possible. This topic does turn out to be covered (Chapter 8), but the index has nothing under “batch”, “batching”, “small batch”, etc. There is also no index entry for “mesh”. So the index, while present (and 12 pages long), does have at least one hole I could detect. There are other little index mismatches, like “NVIDIA PerfHUD Tool” and “NvPerfHud Tool” being separate entries, with different pages listed. Typo-wise, I found one small error on page 123, first line should say “stack” instead of “heap”, I believe.

Executive summary: it’s a worthwhile book for just about anyone interested in optimization. These guys are veteran experts in this field, and the book gives specific advice and practical tips in many areas. A huge range of topics are covered, the authors like to run various experiments and show where problems can occur (sometimes the cases are a bit pathological, but still interesting), and there are lots of bits of information to mull over. Long and short, recommended if you want to know about this subject.

To learn more: first, look inside the book on Amazon. We mentioned here before Eric Preisz’s worthwhile article on videogame optimization on Gamasutra. A very early outline of the book appears on vertexbuffer.com. For me, it’s great to see that this is a passion for the first author – that comes through loud and clear in this book. I’ve added it to our recommended books section.

One little update: Carmack’s inverse sqrt trick, mentioned in the book on page 155, is dated for the PC. According to Ian Ameline, “It has been obsolete since the Pentium 3 came out with SSE. The rsqrtss/rsqrtps instructions are faster still and have better and more predictable accuracy. Rsqrtss + one iteration of Newton/Raphson gives 22 (of 23) bits of accuracy, guaranteed.”

Tags: , ,

A few days before the official release date of July 1, the book GPU Pro is out. Think “ShaderX, but now with color”. The example programs and source code are free to download. As mentioned before, more about it at Wolfgang Engel’s book blog.

Tags:

Quite the backlog, so let’s whip through some topics:

  • GDC: ancient news, I know, but here is a rundown from Vincent Scheib and a summary of trends from Mark DeLoura.
  • I like when people revisit various languages and see how fast they now are on newer hardware and more efficient implementations. Case in point: Quake 2 runs in a browser using javascript and WebGL.
  • Morgan McGuire pointed out this worthwhile article on stereoscopic graphics programming. Quick bits: frame tearing is very noticeable since it is visible to only one eye, vsync is important which may force lower-res rendering, making antialiasing all that much more important. UI elements on top look terribly 2D, and aim-point UI elements need to be given 3D depths. For their game MotorStorm, going 3D meant a lot more people liked using the first-person view, and this view with stereo helped perception of depth, obstacles, etc. There are also some intriguing ideas about using a single 2D image and reprojection using the depth buffer to get the second image (it mostly works…).
  • I happened to notice ShaderX 7 is now available on the Kindle. Looking further, quite a few other recent graphics books are. What’s odd is the differential in prices varies considerably: a Kindle ShaderX 7 is only $3.78 cheaper, while Fundamentals of Computer Graphics is $20 less.
  • Speaking of ShaderX, its successor GPU Pro is not out yet, but Wolfgang started a blog about it (really, just the Table of Contents), in addition to his other blog. The real news: you can use Amazon’s Look Inside feature to view the contents of the book right now!
  • Here are way too many multithreading resources.
  • In case you somehow missed it, you must see Pixels.

Tags: , , ,

Shortly after publication of the first volume, Eric Lengyel is now calling for chapters for the second volume of this series, due to ship at GDC 2011.  Details can be found at the book website.  The first book turned out pretty good, so this might be a good one to contribute to.

Tags: ,

I’ll get back to actual informational posts realsoonnow when I have some time, but I had to put this up immediately.

Amazon sent this one on to me, a book recommendation entitled Polygon Mesh: Unstructured Grid, 3D Computer Graphics, Solid Modeling, Convex Polygon, Rendering, Vertices, Computational Geometry. I am a bit sad there’s no cover image nor “Look Inside!” feature; it’s these little touches that no doubt would have convinced me to lay out $47 for such a fine-sounding volume, even though it’s only 88 pages long. The book Rasterisation: Vector Graphics, Raster Graphics, Pixel, Rendering, 3D Computer Graphics, Persistence of Vision, Ray Tracing by the same editor has a nice cover (though no “Look Inside!”), but at $62 is just a dollar too much for me.

The first of three editors for both books, Lambert M. Surhone, has 18,247 books that he’s worked on personally. Miriam T. Timpledon and Susan F. Marseken are also pretty productive, with 17,697 titles each. If they would only take a chance to break out and edit their own books, they could overtake Lambert in no time, I’m sure.

Welcome to Betascript Publishing. The idea is to grab (possibly) related Wikipedia pages, print them out, and put them in a book. More about this here. I don’t know who would buy such books, but I guess you need just 100 customers to net you perhaps $5000 or more. Peculiar. I expect with 18,247 titles, there are likely to be a hundred that sound like real books. The part that is sad to me is to see such books listed on foreign bookseller pages. I guess the good news is that the system works only once per customer, though I would guess the next step is to make 18,247 imprint names with 18,247 different editor names.

I thought the editors’ names were perhaps anagrams. Using the Internet Anagram Server, the first combination for each name is:

Lambert M. Surhone gives Blather Summoner

Miriam T. Timpledon gives Immolated Imprint

Susan F. Marseken gives Frankness Amuse

Probably just a coincidence. Anyway, I am frankly unamused by the idea of books automatically being produced, then automatically being recommended by Amazon, given that some people will undoubtedly pay for something they could get for nothing.

Now I just need an AI that will automatically buy these with robo-dollars and the cycle will be complete. Really, better yet would be to write a script that would automatically post a review for each one and note the content is free on Wikipedia. That would be the best automation of all.

Update: I wrote Amazon to complain. They reply (among other boilerplate sentences), “As a retailer, our goal is to provide customers with the broadest selection possible so they can find, discover, and buy any item they might be seeking.” They forgot the words “and pay us.” No one in their right mind seeks to pay for information they could get for free. It turns out Betascript is just one of three imprints under VDM Publishing – reading the Wikipedia article on VDM Publishing is fascinating, especially the discussion section. Amazon currently lists 38,909 Alphascript and 18,289 Betascript books, plus 321 books in German by Fastbook Publishing.

If you’re as disgusted by Amazon’s behavior as I am, I suggest two strategies: write and complain (and get a boilerplate response, but enough complaints might add up) by going here and clicking on Contact Us in the right column, and post 1-star reviews for any of these you run across, e.g., mine here – something to do while waiting for your code to compile.

Update: as of January 24th, 2011, Alphascript is up to 112,420 titles and Betascript has 230,460 titles. What a crock – shame on you, Amazon. Sadly, Miriam and Susan never caught up to Lambert: he has 230,535 titles to his name, while they each have only 69,395.

One more update: see my followup article here.

Tags: , , , , ,

Marwan Ansari has put out a call for participation (i.e., articles) for an upcoming book, “Game Development Tools”. The CFP is short, so I’ve included it below. Please pass on the URL http://gamedevelopmenttools.com/ for the book’s website to anyone you think would be interested.

To me, the things I most appreciate from Marwan are his two articles in ShaderX 2: Tips & Tricks (free for download). These are still relevant today: “Advanced Image Processing with DirectX® 9 Pixel Shaders” (written with Jason Mitchell, now at Valve, and Evan Hart, and the article “Image Effects with DirectX® 9 Pixel Shaders”. He’s worked for a number of games companies since his ATI days.

The CFP:

We invite you to submit a proposal for an  innovative article to be included in a forthcoming book, Game Development Tools, which will be edited by Marwan Y. Ansari and published by A. K. Peters. We expect to publish the volume in time for GDC 2011.

We are open to any tools articles that you feel would make a valuable contribution to this book.

Some topics that would be of interest include:

  • Content Pipeline tools (creation, streamlining, management)
  • Graphics/Rendering tools
  • Profiling tools
  • Collada import/export/inspection
  • Sound tools
  • In-Game debugging tools
  • Memory management & analysis
  • Console tools (single and cross platform)

This list is not meant to be exclusive and other topics are welcome.

The schedule for the book is as follows:

June 30th           – All proposals in.

July 15th            – Final list of accepted authors are informed and begin articles.

August 15th       – First draft in to editor

September 15th  – Drafts sent to other book authors for peer review

October 15th      – Final articles in to editor

November 30th   – Final articles to publisher (A K Peters)

GDC 2011          – Book is released.

Please send proposals to marwan at gamedevelopmenttools dot com.

Tags: ,

Game Engine Gems

A little under a year ago, we mentioned the call for papers for a new “gems” book: Game Engine Gems, edited by Eric Lengyel.  It’s available for pre-order on Amazon, not surprising since it’s due to be launched at GDC, just two weeks from now.  The table of contents is available on the book website, and looks promising.  Although the book contains some rendering chapters, its focus is broader, similar to the successful Game Programming Gems series to which it is likely to be a worthy competitor.  I’ve added it to our upcoming books list.

Tags:

GPU Pro 2 book CFP

GPU Pro (the rebranded ShaderX series) will be published soon. Wolfgang Engel, the editor in chief of the series, has now put out a call for participation for GPU Pro 2read about it here. Proposal deadline is May 17th.

Tags: ,

« Older entries § Newer entries »