books

You are currently browsing articles tagged books.

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.

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: ,

Amazon sent an auto-recommended of this book to me. Unlike last time, which was humorous but unrelated, I actually appreciate this one: “Temporal Coherence in Real-Time Rendering: Practical Approaches for Capitalizing on Temporal Coherence in the Domain of Real-Time Rendering,” by Daniel Scherzer.

At $81 for a 132 page book, I suspected it was a thesis reprint. Indeed it is: you can download the thesis from here. The thesis is 130 pages long, so my guess is the book form adds nothing (and subtracts $81).

So, you can download it for free now, but should you read it? Well, it is a thesis, which means it collects various papers and presents each in turn. This thesis focuses on using temporal coherence, i.e. use previous frames’ computations in various ways. It includes Daniel’s hard shadow (history buffer), soft shadow, and discrete LOD blending work, as listed here. Since it’s a thesis, the author can stretch out a bit more and cover various areas in depth. The focus is on improving image quality: hard shadows are higher resolution, soft shadows look smoother. There are limitations to his approaches, e.g., the lights are fixed in place, and objects generally should be static.

As with most theses, it also includes an extensive “previous work” section at the beginning. There is a 23 page overview of a number of shadow techniques and LOD work, explaining strengths and weaknesses. From my skim, this looks quite good; not quite all-encompassing (which is good: there are way too many shadow papers), but hitting most of the major areas of research. Let’s put it this way: if and when we write a fourth edition, I’ll certainly carefully read his categorization of various problems and think about how to integrate it into our section on shadows. His is the best recent overview of the subject that I’ve seen. He’s also the coauthor of an upcoming survey on hard shadows, not yet available for download but which I suspect is similar to his thesis’ overview.

Update: I asked Daniel about this post, he said it’s about right (and the long subtitle is indeed a Verlag decision). The book version contains an index, and different (non-copyright-protected) images. Also of interest, their upcoming STAR survey on hard shadows will be more theoretical and detailed, similar to the hard shadow section in the SIGGRAPH Asia 2009 course Casting Shadows in Real Time (which has a solid 90 pages on shadow algorithms).

Tags: , ,

« Older entries