
Markdown source for Michael Abrash's Graphics Programming Black Book - kar1181
https://github.com/jagregory/abrash-black-book
======
dicroce
This is a great book for 3 reasons: 1) Abrash is actually a good writer.
Sometimes, I read the beginnings of chapters just for the stories he tells. 2)
It's full of algorithms. Sure, you probably won't be writing your own triangle
rasterizer in assembly language, but the algorithms are still important to
know. Besides, it has plenty of stuff that's pretty timeless (there is a boyer
moore implementation in there). 3) Abrash's philosophy of optimization is the
best there is.

------
dc-tech-fan
Ot: how did they do that header in github-flavored markdown?

Github's preview mode doesn't render it correctly and I can't find anything
about it in Github's docs.

Here's the source:

    
    
      ---
      title: Michael Abrash's Graphics Programming Black Book,   Special Edition
      author: Michael Abrash
      date: '1997-07-01'
      identifier:
      - scheme: ISBN
        text: 1576101746
      publisher: The Coriolis Group
      category: 'Web and Software Development: Game Development,Web   and Software Development:
        Graphics and Multimedia Development'
      chapter: '01'
      pages: 004-019
      ---
    

[https://github.com/jagregory/abrash-black-
book/blob/master/s...](https://github.com/jagregory/abrash-black-
book/blob/master/src/about_author.md)

~~~
jandy
I'm surprised that even turns out as well as it does. Those headers are for
pandoc. I guess Github must have a Yaml extension to their Markdown renderer
which is picking it up.

------
derefr
Maybe a tangent, but I'm surprised at the choice of Markdown for formatting an
entire book. Is that common these days? I guess when your output format is
basically "HTML chapter files containing reflowable, resizable text blocks,
with UA-selected dimensions" (i.e. ePub), most of the page-based
considerations of a language like TeX or SGML go out the window.

A question to anyone on here who has published a technical book, where at
least one of the shipped formats was page-based (real paper, or just PDFs):
did you, or your editor, do much proofing and fixing to get the content
"pretty?" (No hanging lines, no rivers, etc.) If so, do you think your choice
of working format affected how much work this was?

~~~
jamesbritt
When I started on my E-Book about Open Sound Control
([http://osc.justthebestparts.com/](http://osc.justthebestparts.com/)) I was
using markdown and assorted home-rolled tools to convert that into both Web
pages, epub, and PDF.

I found that I could not layout and formatting I wanted and when it came time
to officially roll-out the release (a bundle of PDF, epub, and mobi) I opted
for InDesign to avoid weird breaks and gaps.

------
axefrog
How relevant is this for an aspiring graphics programmer just getting started
in the midst of modern APIs, hardware and techniques?

~~~
zokier
Not relevant at all, unless you are interested in a historical perspective.

~~~
marktangotango
Or if you're doing something like implementing a software rendering in a
constrained environment ie 4k demo or Java 4k Games contest.

~~~
zokier
Afaik even 4k demos are mostly shaders these days.

Only remaining place for software rendering seems to be the embedded world.
But if you are trying to make quake-level graphics on an µc then ... you are
being awesome :)

------
StavrosK
Does anyone have the compiled epub? make fails with a generic error for me.

~~~
kar1181
[https://github.com/jagregory/abrash-black-
book/releases](https://github.com/jagregory/abrash-black-book/releases)

~~~
StavrosK
Fantastic, thanks.

------
jandy
Maintainer here. Surprised but pleased to see this make it onto HN. I'm glad
people find it useful!

I had a desire to read the book over Christmas, but found the PDFs really
weren't very useful for reading on my Kindle (and the book being out of print
meant it wasn't feasible or cost effective to acquire the paper version). As
always, the perfectionist in me kicked in and I spent much longer than
necessary converting it, so figured someone else might be interested in the
fruits of my labour.

------
nemesisrobot
This is great! I just finished reading Masters of Doom so this could not have
come at a better time.

------
pan69
Good stuff. This definitely reads better than the tomb that's sitting on my
bookshelf..

~~~
kar1181
My book was second hand already so it is showing its age. I like it as a bit
of an heirloom but the electronic copy is actually accessible. The original,
you need a forklift to remove it from the shelf!

------
deevus
How exciting! I've been looking for a good copy to read for years. I've
uploaded to my kindle for e-book goodness.

Would there be a chance to get it in print with Abrash's permission?

~~~
jandy
I'd love to do that, but the rights are a bit tricky. I'll talk to him about
it, but it's not really his permission to give.

------
deletes
Any recommendations for a modern equivalent?

~~~
kar1181
I don't think there's anything quite like Abrash's tome in breadth or all the
other intangibles he eloquently wrote about (I mean the best optimizer is
between your ears is worth a book in itself!)

Bur for graphics programming, Foley and Van Damm is probably the canonical
text - now in 3rd edition. [http://www.amazon.com/Computer-Graphics-
Principles-Practice-...](http://www.amazon.com/Computer-Graphics-Principles-
Practice-Edition/dp/0321399528)

~~~
doty
While F&VD does a great job covering many different aspects of image
generation, for this kind of work Real-Time Rending[1] is probably more
useful. It is firmly grounded in a world of programmable GPUs (shaders & the
like), and wastes little time talking about rendering techniques that are not
relevant to modern graphics hardware.

[1] [http://www.amazon.com/Real-Time-Rendering-Third-Tomas-
Akenin...](http://www.amazon.com/Real-Time-Rendering-Third-Tomas-Akenine-
Mo%C2%A8ller-
ebook/dp/B007COYODQ/ref=sr_1_1?s=books&ie=UTF8&qid=1391103551&sr=1-1&keywords=real+time+rendering)

~~~
benched
Second for Real-Time Rendering. As far as I am aware, it's the closest thing
to a foundational book on GPU programming for realtime 3D.

------
minimax
The mobi version looks great on my Kindle. This is awesome. Great work!

~~~
jandy
Great! I had some fun with this, and learned why Mobi is so frowned on by
ebook publishers. Glad it turned out ok though. I'm reading it on my Kindle at
the moment too.

