Copy disabled (too large)
Download .txt
Showing preview only (18,652K chars total). Download the full file to get everything.
Repository: erich666/RealTimeRendering
Branch: master
Commit: 55953800ede4
Files: 203
Total size: 17.8 MB
Directory structure:
gitextract_dhotzsxl/
├── .gitignore
├── AA_WT8.tif
├── AmazonImages/
│ └── CVS/
│ ├── Entries
│ ├── Entries.Extra
│ ├── Entries.Extra.Old
│ ├── Entries.Old
│ ├── Repository
│ ├── Root
│ └── Template
├── README.md
├── alpha_test.html
├── an_intro_to_rt-errata.html
├── bibtex_rtr3.txt
├── bibtex_rtr4.txt
├── book.html
├── book_rtr2.html
├── book_rtr3.html
├── books.html
├── corrigenda.html
├── corrigenda_old.html
├── fgl/
│ ├── CVS/
│ │ ├── Entries
│ │ ├── Entries.Extra
│ │ ├── Entries.Extra.Old
│ │ ├── Entries.Old
│ │ ├── Repository
│ │ ├── Root
│ │ └── Template
│ ├── index.htm
│ ├── siggraph2000/
│ │ ├── CVS/
│ │ │ ├── Entries
│ │ │ ├── Entries.Extra
│ │ │ ├── Entries.Extra.Old
│ │ │ ├── Entries.Old
│ │ │ ├── Repository
│ │ │ ├── Root
│ │ │ └── Template
│ │ ├── authors_alpha.txt
│ │ ├── authors_eff.txt
│ │ ├── authors_points.txt
│ │ ├── contest.htm
│ │ ├── costframe.htm
│ │ ├── entry.htm
│ │ ├── entryframe.htm
│ │ ├── index.htm
│ │ ├── nextpage.htm
│ │ ├── previous_authors.txt
│ │ ├── sigpaper.txt
│ │ └── sigsketch.txt
│ ├── siggraph2001/
│ │ ├── CVS/
│ │ │ ├── Entries
│ │ │ ├── Entries.Extra
│ │ │ ├── Entries.Extra.Old
│ │ │ ├── Entries.Old
│ │ │ ├── Repository
│ │ │ ├── Root
│ │ │ └── Template
│ │ ├── auth_alpha.txt
│ │ ├── auth_eff.txt
│ │ ├── auth_val.txt
│ │ ├── contest.htm
│ │ ├── costframe.htm
│ │ ├── entry.htm
│ │ ├── entryframe.htm
│ │ ├── index.htm
│ │ ├── prelim.htm
│ │ ├── sigpaper.txt
│ │ └── sigsketch.txt
│ ├── siggraph2002/
│ │ ├── CVS/
│ │ │ ├── Entries
│ │ │ ├── Entries.Extra
│ │ │ ├── Entries.Extra.Old
│ │ │ ├── Entries.Old
│ │ │ ├── Repository
│ │ │ ├── Root
│ │ │ └── Template
│ │ ├── contest.htm
│ │ ├── costframe.htm
│ │ ├── entry.htm
│ │ ├── entryframe.htm
│ │ ├── index.htm
│ │ └── prelim.htm
│ ├── siggraph2003/
│ │ ├── CVS/
│ │ │ ├── Entries
│ │ │ ├── Entries.Extra
│ │ │ ├── Entries.Extra.Old
│ │ │ ├── Entries.Old
│ │ │ ├── Repository
│ │ │ ├── Root
│ │ │ └── Template
│ │ ├── auth_alpha.txt
│ │ ├── contest.htm
│ │ ├── costframe.htm
│ │ ├── entry.htm
│ │ ├── entryframe.htm
│ │ ├── index.htm
│ │ └── prelim.htm
│ ├── siggraph2004/
│ │ ├── CVS/
│ │ │ ├── Entries
│ │ │ ├── Entries.Extra
│ │ │ ├── Entries.Extra.Old
│ │ │ ├── Entries.Old
│ │ │ ├── Repository
│ │ │ ├── Root
│ │ │ └── Template
│ │ ├── auth_alpha.txt
│ │ ├── contest.htm
│ │ ├── costframe.htm
│ │ ├── entry.htm
│ │ ├── entryframe.htm
│ │ ├── index.htm
│ │ ├── prelim.htm
│ │ └── sigsketch.txt
│ └── siggraph2005/
│ ├── CVS/
│ │ ├── Entries
│ │ ├── Entries.Extra
│ │ ├── Entries.Extra.Old
│ │ ├── Entries.Old
│ │ ├── Repository
│ │ ├── Root
│ │ └── Template
│ ├── auth_val.txt
│ ├── contest.htm
│ ├── costframe.htm
│ ├── entry.htm
│ ├── entryframe.htm
│ ├── index.htm
│ └── prelim.htm
├── figure_data.js
├── figure_data_extended.js
├── figures.html
├── figures.js
├── gd.html
├── globillum/
│ ├── Globillum_1990_to_1999_ward.txt
│ ├── Globillum_1994_to_2019.txt
│ ├── Globillum_1994_to_2019_single_space.txt
│ └── index.html
├── golden.html
├── index.html
├── index_old.html
├── index_rtr2.html
├── index_rtr3.html
├── int/
│ ├── CVS/
│ │ ├── Entries
│ │ ├── Entries.Extra
│ │ ├── Entries.Extra.Old
│ │ ├── Entries.Old
│ │ ├── Repository
│ │ ├── Root
│ │ └── Template
│ ├── _How_to_update_intersections.txt
│ ├── index.html
│ ├── int2html.pl
│ ├── int2html1.pl
│ ├── int2html2.pl
│ ├── intersections.html
│ ├── intersections.txt
│ ├── intersections1.txt
│ ├── intersections2.txt
│ └── intersections_half.html
├── intersections.html
├── intro.html
├── ke-senhuang'shomepagechangelog.html
├── open_access.html
├── portal/
│ └── index.html
├── portal.html
├── preface.html
├── random.html
├── raytracing/
│ ├── roundtable.html
│ └── roundup.html
├── raytracing.html
├── raytracinggems/
│ ├── index.html
│ ├── rtg/
│ │ └── index.html
│ ├── rtg2/
│ │ └── index.html
│ └── rtg2_cfp.html
├── realartifacts/
│ └── index.html
├── refs.html
├── refs1.html
├── refs2.html
├── refs3.html
├── resources/
│ ├── SPD/
│ │ ├── .gitignore
│ │ ├── NFF.TXT
│ │ ├── havran_stats_grids.txt
│ │ ├── havran_stats_octrees.txt
│ │ └── index.html
│ └── shaderx/
│ └── index.html
├── robots.txt
├── rtr3.css
├── rtr4.css
├── sig2010.html
├── sig2013-changelog.html
├── sig2013.html
├── sqrt.c
├── threejs/
│ ├── .new_ones.txt.un~
│ ├── _failing.txt
│ ├── codeFileChecker.pl
│ ├── codeFixer.pl
│ ├── index.html
│ ├── index1.html
│ ├── index2.html
│ ├── list2html.pl
│ ├── new.html
│ ├── new_ones.txt
│ ├── new_ones.txt~
│ ├── new_ones1.txt
│ ├── newish_ones.txt
│ ├── thumbs2html.pl
│ ├── thumbs2html1.pl
│ └── thumbs2html2.pl
├── usd_gltf.html
└── webgl.html
================================================
FILE CONTENTS
================================================
================================================
FILE: .gitignore
================================================
.htaccess
figures/*
rtr4_staging/*
kesen/*
rtintro/*
raytracing/siggraph2019/*
stylized/*
sav-t-pak/*
Real-Time_Rendering_4th-*.pdf
RealTimeRendering4_figures.zip
raytracing/An-Introduction-to-Ray-Tracing-The-Morgan-Kaufmann-Series-in-Computer-Graphics-.pdf
raytracing/Andrew S. Glassner - An Introduction to Ray tracing (The Morgan Kaufmann Series in Computer Graphics) (1989).djvu
raytracing/original file/An-Introduction-to-Ray-Tracing-The-Morgan-Kaufmann-Series-in-Computer-Graphics- - Copy - Copy.pdf
raytracinggems/unofficial_RayTracingGems_v1.*.pdf
raytracing/An-Introduction-to-Ray-Tracing-The-Morgan-Kaufmann-Series-in-Computer-Graphics-1.2.pdf
Cohen-Wallace_Radiosity_and_Realistic_Image_Synthesis.pdf
int/intersections1.html
================================================
FILE: AmazonImages/CVS/Entries
================================================
/3197XEP7AML._SL50_.jpg/1.1/Thu May 20 02:39:32 2010/-kb/
/31E0QC63DAL._SL100_.jpg/1.1/Thu May 20 02:39:32 2010/-kb/
/31seQH49q3L._SL100_.jpg/1.1/Thu May 20 02:39:32 2010/-kb/
/414SvOG1qSL._SL50_.jpg/1.1/Thu Jul 8 14:22:48 2010/-kb/
/4161IDaJBML._SL50_.jpg/1.1/Thu May 20 02:39:32 2010/-kb/
/417bTB+SooL._SL100_.jpg/1.1/Thu May 20 02:39:32 2010/-kb/
/417bTB+SooL._SL50_.jpg/1.1/Thu May 20 02:39:32 2010/-kb/
/4189U-NYi1L._SL50_.jpg/1.1/Thu May 20 02:39:32 2010/-kb/
/41EU+tzxOcL._SL50_.jpg/1.1/Sat Jul 31 15:23:38 2010/-kb/
/41EU+tzxOcL._SL55_.jpg/1.1/Sat Jul 31 15:23:38 2010/-kb/
/41GF0AQJ69L._SL50_.jpg/1.1/Thu May 20 02:39:32 2010/-kb/
/41GwM8ClmaL._SL100_.jpg/1.1/Thu May 20 02:39:32 2010/-kb/
/41M7nMMr2rL._SL50_.jpg/1.1/Thu May 20 02:39:32 2010/-kb/
/41MbgiL9x0L._SL50_.jpg/1.1/Thu May 20 02:39:32 2010/-kb/
/41NJZBE31HL._SL100_.jpg/1.1/Thu May 20 02:39:32 2010/-kb/
/41Ro3yiuddL._SL100_.jpg/1.1/Thu May 20 02:39:32 2010/-kb/
/41Ro3yiuddL._SL50_.jpg/1.1/Thu May 20 02:39:32 2010/-kb/
/41SXi+FPE5L._SL50_.jpg/1.1/Thu May 20 02:39:32 2010/-kb/
/41SYJYKNN3L._SL100_.jpg/1.1/Thu May 20 02:39:32 2010/-kb/
/41TbYMhFAkL._SL50_.jpg/1.1/Thu May 20 02:39:32 2010/-kb/
/41VE3485uZL._SL50_.jpg/1.1/Thu May 20 02:39:32 2010/-kb/
/41VEkdlJd7L._SL50_.jpg/1.1/Thu May 20 02:39:32 2010/-kb/
/41qkB63AoAL._SL100_.jpg/1.1/Thu May 20 02:39:32 2010/-kb/
/41qkB63AoAL._SL50_.jpg/1.1/Thu May 20 02:39:32 2010/-kb/
/41qmJMnW05L._SL50_.jpg/1.1/Sat Aug 14 17:56:00 2010/-kb/
/41s-Q525ivL._SL50_.jpg/1.1/Thu May 20 02:39:32 2010/-kb/
/51+OEdkNplL._SL50_.jpg/1.1/Thu May 20 02:39:32 2010/-kb/
/51-6oFyhBKL._SL100_.jpg/1.1/Thu May 20 02:39:32 2010/-kb/
/51-6oFyhBKL._SL50_.jpg/1.1/Thu May 20 02:39:32 2010/-kb/
/51-6oFyhBKL._SL55_.jpg/1.1/Sat Jul 31 15:23:39 2010/-kb/
/510CJ8391VL._SL50_.jpg/1.1/Thu May 20 02:39:32 2010/-kb/
/510DpzU1K5L._SL50_.jpg/1.1/Thu May 20 02:39:32 2010/-kb/
/510Qfhlo7UL._SL50_.jpg/1.1/Thu May 20 02:39:32 2010/-kb/
/513Z9v-sASL._SL100_.jpg/1.1/Thu May 20 02:39:32 2010/-kb/
/513cU2y5pvL._SL100_.jpg/1.1/Thu May 20 02:39:32 2010/-kb/
/5141+MRy4gL._SL50_.jpg/1.1/Thu May 20 02:39:32 2010/-kb/
/514E6BJEJ9L._SL100_.jpg/1.1/Thu May 20 02:39:32 2010/-kb/
/514E6BJEJ9L._SL50_.jpg/1.1/Thu May 20 02:39:32 2010/-kb/
/514E6BJEJ9L._SL55_.jpg/1.1/Sat Jul 31 15:23:39 2010/-kb/
/514v4a1XaDL._SL50_.jpg/1.1/Thu May 20 02:39:32 2010/-kb/
/5150-70osuL._SL100_.jpg/1.1/Thu May 20 02:39:32 2010/-kb/
/5150-70osuL._SL50_.jpg/1.1/Thu May 20 02:39:32 2010/-kb/
/516FBcWVHbL._SL100_.jpg/1.1/Thu May 20 02:39:32 2010/-kb/
/5171S6CTRCL._SL100_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51A-I4MOfiL._SL50_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51AzzJzq2yL._SL100_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51ByUOsWfsL._SL100_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51ByUOsWfsL._SL50_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51CEuAYzNmL._SL50_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51D0sq13U0L._SL50_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51DO6r1ZOvL._SL50_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51E+10GRNIL._SL100_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51E+10GRNIL._SL50_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51E2EDBTB9L._SL55_.jpg/1.1/Sat Jul 31 15:23:39 2010/-kb/
/51EnRErREWL._SL50_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51F4VrabBQL._SL100_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51FA5WJB3EL._SL50_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51FNNSN19RL._SL100_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51Fq6cuwIPL._SL50_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51G43ZGSJ8L._SL100_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51G43ZGSJ8L._SL50_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51G43ZGSJ8L._SL55_.jpg/1.1/Sat Jul 31 15:23:40 2010/-kb/
/51Gakoj6DSL._SL50_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51JXGSNJT6L._SL50_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51K2X94P56L._SL50_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51K2X94P56L._SL55_.jpg/1.1/Sat Jul 31 15:23:40 2010/-kb/
/51NGaeQk-bL._SL100_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51NRghJAL-L._SL50_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51O1U3hannL._SL100_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51PKCXJAARL._SL100_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51RD0EM2E3L._SL100_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51RVJRli4HL._SL100_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51S5NSFNMZL._SL100_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51S5NSFNMZL._SL50_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51S5NSFNMZL._SL55_.jpg/1.1/Sat Jul 31 15:23:41 2010/-kb/
/51Sj9ocYPrL._SL50_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51Up+OmQhQL._SL55_.jpg/1.1/Sat Jul 31 15:23:41 2010/-kb/
/51VL9FqF6ML._SL50_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51VfPKM9WjL._SL100_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51VfPKM9WjL._SL50_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51VtRlItQpL._SL50_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51W01X6NB7L._SL100_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51W01X6NB7L._SL50_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51W01X6NB7L._SL55_.jpg/1.1/Sat Jul 31 15:23:42 2010/-kb/
/51WzvDvGrEL._SL50_.jpg/1.1/Sat Aug 14 17:56:00 2010/-kb/
/51XB0560BCL._SL100_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51XGCWGC02L._SL100_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51XJzZz9GFL._SL100_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51XJzZz9GFL._SL50_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51XcMj5h81L._SL100_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51XcMj5h81L._SL50_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51YYtK1pprL._SL100_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51ZYOIZ6GOL._SL50_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51a4CbgB9FL._SL50_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51aJGpVASEL._SL100_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51eN8PT4PLL._SL50_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51fCKb6r+AL._SL100_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51fO9qnqu5L._SL50_.jpg/1.1/Sat Aug 14 17:56:01 2010/-kb/
/51fjxtgVZzL._SL100_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51hLW9JAF-L._SL100_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51hLW9JAF-L._SL50_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51hYQWGouUL._SL100_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51hYQWGouUL._SL50_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51i9GAls6KL._SL50_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51juHDYZeSL._SL100_.jpg/1.1/Fri Aug 13 01:33:56 2010/-kb/
/51juHDYZeSL._SL50_.jpg/1.1/Fri Aug 13 01:33:56 2010/-kb/
/51pjZqT2wDL._SL50_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51pz2S9sZIL._SL50_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51qUiwqLm6L._SL50_.jpg/1.1/Sat Jul 31 15:23:42 2010/-kb/
/51qoYlMK8OL._SL50_.jpg/1.1/Thu May 20 02:39:34 2010/-kb/
/51r1WnzblaL._SL50_.jpg/1.1/Thu May 20 02:44:30 2010/-kb/
/51rHYE6fuAL._SL100_.jpg/1.1/Thu May 20 02:39:34 2010/-kb/
/51rHYE6fuAL._SL50_ (1).jpg/1.1/Thu May 20 02:39:34 2010/-kb/
/51rHYE6fuAL._SL50_.jpg/1.1/Thu May 20 02:39:34 2010/-kb/
/51t-Qtbq+vL._SL100_.jpg/1.1/Thu Jul 8 12:16:17 2010/-kb/
/51tU9jPU4NL._SL100_.jpg/1.1/Thu May 20 02:39:34 2010/-kb/
/51tU9jPU4NL._SL50_.jpg/1.1/Thu May 20 02:39:34 2010/-kb/
/51uWqpvuOmL._SL50_.jpg/1.1/Thu May 20 02:39:34 2010/-kb/
/51vv-5C0a2L._SL50_.jpg/1.1/Thu May 20 02:39:34 2010/-kb/
/51wtFm0EcpL._SL50_.jpg/1.1/Thu May 20 02:39:34 2010/-kb/
/51x7BeKjsCL._SL100_.jpg/1.1/Thu May 20 02:39:34 2010/-kb/
/51x7BeKjsCL._SL50_.jpg/1.1/Thu May 20 02:39:34 2010/-kb/
/51y9SfMHnvL._SL100_.jpg/1.1/Thu May 20 02:39:34 2010/-kb/
/51y9SfMHnvL._SL50_.jpg/1.1/Thu May 20 02:39:34 2010/-kb/
/51zXIaoWpML._SL100_.jpg/1.1/Thu May 20 02:39:34 2010/-kb/
/51znSU3XZCL._SL100_.jpg/1.1/Thu May 20 02:39:34 2010/-kb/
/618LPbTEEJL._SL50_.jpg/1.1/Thu May 20 02:39:34 2010/-kb/
/61TVBFGWS2L._SL100_.jpg/1.1/Thu May 20 02:39:34 2010/-kb/
/61h7A3xHNoL._SL50_.jpg/1.1/Thu May 20 02:39:34 2010/-kb/
/Engel_D3D_cover.jpg/1.1/Thu May 20 02:39:34 2010/-kb/
/412Flx8BP4L._SL50_.jpg/1.1/Mon Apr 11 00:16:38 2011/-kb/
/41Np+++TthL._SL100_.jpg/1.1/Thu Oct 13 13:03:35 2011/-kb/
/41Np+++TthL._SL50_.jpg/1.1/Thu Oct 13 13:03:08 2011/-kb/
/41TqhD8yCRL._SL50_.jpg/1.1/Thu May 5 11:50:51 2011/-kb/
/41TqhD8yCRL._SL55_.jpg/1.1/Mon May 9 12:07:19 2011/-kb/
/517lJ9Y+WML._SL50_.jpg/1.1/Mon May 23 10:41:12 2011/-kb/
/51EbpQM-V6L._SL50_ (1).jpg/1.1/Thu May 5 12:27:56 2011/-kb/
/51EbpQM-V6L._SL50_.jpg/1.1/Thu May 5 12:26:08 2011/-kb/
/51ElHUwUMGL._SL100_.jpg/1.1/Thu Oct 13 13:03:26 2011/-kb/
/51ElHUwUMGL._SL50_.jpg/1.1/Thu Oct 13 13:02:48 2011/-kb/
/51GfUvlUosL._SL50_.jpg/1.1/Thu May 5 12:14:51 2011/-kb/
/51TD4cZWAAL._SL50_.jpg/1.1/Mon Apr 11 00:16:29 2011/-kb/
/51jY+FkYsPL._SL50_.jpg/1.1/Thu May 5 12:11:45 2011/-kb/
/51kbqYWOFQL._SL100_.jpg/1.1/Thu May 5 12:31:06 2011/-kb/
/51kbqYWOFQL._SL50_.jpg/1.1/Thu May 5 11:55:13 2011/-kb/
/51vjmKDdjiL._SL50_.jpg/1.1/Thu May 5 12:21:22 2011/-kb/
/61RuiTKsluL._SL50_.jpg/1.1/Mon Apr 11 00:16:04 2011/-kb/
/NoCover.jpg/1.1/Sun May 8 14:10:48 2011/-kb/
/NoCover50.jpg/1.1/Sun May 8 14:10:22 2011/-kb/
/51M4y3vSuJL._SL50_.jpg/1.1/Thu Oct 13 13:12:41 2011/-kb/
/516RcRwqLDL._SL50_.jpg/1.1/Thu Oct 13 15:50:47 2011/-kb/
/41bJ06UjS6L._SL50_.jpg/1.1/Fri Feb 10 13:25:49 2012/-kb/
/51DxuLGuJ6L._SL50_.jpg/1.1/Fri Feb 10 13:25:49 2012/-kb/
/51HdayMiz7L._SL50_.jpg/1.1/Fri Feb 10 13:25:48 2012/-kb/
/51Os-EMwt0L._SL100_.jpg/1.1/Fri Feb 10 13:25:48 2012/-kb/
/51Os-EMwt0L._SL50_.jpg/1.1/Fri Feb 10 13:25:48 2012/-kb/
/51cemchpaWL._SL50_.jpg/1.1/Fri Feb 10 13:25:50 2012/-kb/
/51rXEEFIkAL._SL50_.jpg/1.1/Fri Feb 10 13:25:49 2012/-kb/
/51uAycKcf2L._SL50_.jpg/1.1/Fri Feb 10 13:25:49 2012/-kb/
/ShadowAlgorithmsDataMiner.jpg/1.1/Fri Feb 10 13:25:49 2012/-kb/
/51SaY+G5UVL._SL50_.jpg/1.1/Sun Mar 4 22:37:23 2012/-kb/
/41adUGSfnRL._SL50_.jpg/1.1/Tue Oct 30 17:18:47 2012/-kb/
/41mwCNvB4nL._SL50_.jpg/1.1/Tue Oct 30 17:19:00 2012/-kb/
/51-ykLoxBpL._SL50_.jpg/1.1/Thu Jul 26 03:00:58 2012/-kb/
/51OQ8Vx8nXL._SL50_.jpg/1.1/Tue Oct 30 17:18:52 2012/-kb/
/41mwCNvB4nL._SL100_.jpg/1.1/Tue Mar 5 15:20:22 2013/-kb/
/51-ykLoxBpL._SL100_.jpg/1.1/Tue Mar 5 15:21:21 2013/-kb/
/51OQ8Vx8nXL._SL100_.jpg/1.1/Tue Mar 5 15:19:32 2013/-kb/
/51SaY+G5UVL._SL100_.jpg/1.1/Tue Mar 5 15:25:42 2013/-kb/
/41+lo42XekL._SL50_.jpg/1.1/Sat Aug 2 12:11:06 2014/-kb/
/41-S70EC09L._SL50_.jpg/1.1/Mon Mar 30 02:11:25 2015/-kb/
/41Ho672-HaL._SL50_.jpg/1.1/Wed Dec 30 12:21:19 2015/-kb/
/41Ho672-HaL._SL55_.jpg/1.1/Wed Dec 30 12:12:28 2015/-kb/
/41NJZBE31HL._SL50_.jpg/1.1/Sat Apr 11 17:31:59 2015/-kb/
/41NJZBE31HL._SL55_.jpg/1.1/Tue Jul 9 14:24:18 2013/-kb/
/41WwY62EbjL._SL50_.jpg/1.1/Fri Jun 27 23:48:33 2014/-kb/
/41YcYhTRtfL._SL50_.jpg/1.1/Mon Mar 30 02:04:10 2015/-kb/
/41fhdlTNk1L._SL50_.jpg/1.1/Sat Aug 2 12:05:28 2014/-kb/
/41hgYr3YJmL._SL50_.jpg/1.1/Mon Mar 30 01:56:27 2015/-kb/
/41hhbPSZU8L._SL50_.jpg/1.1/Wed Oct 1 15:28:08 2014/-kb/
/41nKyw8Iv+L._SL50_.jpg/1.1/Sat Apr 11 17:25:23 2015/-kb/
/41nKyw8Iv+L._SL55_.jpg/1.1/Sat Apr 11 17:22:51 2015/-kb/
/41pLhaFNUqL._SL50_.jpg/1.1/Fri Jun 27 23:48:43 2014/-kb/
/41x0mOjyDrL._SL50_.jpg/1.1/Sat Apr 11 17:32:16 2015/-kb/
/41x0mOjyDrL._SL55_.jpg/1.1/Tue Nov 5 19:39:48 2013/-kb/
/5136cFDbJZL._SL50_.jpg/1.1/Sun Sep 14 22:08:25 2014/-kb/
/514kGRqsEgL._SL100_.jpg/1.1/Sat Jun 28 00:17:34 2014/-kb/
/514kGRqsEgL._SL50_.jpg/1.1/Fri Jun 27 23:49:05 2014/-kb/
/516WS6LYoJL._SL50_.jpg/1.1/Mon Sep 22 02:19:32 2014/-kb/
/516ePlc3ejL._SL100_.jpg/1.1/Sat Jun 28 00:08:20 2014/-kb/
/516ePlc3ejL._SL50_.jpg/1.1/Fri Jun 27 23:48:47 2014/-kb/
/51A16pJeSFL._SL50_.jpg/1.1/Fri Jun 27 23:48:28 2014/-kb/
/51A6EumfzoL._SL50_.jpg/1.1/Wed Dec 30 12:20:41 2015/-kb/
/51A6EumfzoL._SL55_.jpg/1.1/Wed Dec 30 11:56:03 2015/-kb/
/51BluKlg0OL._SL50_.jpg/1.1/Sun Sep 14 22:10:50 2014/-kb/
/51C8atIuYKL._SL50_.jpg/1.1/Sun Sep 14 22:09:47 2014/-kb/
/51E2EDBTB9L._SL50_.jpg/1.1/Sat Apr 11 17:31:40 2015/-kb/
/51FPoi7JfuL._SL50_.jpg/1.1/Sun Aug 16 20:07:28 2015/-kb/
/51FSwwrBpiL._SL50_.jpg/1.1/Sat Aug 2 12:39:50 2014/-kb/
/51G+4J3NltL._SL50_.jpg/1.1/Sun Sep 14 22:07:40 2014/-kb/
/51Hd5C34gtL._SL50_.jpg/1.1/Fri Jan 22 16:00:01 2016/-kb/
/51JZcQDYvSL._SL100_.jpg/1.1/Sat Jun 28 00:17:39 2014/-kb/
/51JZcQDYvSL._SL50_.jpg/1.1/Fri Jun 27 23:48:17 2014/-kb/
/51LbyfgZmPL._SL100_.jpg/1.1/Tue Mar 12 21:07:13 2013/-kb/
/51LqawQ2lJL._SL50_.jpg/1.1/Sun Sep 14 22:09:32 2014/-kb/
/51LqawQ2lJL._SL55_.jpg/1.1/Sat Apr 11 17:42:25 2015/-kb/
/51Rev-eVu2L._SL100_.jpg/1.1/Sun Aug 16 20:10:00 2015/-kb/
/51Rev-eVu2L._SL50_.jpg/1.1/Sun Aug 16 20:08:36 2015/-kb/
/51T684ZrXgL._SL100_.jpg/1.1/Thu Feb 4 15:20:01 2016/-kb/
/51T684ZrXgL._SL50_.jpg/1.1/Thu Feb 4 15:16:32 2016/-kb/
/51TUe9Hi0LL._SL100_.jpg/1.1/Tue Aug 18 20:35:28 2015/-kb/
/51TUe9Hi0LL._SL50_.jpg/1.1/Tue Aug 18 20:33:17 2015/-kb/
/51TuOaaTjpL._SL100_.jpg/1.1/Sat Jun 28 00:08:09 2014/-kb/
/51TuOaaTjpL._SL50_.jpg/1.1/Fri Jun 27 23:49:10 2014/-kb/
/51UnpFD3duL._SL50_.jpg/1.1/Fri Jun 27 23:48:56 2014/-kb/
/51YQVQEOWUL._SL50_.jpg/1.1/Sun Sep 14 22:11:04 2014/-kb/
/51bYxg9woML._SL50_.jpg/1.1/Sun Sep 14 22:07:36 2014/-kb/
/51hR5S3JynL._SL100_.jpg/1.1/Sat Jun 28 00:08:40 2014/-kb/
/51hR5S3JynL._SL50_.jpg/1.1/Fri Jun 27 23:48:39 2014/-kb/
/51huVJGT89L._SL50_.jpg/1.1/Sat Jun 28 00:06:15 2014/-kb/
/51j8EklXAZL._SL50_.jpg/1.1/Fri Jun 27 23:48:24 2014/-kb/
/51jtxqKEy7L._SL50_.jpg/1.1/Sun Sep 14 22:10:35 2014/-kb/
/51kOKU9yDQL._SL50_.jpg/1.1/Tue Feb 9 15:18:13 2016/-kb/
/51nZzqYn8GL._SL50_.jpg/1.1/Fri Jun 27 23:49:14 2014/-kb/
/51oD+bLq1mL._SL100_.jpg/1.1/Tue Jul 1 18:36:30 2014/-kb/
/51oD+bLq1mL._SL50_.jpg/1.1/Tue Jul 1 18:33:31 2014/-kb/
/51obGFm4zrL._SL50_.jpg/1.1/Sun Sep 14 22:10:20 2014/-kb/
/51qni3lQFEL._SL50_.jpg/1.1/Sun Sep 14 22:10:05 2014/-kb/
/51qrA3M8HuL._SL50_.jpg/1.1/Fri Jun 27 23:48:52 2014/-kb/
/51rXEEFIkAL._SL100_.jpg/1.1/Sat Jun 28 00:17:30 2014/-kb/
/51sETjdF+vL._SL50_.jpg/1.1/Sat Jun 28 00:06:37 2014/-kb/
/51uAycKcf2L._SL100_.jpg/1.1/Sat Jun 28 00:07:47 2014/-kb/
/51vE73W+5mL._SL100_.jpg/1.1/Sat Jun 28 02:08:38 2014/-kb/
/51vE73W+5mL._SL50_.jpg/1.1/Sat Jun 28 02:00:59 2014/-kb/
/51vhrgKipCL._SL100_.jpg/1.1/Sat Jun 28 02:14:35 2014/-kb/
/51vhrgKipCL._SL50_.jpg/1.1/Sat Jun 28 02:12:32 2014/-kb/
/51wqjU0VTSL._SL50_.jpg/1.1/Fri Jun 27 23:49:41 2014/-kb/
D
================================================
FILE: AmazonImages/CVS/Entries.Extra
================================================
/3197XEP7AML._SL50_.jpg////*////
/31E0QC63DAL._SL100_.jpg////*////
/31seQH49q3L._SL100_.jpg////*////
/414SvOG1qSL._SL50_.jpg////*////
/4161IDaJBML._SL50_.jpg////*////
/417bTB+SooL._SL100_.jpg////*////
/417bTB+SooL._SL50_.jpg////*////
/4189U-NYi1L._SL50_.jpg////*////
/41EU+tzxOcL._SL50_.jpg////*////
/41EU+tzxOcL._SL55_.jpg////*////
/41GF0AQJ69L._SL50_.jpg////*////
/41GwM8ClmaL._SL100_.jpg////*////
/41M7nMMr2rL._SL50_.jpg////*////
/41MbgiL9x0L._SL50_.jpg////*////
/41NJZBE31HL._SL100_.jpg////*////
/41Ro3yiuddL._SL100_.jpg////*////
/41Ro3yiuddL._SL50_.jpg////*////
/41SXi+FPE5L._SL50_.jpg////*////
/41SYJYKNN3L._SL100_.jpg////*////
/41TbYMhFAkL._SL50_.jpg////*////
/41VE3485uZL._SL50_.jpg////*////
/41VEkdlJd7L._SL50_.jpg////*////
/41qkB63AoAL._SL100_.jpg////*////
/41qkB63AoAL._SL50_.jpg////*////
/41qmJMnW05L._SL50_.jpg////*////
/41s-Q525ivL._SL50_.jpg////*////
/51+OEdkNplL._SL50_.jpg////*////
/51-6oFyhBKL._SL100_.jpg////*////
/51-6oFyhBKL._SL50_.jpg////*////
/51-6oFyhBKL._SL55_.jpg////*////
/510CJ8391VL._SL50_.jpg////*////
/510DpzU1K5L._SL50_.jpg////*////
/510Qfhlo7UL._SL50_.jpg////*////
/513Z9v-sASL._SL100_.jpg////*////
/513cU2y5pvL._SL100_.jpg////*////
/5141+MRy4gL._SL50_.jpg////*////
/514E6BJEJ9L._SL100_.jpg////*////
/514E6BJEJ9L._SL50_.jpg////*////
/514E6BJEJ9L._SL55_.jpg////*////
/514v4a1XaDL._SL50_.jpg////*////
/5150-70osuL._SL100_.jpg////*////
/5150-70osuL._SL50_.jpg////*////
/516FBcWVHbL._SL100_.jpg////*////
/5171S6CTRCL._SL100_.jpg////*////
/51A-I4MOfiL._SL50_.jpg////*////
/51AzzJzq2yL._SL100_.jpg////*////
/51ByUOsWfsL._SL100_.jpg////*////
/51ByUOsWfsL._SL50_.jpg////*////
/51CEuAYzNmL._SL50_.jpg////*////
/51D0sq13U0L._SL50_.jpg////*////
/51DO6r1ZOvL._SL50_.jpg////*////
/51E+10GRNIL._SL100_.jpg////*////
/51E+10GRNIL._SL50_.jpg////*////
/51E2EDBTB9L._SL55_.jpg////*////
/51EnRErREWL._SL50_.jpg////*////
/51F4VrabBQL._SL100_.jpg////*////
/51FA5WJB3EL._SL50_.jpg////*////
/51FNNSN19RL._SL100_.jpg////*////
/51Fq6cuwIPL._SL50_.jpg////*////
/51G43ZGSJ8L._SL100_.jpg////*////
/51G43ZGSJ8L._SL50_.jpg////*////
/51G43ZGSJ8L._SL55_.jpg////*////
/51Gakoj6DSL._SL50_.jpg////*////
/51JXGSNJT6L._SL50_.jpg////*////
/51K2X94P56L._SL50_.jpg////*////
/51K2X94P56L._SL55_.jpg////*////
/51NGaeQk-bL._SL100_.jpg////*////
/51NRghJAL-L._SL50_.jpg////*////
/51O1U3hannL._SL100_.jpg////*////
/51PKCXJAARL._SL100_.jpg////*////
/51RD0EM2E3L._SL100_.jpg////*////
/51RVJRli4HL._SL100_.jpg////*////
/51S5NSFNMZL._SL100_.jpg////*////
/51S5NSFNMZL._SL50_.jpg////*////
/51S5NSFNMZL._SL55_.jpg////*////
/51Sj9ocYPrL._SL50_.jpg////*////
/51Up+OmQhQL._SL55_.jpg////*////
/51VL9FqF6ML._SL50_.jpg////*////
/51VfPKM9WjL._SL100_.jpg////*////
/51VfPKM9WjL._SL50_.jpg////*////
/51VtRlItQpL._SL50_.jpg////*////
/51W01X6NB7L._SL100_.jpg////*////
/51W01X6NB7L._SL50_.jpg////*////
/51W01X6NB7L._SL55_.jpg////*////
/51WzvDvGrEL._SL50_.jpg////*////
/51XB0560BCL._SL100_.jpg////*////
/51XGCWGC02L._SL100_.jpg////*////
/51XJzZz9GFL._SL100_.jpg////*////
/51XJzZz9GFL._SL50_.jpg////*////
/51XcMj5h81L._SL100_.jpg////*////
/51XcMj5h81L._SL50_.jpg////*////
/51YYtK1pprL._SL100_.jpg////*////
/51ZYOIZ6GOL._SL50_.jpg////*////
/51a4CbgB9FL._SL50_.jpg////*////
/51aJGpVASEL._SL100_.jpg////*////
/51eN8PT4PLL._SL50_.jpg////*////
/51fCKb6r+AL._SL100_.jpg////*////
/51fO9qnqu5L._SL50_.jpg////*////
/51fjxtgVZzL._SL100_.jpg////*////
/51hLW9JAF-L._SL100_.jpg////*////
/51hLW9JAF-L._SL50_.jpg////*////
/51hYQWGouUL._SL100_.jpg////*////
/51hYQWGouUL._SL50_.jpg////*////
/51i9GAls6KL._SL50_.jpg////*////
/51juHDYZeSL._SL100_.jpg////*////
/51juHDYZeSL._SL50_.jpg////*////
/51pjZqT2wDL._SL50_.jpg////*////
/51pz2S9sZIL._SL50_.jpg////*////
/51qUiwqLm6L._SL50_.jpg////*////
/51qoYlMK8OL._SL50_.jpg////*////
/51r1WnzblaL._SL50_.jpg////*////
/51rHYE6fuAL._SL100_.jpg////*////
/51rHYE6fuAL._SL50_ (1).jpg////*////
/51rHYE6fuAL._SL50_.jpg////*////
/51t-Qtbq+vL._SL100_.jpg////*////
/51tU9jPU4NL._SL100_.jpg////*////
/51tU9jPU4NL._SL50_.jpg////*////
/51uWqpvuOmL._SL50_.jpg////*////
/51vv-5C0a2L._SL50_.jpg////*////
/51wtFm0EcpL._SL50_.jpg////*////
/51x7BeKjsCL._SL100_.jpg////*////
/51x7BeKjsCL._SL50_.jpg////*////
/51y9SfMHnvL._SL100_.jpg////*////
/51y9SfMHnvL._SL50_.jpg////*////
/51zXIaoWpML._SL100_.jpg////*////
/51znSU3XZCL._SL100_.jpg////*////
/618LPbTEEJL._SL50_.jpg////*////
/61TVBFGWS2L._SL100_.jpg////*////
/61h7A3xHNoL._SL50_.jpg////*////
/Engel_D3D_cover.jpg////*////
/412Flx8BP4L._SL50_.jpg////*////
/41Np+++TthL._SL100_.jpg////*////
/41Np+++TthL._SL50_.jpg////*////
/41TqhD8yCRL._SL50_.jpg////*////
/41TqhD8yCRL._SL55_.jpg////*////
/517lJ9Y+WML._SL50_.jpg////*////
/51EbpQM-V6L._SL50_ (1).jpg////*////
/51EbpQM-V6L._SL50_.jpg////*////
/51ElHUwUMGL._SL100_.jpg////*////
/51ElHUwUMGL._SL50_.jpg////*////
/51GfUvlUosL._SL50_.jpg////*////
/51TD4cZWAAL._SL50_.jpg////*////
/51jY+FkYsPL._SL50_.jpg////*////
/51kbqYWOFQL._SL100_.jpg////*////
/51kbqYWOFQL._SL50_.jpg////*////
/51vjmKDdjiL._SL50_.jpg////*////
/61RuiTKsluL._SL50_.jpg////*////
/NoCover.jpg////*////
/NoCover50.jpg////*////
/51M4y3vSuJL._SL50_.jpg////*////
/516RcRwqLDL._SL50_.jpg////*////
/41bJ06UjS6L._SL50_.jpg////*////
/51DxuLGuJ6L._SL50_.jpg////*////
/51HdayMiz7L._SL50_.jpg////*////
/51Os-EMwt0L._SL100_.jpg////*////
/51Os-EMwt0L._SL50_.jpg////*////
/51cemchpaWL._SL50_.jpg////*////
/51rXEEFIkAL._SL50_.jpg////*////
/51uAycKcf2L._SL50_.jpg////*////
/ShadowAlgorithmsDataMiner.jpg////*////
/51SaY+G5UVL._SL50_.jpg////*////
/41adUGSfnRL._SL50_.jpg////*////
/41mwCNvB4nL._SL50_.jpg////*////
/51-ykLoxBpL._SL50_.jpg////*////
/51OQ8Vx8nXL._SL50_.jpg////*////
/41mwCNvB4nL._SL100_.jpg////*////
/51-ykLoxBpL._SL100_.jpg////*////
/51OQ8Vx8nXL._SL100_.jpg////*////
/51SaY+G5UVL._SL100_.jpg////*////
/41+lo42XekL._SL50_.jpg////*////
/41-S70EC09L._SL50_.jpg////*////
/41Ho672-HaL._SL50_.jpg////*////
/41Ho672-HaL._SL55_.jpg////*////
/41NJZBE31HL._SL50_.jpg////*////
/41NJZBE31HL._SL55_.jpg////*////
/41WwY62EbjL._SL50_.jpg////*////
/41YcYhTRtfL._SL50_.jpg////*////
/41fhdlTNk1L._SL50_.jpg////*////
/41hgYr3YJmL._SL50_.jpg////*////
/41hhbPSZU8L._SL50_.jpg////*////
/41nKyw8Iv+L._SL50_.jpg////*////
/41nKyw8Iv+L._SL55_.jpg////*////
/41pLhaFNUqL._SL50_.jpg////*////
/41x0mOjyDrL._SL50_.jpg////*////
/41x0mOjyDrL._SL55_.jpg////*////
/5136cFDbJZL._SL50_.jpg////*////
/514kGRqsEgL._SL100_.jpg////*////
/514kGRqsEgL._SL50_.jpg////*////
/516WS6LYoJL._SL50_.jpg////*////
/516ePlc3ejL._SL100_.jpg////*////
/516ePlc3ejL._SL50_.jpg////*////
/51A16pJeSFL._SL50_.jpg////*////
/51A6EumfzoL._SL50_.jpg////*////
/51A6EumfzoL._SL55_.jpg////*////
/51BluKlg0OL._SL50_.jpg////*////
/51C8atIuYKL._SL50_.jpg////*////
/51E2EDBTB9L._SL50_.jpg////*////
/51FPoi7JfuL._SL50_.jpg////*////
/51FSwwrBpiL._SL50_.jpg////*////
/51G+4J3NltL._SL50_.jpg////*////
/51Hd5C34gtL._SL50_.jpg////*////
/51JZcQDYvSL._SL100_.jpg////*////
/51JZcQDYvSL._SL50_.jpg////*////
/51LbyfgZmPL._SL100_.jpg////*////
/51LqawQ2lJL._SL50_.jpg////*////
/51LqawQ2lJL._SL55_.jpg////*////
/51Rev-eVu2L._SL100_.jpg////*////
/51Rev-eVu2L._SL50_.jpg////*////
/51T684ZrXgL._SL100_.jpg////*////
/51T684ZrXgL._SL50_.jpg////*////
/51TUe9Hi0LL._SL100_.jpg////*////
/51TUe9Hi0LL._SL50_.jpg////*////
/51TuOaaTjpL._SL100_.jpg////*////
/51TuOaaTjpL._SL50_.jpg////*////
/51UnpFD3duL._SL50_.jpg////*////
/51YQVQEOWUL._SL50_.jpg////*////
/51bYxg9woML._SL50_.jpg////*////
/51hR5S3JynL._SL100_.jpg////*////
/51hR5S3JynL._SL50_.jpg////*////
/51huVJGT89L._SL50_.jpg////*////
/51j8EklXAZL._SL50_.jpg////*////
/51jtxqKEy7L._SL50_.jpg////*////
/51kOKU9yDQL._SL50_.jpg////*////
/51nZzqYn8GL._SL50_.jpg////*////
/51oD+bLq1mL._SL100_.jpg////*////
/51oD+bLq1mL._SL50_.jpg////*////
/51obGFm4zrL._SL50_.jpg////*////
/51qni3lQFEL._SL50_.jpg////*////
/51qrA3M8HuL._SL50_.jpg////*////
/51rXEEFIkAL._SL100_.jpg////*////
/51sETjdF+vL._SL50_.jpg////*////
/51uAycKcf2L._SL100_.jpg////*////
/51vE73W+5mL._SL100_.jpg////*////
/51vE73W+5mL._SL50_.jpg////*////
/51vhrgKipCL._SL100_.jpg////*////
/51vhrgKipCL._SL50_.jpg////*////
/51wqjU0VTSL._SL50_.jpg////*////
================================================
FILE: AmazonImages/CVS/Entries.Extra.Old
================================================
/3197XEP7AML._SL50_.jpg////*////
/31E0QC63DAL._SL100_.jpg////*////
/31seQH49q3L._SL100_.jpg////*////
/414SvOG1qSL._SL50_.jpg////*////
/4161IDaJBML._SL50_.jpg////*////
/417bTB+SooL._SL100_.jpg////*////
/417bTB+SooL._SL50_.jpg////*////
/4189U-NYi1L._SL50_.jpg////*////
/41EU+tzxOcL._SL50_.jpg////*////
/41EU+tzxOcL._SL55_.jpg////*////
/41GF0AQJ69L._SL50_.jpg////*////
/41GwM8ClmaL._SL100_.jpg////*////
/41M7nMMr2rL._SL50_.jpg////*////
/41MbgiL9x0L._SL50_.jpg////*////
/41NJZBE31HL._SL100_.jpg////*////
/41Ro3yiuddL._SL100_.jpg////*////
/41Ro3yiuddL._SL50_.jpg////*////
/41SXi+FPE5L._SL50_.jpg////*////
/41SYJYKNN3L._SL100_.jpg////*////
/41TbYMhFAkL._SL50_.jpg////*////
/41VE3485uZL._SL50_.jpg////*////
/41VEkdlJd7L._SL50_.jpg////*////
/41qkB63AoAL._SL100_.jpg////*////
/41qkB63AoAL._SL50_.jpg////*////
/41qmJMnW05L._SL50_.jpg////*////
/41s-Q525ivL._SL50_.jpg////*////
/51+OEdkNplL._SL50_.jpg////*////
/51-6oFyhBKL._SL100_.jpg////*////
/51-6oFyhBKL._SL50_.jpg////*////
/51-6oFyhBKL._SL55_.jpg////*////
/510CJ8391VL._SL50_.jpg////*////
/510DpzU1K5L._SL50_.jpg////*////
/510Qfhlo7UL._SL50_.jpg////*////
/513Z9v-sASL._SL100_.jpg////*////
/513cU2y5pvL._SL100_.jpg////*////
/5141+MRy4gL._SL50_.jpg////*////
/514E6BJEJ9L._SL100_.jpg////*////
/514E6BJEJ9L._SL50_.jpg////*////
/514E6BJEJ9L._SL55_.jpg////*////
/514v4a1XaDL._SL50_.jpg////*////
/5150-70osuL._SL100_.jpg////*////
/5150-70osuL._SL50_.jpg////*////
/516FBcWVHbL._SL100_.jpg////*////
/5171S6CTRCL._SL100_.jpg////*////
/51A-I4MOfiL._SL50_.jpg////*////
/51AzzJzq2yL._SL100_.jpg////*////
/51ByUOsWfsL._SL100_.jpg////*////
/51ByUOsWfsL._SL50_.jpg////*////
/51CEuAYzNmL._SL50_.jpg////*////
/51D0sq13U0L._SL50_.jpg////*////
/51DO6r1ZOvL._SL50_.jpg////*////
/51E+10GRNIL._SL100_.jpg////*////
/51E+10GRNIL._SL50_.jpg////*////
/51E2EDBTB9L._SL55_.jpg////*////
/51EnRErREWL._SL50_.jpg////*////
/51F4VrabBQL._SL100_.jpg////*////
/51FA5WJB3EL._SL50_.jpg////*////
/51FNNSN19RL._SL100_.jpg////*////
/51Fq6cuwIPL._SL50_.jpg////*////
/51G43ZGSJ8L._SL100_.jpg////*////
/51G43ZGSJ8L._SL50_.jpg////*////
/51G43ZGSJ8L._SL55_.jpg////*////
/51Gakoj6DSL._SL50_.jpg////*////
/51JXGSNJT6L._SL50_.jpg////*////
/51K2X94P56L._SL50_.jpg////*////
/51K2X94P56L._SL55_.jpg////*////
/51NGaeQk-bL._SL100_.jpg////*////
/51NRghJAL-L._SL50_.jpg////*////
/51O1U3hannL._SL100_.jpg////*////
/51PKCXJAARL._SL100_.jpg////*////
/51RD0EM2E3L._SL100_.jpg////*////
/51RVJRli4HL._SL100_.jpg////*////
/51S5NSFNMZL._SL100_.jpg////*////
/51S5NSFNMZL._SL50_.jpg////*////
/51S5NSFNMZL._SL55_.jpg////*////
/51Sj9ocYPrL._SL50_.jpg////*////
/51Up+OmQhQL._SL55_.jpg////*////
/51VL9FqF6ML._SL50_.jpg////*////
/51VfPKM9WjL._SL100_.jpg////*////
/51VfPKM9WjL._SL50_.jpg////*////
/51VtRlItQpL._SL50_.jpg////*////
/51W01X6NB7L._SL100_.jpg////*////
/51W01X6NB7L._SL50_.jpg////*////
/51W01X6NB7L._SL55_.jpg////*////
/51WzvDvGrEL._SL50_.jpg////*////
/51XB0560BCL._SL100_.jpg////*////
/51XGCWGC02L._SL100_.jpg////*////
/51XJzZz9GFL._SL100_.jpg////*////
/51XJzZz9GFL._SL50_.jpg////*////
/51XcMj5h81L._SL100_.jpg////*////
/51XcMj5h81L._SL50_.jpg////*////
/51YYtK1pprL._SL100_.jpg////*////
/51ZYOIZ6GOL._SL50_.jpg////*////
/51a4CbgB9FL._SL50_.jpg////*////
/51aJGpVASEL._SL100_.jpg////*////
/51eN8PT4PLL._SL50_.jpg////*////
/51fCKb6r+AL._SL100_.jpg////*////
/51fO9qnqu5L._SL50_.jpg////*////
/51fjxtgVZzL._SL100_.jpg////*////
/51hLW9JAF-L._SL100_.jpg////*////
/51hLW9JAF-L._SL50_.jpg////*////
/51hYQWGouUL._SL100_.jpg////*////
/51hYQWGouUL._SL50_.jpg////*////
/51i9GAls6KL._SL50_.jpg////*////
/51juHDYZeSL._SL100_.jpg////*////
/51juHDYZeSL._SL50_.jpg////*////
/51pjZqT2wDL._SL50_.jpg////*////
/51pz2S9sZIL._SL50_.jpg////*////
/51qUiwqLm6L._SL50_.jpg////*////
/51qoYlMK8OL._SL50_.jpg////*////
/51r1WnzblaL._SL50_.jpg////*////
/51rHYE6fuAL._SL100_.jpg////*////
/51rHYE6fuAL._SL50_ (1).jpg////*////
/51rHYE6fuAL._SL50_.jpg////*////
/51t-Qtbq+vL._SL100_.jpg////*////
/51tU9jPU4NL._SL100_.jpg////*////
/51tU9jPU4NL._SL50_.jpg////*////
/51uWqpvuOmL._SL50_.jpg////*////
/51vv-5C0a2L._SL50_.jpg////*////
/51wtFm0EcpL._SL50_.jpg////*////
/51x7BeKjsCL._SL100_.jpg////*////
/51x7BeKjsCL._SL50_.jpg////*////
/51y9SfMHnvL._SL100_.jpg////*////
/51y9SfMHnvL._SL50_.jpg////*////
/51zXIaoWpML._SL100_.jpg////*////
/51znSU3XZCL._SL100_.jpg////*////
/618LPbTEEJL._SL50_.jpg////*////
/61TVBFGWS2L._SL100_.jpg////*////
/61h7A3xHNoL._SL50_.jpg////*////
/Engel_D3D_cover.jpg////*////
/412Flx8BP4L._SL50_.jpg////*////
/41Np+++TthL._SL100_.jpg////*////
/41Np+++TthL._SL50_.jpg////*////
/41TqhD8yCRL._SL50_.jpg////*////
/41TqhD8yCRL._SL55_.jpg////*////
/517lJ9Y+WML._SL50_.jpg////*////
/51EbpQM-V6L._SL50_ (1).jpg////*////
/51EbpQM-V6L._SL50_.jpg////*////
/51ElHUwUMGL._SL100_.jpg////*////
/51ElHUwUMGL._SL50_.jpg////*////
/51GfUvlUosL._SL50_.jpg////*////
/51TD4cZWAAL._SL50_.jpg////*////
/51jY+FkYsPL._SL50_.jpg////*////
/51kbqYWOFQL._SL100_.jpg////*////
/51kbqYWOFQL._SL50_.jpg////*////
/51vjmKDdjiL._SL50_.jpg////*////
/61RuiTKsluL._SL50_.jpg////*////
/NoCover.jpg////*////
/NoCover50.jpg////*////
/51M4y3vSuJL._SL50_.jpg////*////
/516RcRwqLDL._SL50_.jpg////*////
/41bJ06UjS6L._SL50_.jpg////*////
/51DxuLGuJ6L._SL50_.jpg////*////
/51HdayMiz7L._SL50_.jpg////*////
/51Os-EMwt0L._SL100_.jpg////*////
/51Os-EMwt0L._SL50_.jpg////*////
/51cemchpaWL._SL50_.jpg////*////
/51rXEEFIkAL._SL50_.jpg////*////
/51uAycKcf2L._SL50_.jpg////*////
/ShadowAlgorithmsDataMiner.jpg////*////
/51SaY+G5UVL._SL50_.jpg////*////
/41adUGSfnRL._SL50_.jpg////*////
/41mwCNvB4nL._SL50_.jpg////*////
/51-ykLoxBpL._SL50_.jpg////*////
/51OQ8Vx8nXL._SL50_.jpg////*////
/41mwCNvB4nL._SL100_.jpg////*////
/51-ykLoxBpL._SL100_.jpg////*////
/51OQ8Vx8nXL._SL100_.jpg////*////
/51SaY+G5UVL._SL100_.jpg////*////
/41+lo42XekL._SL50_.jpg////*////
/41-S70EC09L._SL50_.jpg////*////
/41fhdlTNk1L._SL50_.jpg////*////
/41hgYr3YJmL._SL50_.jpg////*////
/41hhbPSZU8L._SL50_.jpg////*////
/41Ho672-HaL._SL50_.jpg////*////
/41Ho672-HaL._SL55_.jpg////*////
/41NJZBE31HL._SL50_.jpg////*////
/41NJZBE31HL._SL55_.jpg////*////
/41nKyw8Iv+L._SL50_.jpg////*////
/41nKyw8Iv+L._SL55_.jpg////*////
/41pLhaFNUqL._SL50_.jpg////*////
/41WwY62EbjL._SL50_.jpg////*////
/41x0mOjyDrL._SL50_.jpg////*////
/41x0mOjyDrL._SL55_.jpg////*////
/41YcYhTRtfL._SL50_.jpg////*////
/5136cFDbJZL._SL50_.jpg////*////
/514kGRqsEgL._SL100_.jpg////*////
/514kGRqsEgL._SL50_.jpg////*////
/516ePlc3ejL._SL100_.jpg////*////
/516ePlc3ejL._SL50_.jpg////*////
/516WS6LYoJL._SL50_.jpg////*////
/51A16pJeSFL._SL50_.jpg////*////
/51A6EumfzoL._SL50_.jpg////*////
/51A6EumfzoL._SL55_.jpg////*////
/51BluKlg0OL._SL50_.jpg////*////
/51bYxg9woML._SL50_.jpg////*////
/51C8atIuYKL._SL50_.jpg////*////
/51E2EDBTB9L._SL50_.jpg////*////
/51FPoi7JfuL._SL50_.jpg////*////
/51FSwwrBpiL._SL50_.jpg////*////
/51G+4J3NltL._SL50_.jpg////*////
/51Hd5C34gtL._SL50_.jpg////*////
/51hR5S3JynL._SL100_.jpg////*////
/51hR5S3JynL._SL50_.jpg////*////
/51huVJGT89L._SL50_.jpg////*////
/51j8EklXAZL._SL50_.jpg////*////
/51jtxqKEy7L._SL50_.jpg////*////
/51JZcQDYvSL._SL100_.jpg////*////
/51JZcQDYvSL._SL50_.jpg////*////
/51kOKU9yDQL._SL50_.jpg////*////
/51LbyfgZmPL._SL100_.jpg////*////
/51LqawQ2lJL._SL50_.jpg////*////
/51LqawQ2lJL._SL55_.jpg////*////
/51nZzqYn8GL._SL50_.jpg////*////
/51obGFm4zrL._SL50_.jpg////*////
/51oD+bLq1mL._SL100_.jpg////*////
/51oD+bLq1mL._SL50_.jpg////*////
/51qni3lQFEL._SL50_.jpg////*////
/51qrA3M8HuL._SL50_.jpg////*////
/51Rev-eVu2L._SL100_.jpg////*////
/51Rev-eVu2L._SL50_.jpg////*////
/51rXEEFIkAL._SL100_.jpg////*////
/51sETjdF+vL._SL50_.jpg////*////
/51T684ZrXgL._SL100_.jpg////*////
/51T684ZrXgL._SL50_.jpg////*////
/51TUe9Hi0LL._SL100_.jpg////*////
/51TUe9Hi0LL._SL50_.jpg////*////
/51TuOaaTjpL._SL100_.jpg////*////
/51TuOaaTjpL._SL50_.jpg////*////
/51uAycKcf2L._SL100_.jpg////*////
/51UnpFD3duL._SL50_.jpg////*////
/51vE73W+5mL._SL100_.jpg////*////
/51vE73W+5mL._SL50_.jpg////*////
/51vhrgKipCL._SL100_.jpg////*////
/51vhrgKipCL._SL50_.jpg////*////
/51wqjU0VTSL._SL50_.jpg////*////
/51YQVQEOWUL._SL50_.jpg////*////
================================================
FILE: AmazonImages/CVS/Entries.Old
================================================
/3197XEP7AML._SL50_.jpg/1.1/Thu May 20 02:39:32 2010/-kb/
/31E0QC63DAL._SL100_.jpg/1.1/Thu May 20 02:39:32 2010/-kb/
/31seQH49q3L._SL100_.jpg/1.1/Thu May 20 02:39:32 2010/-kb/
/414SvOG1qSL._SL50_.jpg/1.1/Thu Jul 8 14:22:48 2010/-kb/
/4161IDaJBML._SL50_.jpg/1.1/Thu May 20 02:39:32 2010/-kb/
/417bTB+SooL._SL100_.jpg/1.1/Thu May 20 02:39:32 2010/-kb/
/417bTB+SooL._SL50_.jpg/1.1/Thu May 20 02:39:32 2010/-kb/
/4189U-NYi1L._SL50_.jpg/1.1/Thu May 20 02:39:32 2010/-kb/
/41EU+tzxOcL._SL50_.jpg/1.1/Sat Jul 31 15:23:38 2010/-kb/
/41EU+tzxOcL._SL55_.jpg/1.1/Sat Jul 31 15:23:38 2010/-kb/
/41GF0AQJ69L._SL50_.jpg/1.1/Thu May 20 02:39:32 2010/-kb/
/41GwM8ClmaL._SL100_.jpg/1.1/Thu May 20 02:39:32 2010/-kb/
/41M7nMMr2rL._SL50_.jpg/1.1/Thu May 20 02:39:32 2010/-kb/
/41MbgiL9x0L._SL50_.jpg/1.1/Thu May 20 02:39:32 2010/-kb/
/41NJZBE31HL._SL100_.jpg/1.1/Thu May 20 02:39:32 2010/-kb/
/41Ro3yiuddL._SL100_.jpg/1.1/Thu May 20 02:39:32 2010/-kb/
/41Ro3yiuddL._SL50_.jpg/1.1/Thu May 20 02:39:32 2010/-kb/
/41SXi+FPE5L._SL50_.jpg/1.1/Thu May 20 02:39:32 2010/-kb/
/41SYJYKNN3L._SL100_.jpg/1.1/Thu May 20 02:39:32 2010/-kb/
/41TbYMhFAkL._SL50_.jpg/1.1/Thu May 20 02:39:32 2010/-kb/
/41VE3485uZL._SL50_.jpg/1.1/Thu May 20 02:39:32 2010/-kb/
/41VEkdlJd7L._SL50_.jpg/1.1/Thu May 20 02:39:32 2010/-kb/
/41qkB63AoAL._SL100_.jpg/1.1/Thu May 20 02:39:32 2010/-kb/
/41qkB63AoAL._SL50_.jpg/1.1/Thu May 20 02:39:32 2010/-kb/
/41qmJMnW05L._SL50_.jpg/1.1/Sat Aug 14 17:56:00 2010/-kb/
/41s-Q525ivL._SL50_.jpg/1.1/Thu May 20 02:39:32 2010/-kb/
/51+OEdkNplL._SL50_.jpg/1.1/Thu May 20 02:39:32 2010/-kb/
/51-6oFyhBKL._SL100_.jpg/1.1/Thu May 20 02:39:32 2010/-kb/
/51-6oFyhBKL._SL50_.jpg/1.1/Thu May 20 02:39:32 2010/-kb/
/51-6oFyhBKL._SL55_.jpg/1.1/Sat Jul 31 15:23:39 2010/-kb/
/510CJ8391VL._SL50_.jpg/1.1/Thu May 20 02:39:32 2010/-kb/
/510DpzU1K5L._SL50_.jpg/1.1/Thu May 20 02:39:32 2010/-kb/
/510Qfhlo7UL._SL50_.jpg/1.1/Thu May 20 02:39:32 2010/-kb/
/513Z9v-sASL._SL100_.jpg/1.1/Thu May 20 02:39:32 2010/-kb/
/513cU2y5pvL._SL100_.jpg/1.1/Thu May 20 02:39:32 2010/-kb/
/5141+MRy4gL._SL50_.jpg/1.1/Thu May 20 02:39:32 2010/-kb/
/514E6BJEJ9L._SL100_.jpg/1.1/Thu May 20 02:39:32 2010/-kb/
/514E6BJEJ9L._SL50_.jpg/1.1/Thu May 20 02:39:32 2010/-kb/
/514E6BJEJ9L._SL55_.jpg/1.1/Sat Jul 31 15:23:39 2010/-kb/
/514v4a1XaDL._SL50_.jpg/1.1/Thu May 20 02:39:32 2010/-kb/
/5150-70osuL._SL100_.jpg/1.1/Thu May 20 02:39:32 2010/-kb/
/5150-70osuL._SL50_.jpg/1.1/Thu May 20 02:39:32 2010/-kb/
/516FBcWVHbL._SL100_.jpg/1.1/Thu May 20 02:39:32 2010/-kb/
/5171S6CTRCL._SL100_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51A-I4MOfiL._SL50_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51AzzJzq2yL._SL100_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51ByUOsWfsL._SL100_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51ByUOsWfsL._SL50_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51CEuAYzNmL._SL50_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51D0sq13U0L._SL50_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51DO6r1ZOvL._SL50_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51E+10GRNIL._SL100_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51E+10GRNIL._SL50_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51E2EDBTB9L._SL55_.jpg/1.1/Sat Jul 31 15:23:39 2010/-kb/
/51EnRErREWL._SL50_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51F4VrabBQL._SL100_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51FA5WJB3EL._SL50_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51FNNSN19RL._SL100_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51Fq6cuwIPL._SL50_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51G43ZGSJ8L._SL100_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51G43ZGSJ8L._SL50_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51G43ZGSJ8L._SL55_.jpg/1.1/Sat Jul 31 15:23:40 2010/-kb/
/51Gakoj6DSL._SL50_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51JXGSNJT6L._SL50_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51K2X94P56L._SL50_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51K2X94P56L._SL55_.jpg/1.1/Sat Jul 31 15:23:40 2010/-kb/
/51NGaeQk-bL._SL100_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51NRghJAL-L._SL50_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51O1U3hannL._SL100_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51PKCXJAARL._SL100_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51RD0EM2E3L._SL100_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51RVJRli4HL._SL100_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51S5NSFNMZL._SL100_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51S5NSFNMZL._SL50_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51S5NSFNMZL._SL55_.jpg/1.1/Sat Jul 31 15:23:41 2010/-kb/
/51Sj9ocYPrL._SL50_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51Up+OmQhQL._SL55_.jpg/1.1/Sat Jul 31 15:23:41 2010/-kb/
/51VL9FqF6ML._SL50_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51VfPKM9WjL._SL100_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51VfPKM9WjL._SL50_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51VtRlItQpL._SL50_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51W01X6NB7L._SL100_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51W01X6NB7L._SL50_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51W01X6NB7L._SL55_.jpg/1.1/Sat Jul 31 15:23:42 2010/-kb/
/51WzvDvGrEL._SL50_.jpg/1.1/Sat Aug 14 17:56:00 2010/-kb/
/51XB0560BCL._SL100_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51XGCWGC02L._SL100_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51XJzZz9GFL._SL100_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51XJzZz9GFL._SL50_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51XcMj5h81L._SL100_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51XcMj5h81L._SL50_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51YYtK1pprL._SL100_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51ZYOIZ6GOL._SL50_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51a4CbgB9FL._SL50_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51aJGpVASEL._SL100_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51eN8PT4PLL._SL50_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51fCKb6r+AL._SL100_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51fO9qnqu5L._SL50_.jpg/1.1/Sat Aug 14 17:56:01 2010/-kb/
/51fjxtgVZzL._SL100_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51hLW9JAF-L._SL100_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51hLW9JAF-L._SL50_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51hYQWGouUL._SL100_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51hYQWGouUL._SL50_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51i9GAls6KL._SL50_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51juHDYZeSL._SL100_.jpg/1.1/Fri Aug 13 01:33:56 2010/-kb/
/51juHDYZeSL._SL50_.jpg/1.1/Fri Aug 13 01:33:56 2010/-kb/
/51pjZqT2wDL._SL50_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51pz2S9sZIL._SL50_.jpg/1.1/Thu May 20 02:39:33 2010/-kb/
/51qUiwqLm6L._SL50_.jpg/1.1/Sat Jul 31 15:23:42 2010/-kb/
/51qoYlMK8OL._SL50_.jpg/1.1/Thu May 20 02:39:34 2010/-kb/
/51r1WnzblaL._SL50_.jpg/1.1/Thu May 20 02:44:30 2010/-kb/
/51rHYE6fuAL._SL100_.jpg/1.1/Thu May 20 02:39:34 2010/-kb/
/51rHYE6fuAL._SL50_ (1).jpg/1.1/Thu May 20 02:39:34 2010/-kb/
/51rHYE6fuAL._SL50_.jpg/1.1/Thu May 20 02:39:34 2010/-kb/
/51t-Qtbq+vL._SL100_.jpg/1.1/Thu Jul 8 12:16:17 2010/-kb/
/51tU9jPU4NL._SL100_.jpg/1.1/Thu May 20 02:39:34 2010/-kb/
/51tU9jPU4NL._SL50_.jpg/1.1/Thu May 20 02:39:34 2010/-kb/
/51uWqpvuOmL._SL50_.jpg/1.1/Thu May 20 02:39:34 2010/-kb/
/51vv-5C0a2L._SL50_.jpg/1.1/Thu May 20 02:39:34 2010/-kb/
/51wtFm0EcpL._SL50_.jpg/1.1/Thu May 20 02:39:34 2010/-kb/
/51x7BeKjsCL._SL100_.jpg/1.1/Thu May 20 02:39:34 2010/-kb/
/51x7BeKjsCL._SL50_.jpg/1.1/Thu May 20 02:39:34 2010/-kb/
/51y9SfMHnvL._SL100_.jpg/1.1/Thu May 20 02:39:34 2010/-kb/
/51y9SfMHnvL._SL50_.jpg/1.1/Thu May 20 02:39:34 2010/-kb/
/51zXIaoWpML._SL100_.jpg/1.1/Thu May 20 02:39:34 2010/-kb/
/51znSU3XZCL._SL100_.jpg/1.1/Thu May 20 02:39:34 2010/-kb/
/618LPbTEEJL._SL50_.jpg/1.1/Thu May 20 02:39:34 2010/-kb/
/61TVBFGWS2L._SL100_.jpg/1.1/Thu May 20 02:39:34 2010/-kb/
/61h7A3xHNoL._SL50_.jpg/1.1/Thu May 20 02:39:34 2010/-kb/
/Engel_D3D_cover.jpg/1.1/Thu May 20 02:39:34 2010/-kb/
/412Flx8BP4L._SL50_.jpg/1.1/Mon Apr 11 00:16:38 2011/-kb/
/41Np+++TthL._SL100_.jpg/1.1/Thu Oct 13 13:03:35 2011/-kb/
/41Np+++TthL._SL50_.jpg/1.1/Thu Oct 13 13:03:08 2011/-kb/
/41TqhD8yCRL._SL50_.jpg/1.1/Thu May 5 11:50:51 2011/-kb/
/41TqhD8yCRL._SL55_.jpg/1.1/Mon May 9 12:07:19 2011/-kb/
/517lJ9Y+WML._SL50_.jpg/1.1/Mon May 23 10:41:12 2011/-kb/
/51EbpQM-V6L._SL50_ (1).jpg/1.1/Thu May 5 12:27:56 2011/-kb/
/51EbpQM-V6L._SL50_.jpg/1.1/Thu May 5 12:26:08 2011/-kb/
/51ElHUwUMGL._SL100_.jpg/1.1/Thu Oct 13 13:03:26 2011/-kb/
/51ElHUwUMGL._SL50_.jpg/1.1/Thu Oct 13 13:02:48 2011/-kb/
/51GfUvlUosL._SL50_.jpg/1.1/Thu May 5 12:14:51 2011/-kb/
/51TD4cZWAAL._SL50_.jpg/1.1/Mon Apr 11 00:16:29 2011/-kb/
/51jY+FkYsPL._SL50_.jpg/1.1/Thu May 5 12:11:45 2011/-kb/
/51kbqYWOFQL._SL100_.jpg/1.1/Thu May 5 12:31:06 2011/-kb/
/51kbqYWOFQL._SL50_.jpg/1.1/Thu May 5 11:55:13 2011/-kb/
/51vjmKDdjiL._SL50_.jpg/1.1/Thu May 5 12:21:22 2011/-kb/
/61RuiTKsluL._SL50_.jpg/1.1/Mon Apr 11 00:16:04 2011/-kb/
/NoCover.jpg/1.1/Sun May 8 14:10:48 2011/-kb/
/NoCover50.jpg/1.1/Sun May 8 14:10:22 2011/-kb/
/51M4y3vSuJL._SL50_.jpg/1.1/Thu Oct 13 13:12:41 2011/-kb/
/516RcRwqLDL._SL50_.jpg/1.1/Thu Oct 13 15:50:47 2011/-kb/
/41bJ06UjS6L._SL50_.jpg/1.1/Fri Feb 10 13:25:49 2012/-kb/
/51DxuLGuJ6L._SL50_.jpg/1.1/Fri Feb 10 13:25:49 2012/-kb/
/51HdayMiz7L._SL50_.jpg/1.1/Fri Feb 10 13:25:48 2012/-kb/
/51Os-EMwt0L._SL100_.jpg/1.1/Fri Feb 10 13:25:48 2012/-kb/
/51Os-EMwt0L._SL50_.jpg/1.1/Fri Feb 10 13:25:48 2012/-kb/
/51cemchpaWL._SL50_.jpg/1.1/Fri Feb 10 13:25:50 2012/-kb/
/51rXEEFIkAL._SL50_.jpg/1.1/Fri Feb 10 13:25:49 2012/-kb/
/51uAycKcf2L._SL50_.jpg/1.1/Fri Feb 10 13:25:49 2012/-kb/
/ShadowAlgorithmsDataMiner.jpg/1.1/Fri Feb 10 13:25:49 2012/-kb/
/51SaY+G5UVL._SL50_.jpg/1.1/Sun Mar 4 22:37:23 2012/-kb/
/41adUGSfnRL._SL50_.jpg/1.1/Tue Oct 30 17:18:47 2012/-kb/
/41mwCNvB4nL._SL50_.jpg/1.1/Tue Oct 30 17:19:00 2012/-kb/
/51-ykLoxBpL._SL50_.jpg/1.1/Thu Jul 26 03:00:58 2012/-kb/
/51OQ8Vx8nXL._SL50_.jpg/1.1/Tue Oct 30 17:18:52 2012/-kb/
/41mwCNvB4nL._SL100_.jpg/1.1/Tue Mar 5 15:20:22 2013/-kb/
/51-ykLoxBpL._SL100_.jpg/1.1/Tue Mar 5 15:21:21 2013/-kb/
/51OQ8Vx8nXL._SL100_.jpg/1.1/Tue Mar 5 15:19:32 2013/-kb/
/51SaY+G5UVL._SL100_.jpg/1.1/Tue Mar 5 15:25:42 2013/-kb/
/41+lo42XekL._SL50_.jpg/0/dummy timestamp/-kb/
/41-S70EC09L._SL50_.jpg/0/dummy timestamp/-kb/
/41fhdlTNk1L._SL50_.jpg/0/dummy timestamp/-kb/
/41hgYr3YJmL._SL50_.jpg/0/dummy timestamp/-kb/
/41hhbPSZU8L._SL50_.jpg/0/dummy timestamp/-kb/
/41Ho672-HaL._SL50_.jpg/0/dummy timestamp/-kb/
/41Ho672-HaL._SL55_.jpg/0/dummy timestamp/-kb/
/41NJZBE31HL._SL50_.jpg/0/dummy timestamp/-kb/
/41NJZBE31HL._SL55_.jpg/0/dummy timestamp/-kb/
/41nKyw8Iv+L._SL50_.jpg/0/dummy timestamp/-kb/
/41nKyw8Iv+L._SL55_.jpg/0/dummy timestamp/-kb/
/41pLhaFNUqL._SL50_.jpg/0/dummy timestamp/-kb/
/41WwY62EbjL._SL50_.jpg/0/dummy timestamp/-kb/
/41x0mOjyDrL._SL50_.jpg/0/dummy timestamp/-kb/
/41x0mOjyDrL._SL55_.jpg/0/dummy timestamp/-kb/
/41YcYhTRtfL._SL50_.jpg/0/dummy timestamp/-kb/
/5136cFDbJZL._SL50_.jpg/0/dummy timestamp/-kb/
/514kGRqsEgL._SL100_.jpg/0/dummy timestamp/-kb/
/514kGRqsEgL._SL50_.jpg/0/dummy timestamp/-kb/
/516ePlc3ejL._SL100_.jpg/0/dummy timestamp/-kb/
/516ePlc3ejL._SL50_.jpg/0/dummy timestamp/-kb/
/516WS6LYoJL._SL50_.jpg/0/dummy timestamp/-kb/
/51A16pJeSFL._SL50_.jpg/0/dummy timestamp/-kb/
/51A6EumfzoL._SL50_.jpg/0/dummy timestamp/-kb/
/51A6EumfzoL._SL55_.jpg/0/dummy timestamp/-kb/
/51BluKlg0OL._SL50_.jpg/0/dummy timestamp/-kb/
/51bYxg9woML._SL50_.jpg/0/dummy timestamp/-kb/
/51C8atIuYKL._SL50_.jpg/0/dummy timestamp/-kb/
/51E2EDBTB9L._SL50_.jpg/0/dummy timestamp/-kb/
/51FPoi7JfuL._SL50_.jpg/0/dummy timestamp/-kb/
/51FSwwrBpiL._SL50_.jpg/0/dummy timestamp/-kb/
/51G+4J3NltL._SL50_.jpg/0/dummy timestamp/-kb/
/51Hd5C34gtL._SL50_.jpg/0/dummy timestamp/-kb/
/51hR5S3JynL._SL100_.jpg/0/dummy timestamp/-kb/
/51hR5S3JynL._SL50_.jpg/0/dummy timestamp/-kb/
/51huVJGT89L._SL50_.jpg/0/dummy timestamp/-kb/
/51j8EklXAZL._SL50_.jpg/0/dummy timestamp/-kb/
/51jtxqKEy7L._SL50_.jpg/0/dummy timestamp/-kb/
/51JZcQDYvSL._SL100_.jpg/0/dummy timestamp/-kb/
/51JZcQDYvSL._SL50_.jpg/0/dummy timestamp/-kb/
/51kOKU9yDQL._SL50_.jpg/0/dummy timestamp/-kb/
/51LbyfgZmPL._SL100_.jpg/0/dummy timestamp/-kb/
/51LqawQ2lJL._SL50_.jpg/0/dummy timestamp/-kb/
/51LqawQ2lJL._SL55_.jpg/0/dummy timestamp/-kb/
/51nZzqYn8GL._SL50_.jpg/0/dummy timestamp/-kb/
/51obGFm4zrL._SL50_.jpg/0/dummy timestamp/-kb/
/51oD+bLq1mL._SL100_.jpg/0/dummy timestamp/-kb/
/51oD+bLq1mL._SL50_.jpg/0/dummy timestamp/-kb/
/51qni3lQFEL._SL50_.jpg/0/dummy timestamp/-kb/
/51qrA3M8HuL._SL50_.jpg/0/dummy timestamp/-kb/
/51Rev-eVu2L._SL100_.jpg/0/dummy timestamp/-kb/
/51Rev-eVu2L._SL50_.jpg/0/dummy timestamp/-kb/
/51rXEEFIkAL._SL100_.jpg/0/dummy timestamp/-kb/
/51sETjdF+vL._SL50_.jpg/0/dummy timestamp/-kb/
/51T684ZrXgL._SL100_.jpg/0/dummy timestamp/-kb/
/51T684ZrXgL._SL50_.jpg/0/dummy timestamp/-kb/
/51TUe9Hi0LL._SL100_.jpg/0/dummy timestamp/-kb/
/51TUe9Hi0LL._SL50_.jpg/0/dummy timestamp/-kb/
/51TuOaaTjpL._SL100_.jpg/0/dummy timestamp/-kb/
/51TuOaaTjpL._SL50_.jpg/0/dummy timestamp/-kb/
/51uAycKcf2L._SL100_.jpg/0/dummy timestamp/-kb/
/51UnpFD3duL._SL50_.jpg/0/dummy timestamp/-kb/
/51vE73W+5mL._SL100_.jpg/0/dummy timestamp/-kb/
/51vE73W+5mL._SL50_.jpg/0/dummy timestamp/-kb/
/51vhrgKipCL._SL100_.jpg/0/dummy timestamp/-kb/
/51vhrgKipCL._SL50_.jpg/0/dummy timestamp/-kb/
/51wqjU0VTSL._SL50_.jpg/0/dummy timestamp/-kb/
/51YQVQEOWUL._SL50_.jpg/0/dummy timestamp/-kb/
D
================================================
FILE: AmazonImages/CVS/Repository
================================================
RTR3/website/AmazonImages
================================================
FILE: AmazonImages/CVS/Root
================================================
:pserver:erich@cvs.cs.lth.se:/local/cvs/repository-tam
================================================
FILE: AmazonImages/CVS/Template
================================================
================================================
FILE: README.md
================================================
# RealTimeRendering
Website pages for http://realtimerendering.com
================================================
FILE: alpha_test.html
================================================
<html>
<head>
<title>Alphas</title>
</head>
<body>
<div>
For <a href="http://www.realtimerendering.com/blog/wp-content/uploads/2016/02/sampler_with_gamma_srgb_chunks.png">this test image</a>, which has the follow colors in its four quadrants:<P>
<img src="http://www.realtimerendering.com/blog/wp-content/uploads/2016/02/sampler_labeled-2.png">
<P>
Below is how it composites on top of a black, white, and half gray (187 and 128) background.
<P>
The two squares on the left should approximately match, if you blur your eyes a bit. This won't be true if the image is not being rendered at one texel per pixel (because filtering software is usually implemented incorrectly), or because your monitor is not around a 2.2-2.4 gamma. Test your monitor with <a href="https://stephen-westin.com/gamma/gamma.html">this page</a>.
<P>
If PNG display is implemented properly (unlikely!), the lower-right square against the black background should be the same 187-gray as in the lower-left; against the white background the upper-right should be the same 187-gray as the lower-left (assuming a normal monitor). The problem on all browsers is that linearization is not performed.
<P>
See <a href="http://www.realtimerendering.com/blog/png-srgb-cutoutdecal-aa-problematic/">this article</a> for more information.
<P>
</div>
<div>
<P>
Black background:
<P>
</div>
<div style="background-color: black">
<img src="http://www.realtimerendering.com/blog/wp-content/uploads/2016/02/sampler_with_gamma_srgb_chunks.png">
</div>
<div>
<P>
White background:
<P>
</div>
<div style="background-color: white">
<img src="http://www.realtimerendering.com/blog/wp-content/uploads/2016/02/sampler_with_gamma_srgb_chunks.png">
</div>
<div>
<P>
187-Gray background:
<P>
</div>
<div style="background-color: #BBBBBB">
<img src="http://www.realtimerendering.com/blog/wp-content/uploads/2016/02/sampler_with_gamma_srgb_chunks.png">
</div>
<div>
<P>
128-Gray background:
<P>
</div>
<div style="background-color: #808080">
<img src="http://www.realtimerendering.com/blog/wp-content/uploads/2016/02/sampler_with_gamma_srgb_chunks.png">
</div>
</body>
</html>
================================================
FILE: an_intro_to_rt-errata.html
================================================
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Ray Tracing Resources Page</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon"/>
<link rel="icon" href="favicon.ico" type="image/x-icon"/>
<link rel="stylesheet" href="rtr4.css" type="text/css"/>
</head>
<body>
<div id="wrapper">
<div id="header">
<div id="rtr3-header-image">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr bgcolor="#10304B">
<td>
<a href="http://www.realtimerendering.com/blog">
<img src="rtr-header.png" alt="Header image" width="410" height="106"/>
</a>
</td>
</tr>
</table>
</div>
<div id="navigation" class="clearfix">
<ul class="primary">
<li><a href="http://www.realtimerendering.com/blog/" rel="home">Blog</a></li>
<li><a title="Recommended books" href="books.html">Graphics books</a></li>
<li><a title="Object / object intersection page" href="intersections.html">Intersections</a></li>
<li><a title="Sites we like" href="portal.html">Portal</a></li>
<li><a title="Ray Tracing Resources" href="raytracing.html">Ray tracing</a></li>
<li><a title="Main resources page" href="index.html">Resources</a></li>
<li><a title="USD and glTF Resources" href="usd_gltf.html">USD & glTF</a></li>
<li><a title="WebGL/three.js Resources" href="webgl.html">WebGL</a></li>
</ul>
</div>
</div>
<div id="content" class="clearfix">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="pageName">Errata for first printing of "An Introduction to Ray Tracing"</td>
</tr>
<tr>
<td valign="top"><img src="spacer.gif" alt="" height="6" border="0"/><br/>
</tr>
<tr>
<td class="bodyText">
<div class="metadata">
Last changed: April 15, 2019
</div>
<P>
<a href="https://smile.amazon.com/gp/product/0122861604?tag=realtimerenderin"><img src="AmazonImages/50KWx2vL_SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="55" width="14" align=left border=0>
<a href="http://www.realtimerendering.com/raytracing/An-Introduction-to-Ray-Tracing-The-Morgan-Kaufmann-Series-in-Computer-Graphics-.pdf"><img src="download_for_free_sm.png" alt="download for free" align=left border=0></a>
<img src="spacer.gif" alt="" height="55" width="12" align=left border=0>
<b><a href="https://smile.amazon.com/gp/product/0122861604?tag=realtimerenderin">An Introduction to Ray Tracing</a></b>, edited by Andrew Glassner, Morgan Kaufmann, 1989.
<P>The first book on ray tracing. Ancient, but most of the information is still valid - math is math, data structures are data structures. Download the <a href="http://www.realtimerendering.com/raytracing/An-Introduction-to-Ray-Tracing-The-Morgan-Kaufmann-Series-in-Computer-Graphics-.pdf">PDF</a> (recommended) or <a href="http://www.realtimerendering.com/raytracing/Andrew%20S.%20Glassner%20-%20An%20Introduction%20to%20Ray%20tracing%20(The%20Morgan%20Kaufmann%20Series%20in%20Computer%20Graphics)%20(1989).djvu">DJVU</a> version for free.
<P>Find other ray tracing books, free and otherwise, on our <a href="raytracing.html#recent">Ray Tracing Resources Page</a>.
<P>
<b>Errata</b>
<P>
The errata that follows are errors reported since January 20, 2019, when the book was released as a free PDF and DJVU file.
<P>
These errors are corrected in the free <a href="http://www.realtimerendering.com/raytracing/An-Introduction-to-Ray-Tracing-The-Morgan-Kaufmann-Series-in-Computer-Graphics-.pdf">PDF</a> version of the book (but not the DJVU):
<P>
p. 138-141, sections 2.6 and 2.7, have been rewritten entirely, due to a cascading effect of small algebraic blunders near the start. These are in the PDF as pages 138-rev1 and 139-rev1.
<P>
(superceded by the fix above, but one error in the original text that is fixed in the PDF) p. 139, in the third line of equation (7c), the "T" should be "N" (since going from the second to third line is substituting in the relationship T = \alpha I + \beta N from eq (6b). <I>(thanks to Matt Pharr)</I>
<P>
p. 327, "Path racing" should be "Path tracing". <I>(thanks to <a href="https://pharr.org/matt/blog/2019/01/26/an-introduction-to-ray-tracing.html">Matt Pharr</a>)</I>
<HR>
<P>
The remaining errata below is originally from <a href="https://web.archive.org/web/19991022234049/http://wuarchive.wustl.edu:80/graphics/graphics/books/erratas/IntroToRT">The Wayback Machine</a>. All of these errors are corrected in the <a href="http://www.realtimerendering.com/raytracing/An-Introduction-to-Ray-Tracing-The-Morgan-Kaufmann-Series-in-Computer-Graphics-.pdf">PDF</a> and <a href="http://www.realtimerendering.com/raytracing/Andrew%20S.%20Glassner%20-%20An%20Introduction%20to%20Ray%20tracing%20(The%20Morgan%20Kaufmann%20Series%20in%20Computer%20Graphics)%20(1989).djvu">DJVU</a> versions. This errata listing is here for people who have the first printing of the book.
<PRE>
p. 86, last paragraph before Algebraic Surfaces header: change "where all
the the intersections of the ray with all the objects in the CSG tree are
required" to end as "may be required".
-----
p. 88, equation "t = etc": change from "t = etc" to "t = -etc", i.e. a minus
sign is missing, so negate the right hand side of the equation.
-----
p. 91, last formula in the Sphere section (in the text): change to
x1^2 + y1^2 + z1^2 = 1
^
subscript was "0"
-----
p. 91, in the Paraboloid section, second equation: change the two minus signs
to plus signs (i.e. before z1 and z0).
-----
p. 93, torus equation corrections: change two equations
a2 = 2(x1^2+y1^2+z1^2)((x0^2+y0^2+z0^2)-(a^2+b^2))
+ 4 * (x0x1+y0y1+z0z1)^2 + 4a^2z1^2
^ ^^ ^
was "2" add was "-"
a1 = 4 * (x0x1+y0y1+z0z1)((x0^2+y0^2+z0^2)-(a^2+b^2))
+ 8a^2 * z0 * z1
^
was "-"
a0 = ((x0^2+y0^2+z0^2)-(a^2+b^2))^2 - 4a^2(b^2-z0^2)
^
squaring was left off
-----
p. 95, last sentence before the Simplicial Splines and Steiner Patches
section: change "of" to "or, i.e. it should read "numerical techniques or
subdivision algorithms".
-----
p. 95, last formula on the page: change to
z(u,v) = h y(v)
^
subscript was "x"
-----
p. 100, Figure 7 is wrong.
The upper figure is in error; the lower part is correct. In the upper figure,
the outer contour is the silhouette of a 3D parametric surface. Curve c1 is
the intersection of one plane with that surface, and c2 is the intersection of
another plane, perpendicular to the first. The line of intersection of the
two planes is collinear with the ray, indicated by the line with the arrow.
The other three lines in the figure are extraneous and should be ignored. The
lower part of the figure shows the two curves in uv space.
-----
p. 101, the last sentence in the Bicubic Patches section: change "this can
involve a loss of extra computation" should be "this can involve extra
computation".
-----
p. 101, the second equation in the Numerical Methods section: change the
second "=" in the line to a "+" (it's the only equation with two "=" in it).
-----
p. 105, the 2-D line equation: change to
(y1)x - (x1)y - (x0y1 - y0x1) = 0
^
was a "+"
-----
p. 108, formula for f: This does not agree with Fig. 10. Using the same
notation as in the figure, change to:
For this shape, f is
2 2 2 2
(x-r (u)) + (y-r (u)) + (z - r (u)) - a (u) = 0
x y z
where (r , r , r ) is the center of the sphere and a is the radius.
x y z
-----
p. 140, equation (7h): missing right parenthesis, change to "...- 1)))N."
-----
p. 148, section on distribution term D, 8th line: change "the angle between L
and H" to "the angle between N and H".
-----
p. 156, section 5.4, 2nd paragraph: change "spectral transmission curve" to
"specular transmission curve".
-----
p. 158, in Fdt(lambda) definition: change "diffuse reflection" to "diffuse
transmission".
-----
p. 158, line immediately after Fdt(lambda) definition: change "We note that
the diffuse reflectance" to "We note that the diffuse transmittance".
-----
p. 238, Fig. 24: A chunk is missing in the upper left corner. The labels
should read: "Directions crossed with", and "Applies to".
-----
p. 260, reference by Gervautz: change "Comput. Graph." to "Computers and
Graphics".
-----
p. 288, immediately after the DERIVATION OF REFRACTION FORMULAS header: The
introductory paragraph is missing. It reads:
We derive three alternative formulas for the refracted ray direction in ray
tracing in order to prove their equivalence and to demonstrate the process of
translating physical laws into optimized computational formulas.
It is common knowledge that light rays refract when they strike an interface
between two different transparent media, such as air-water, air-glass, or
glass-water. In 1621 Dutch mathematician Willebrord Snell discovered a
formula quantifying this observation: the ratio of the sines of the incident
and refracted angles equals the ratio of the indices of refraction of the two
materials. Snell's law is:
eta sin( theta ) = eta sin( theta )
1 1 2 2
where theta-sub-1 is the angle of incidence, theta-sub-2 is the angle of
refraction (both measured from the perpendicular to the interface) and
eta-sub-1 and eta-sub-2 are the two indices of refraction on the incident and
refracted sides of the interface, respectively.
Light passing through a material slows relative to its speed in a vacuum by a
factor equal to the index of refraction of that material. In fact, Snell's
law is a simple consequence of this speed variation and Fermat's _Principle of
Least Time_, which states that light takes the fastest path to get from one
point to another [Feynman63].
For computation we need to recast Snell's law in terms of (x,y,z) direction
vectors. This can be done in several different ways. In the derivations
below we make extensive use of angles and trigonometry, but thankfully, it is
possible to eliminate all of these terms from the final formulas, so
theta-sub-1 and theta-sub-2 need never be computed. As a convention, vectors
are upper case and scalars are lower case.
-----
END
</PRE>
<tr>
<td valign="top"><img src="spacer.gif" alt="" height="1" border="0"/><br/>
<br/></td>
</tr>
</table>
</div>
<div id="footer" class="clearfix">
<ul>
<li>Contacts:</li>
<li><a href="mailto:tam@cs.lth.se">Tomas</a></li>
<li><a href="mailto:erich@acm.org">Eric</a></li>
<li><a href="mailto:rtr3@renderwonk.com">Naty</a></li>
</ul>
</div>
</div>
<script type="text/javascript">
/* <![CDATA[ */
(function(){try{var s,a,i,j,r,c,l=document.getElementsByTagName("a"),t=document.createElement("textarea");for(i=0;l.length-i;i++){try{a=l[i].getAttribute("href");if(a&&"www.cloudflare.com/email-protection"==a.substr(7 ,35)){s='';j=43;r=parseInt(a.substr(j,2),16);for(j+=2;a.length-j&&a.substr(j,1)!='X';j+=2){c=parseInt(a.substr(j,2),16)^r;s+=String.fromCharCode(c);}j+=1;s+=a.substr(j,a.length-j);t.innerHTML=s.replace(/</g,"<").replace(/>/g,">");l[i].setAttribute("href","mailto:"+t.value);}}catch(e){}}}catch(e){}})();
/* ]]> */
</script>
</body>
</html>
================================================
FILE: bibtex_rtr3.txt
================================================
@book{RTR3,
author = {Tomas Akenine-M\"{o}ller and Eric Haines and Naty Hoffman},
title = {Real-Time Rendering 3rd Edition},
year = {2008},
pages = {1045},
isbn = {987-1-56881-424-7},
publisher = {A. K. Peters, Ltd.},
address = {Natick, MA, USA},
}
================================================
FILE: bibtex_rtr4.txt
================================================
@book{RTR4,
author = {Tomas Akenine-M\"{o}ller and Eric Haines and Naty Hoffman and Angelo Pesce and Micha\l{} Iwanicki and S\'{e}bastien Hillaire},
title = {Real-Time Rendering 4th Edition},
year = {2018},
pages = {1200},
isbn = {978-1-13862-700-0},
publisher = {A K Peters/CRC Press},
address = {Boca Raton, FL, USA},
}
================================================
FILE: book.html
================================================
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Real-Time Rendering Book Information</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon" />
<link rel="icon" href="favicon.ico" type="image/x-icon" />
<link rel="stylesheet" href="rtr3.css" type="text/css" />
</head>
<body bgcolor="#C0DFFD">
<div id="wrapper">
<div id="header">
<div id="rtr3-header-image">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr bgcolor="#003F50">
<td>
<a href="http://www.realtimerendering.com/blog">
<img src="rtr-header.png" alt="Header image" width="410" height="106" />
</a>
</td>
</tr>
</table>
</div>
<div id="navigation" class="clearfix">
<ul class="primary">
<li><a href="http://www.realtimerendering.com/blog/" rel="home">Blog</a></li>
<li><a class="nav-current" title="Information about the third edition" href="book.html">Book Information</a></li>
<li><a title="Recommended books" href="books.html">Graphics Books</a></li>
<li><a title="Object / object intersection page" href="intersections.html">Intersections</a></li>
<li><a title="Sites we like" href="portal.html">Portal</a></li>
<li><a title="Ray Tracing Resources" href="raytracing.html">Ray tracing</a></li>
<li><a title="Main resources page" href="index.html">Resources</a></li>
<li><a title="USD and glTF Resources" href="usd_gltf.html">USD & glTF</a></li>
<li><a title="WebGL/three.js Resources" href="webgl.html">WebGL</a></li>
</ul>
</div>
</div>
<div id="content" class="clearfix">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="pageName"><I>Real-Time Rendering</I> Book Information</td>
</tr>
<tr>
<td valign="top"><img src="spacer.gif" alt="" height="6" border="0"></td>
</tr>
<tr>
<td class="bodyText">
<div class="metadata">
Last changed: April 21, 2017</I>
</div>
<p>This page provides information about the book <font size="+1"><i><a href="http://smile.amazon.com/Real-Time-Rendering-Tomas-MOller/dp/1568814240?tag=realtimerenderin">Real-Time
Rendering</a></i></font>, by <a href="http://cs.lth.se/tomas_akenine-moller">Tomas
Akenine-Möller</a>, <a href="http://www.erichaines.com/">Eric
Haines</a>, and <a href="http://www.renderwonk.com/">Naty Hoffman</a>, 1045 pages, from <a href="http://www.akpeters.com">A.K. Peters Ltd.</a>,
3rd edition, ISBN 987-1-56881-424-7, 2008, list price $89.
<a href="bibtex_rtr3.txt">BibTeX entry</a>.
<p>You can purchase a hardcover or Kindle version from <a href="http://smile.amazon.com/Real-Time-Rendering-Tomas-MOller/dp/1568814240?tag=realtimerenderin"><b>Amazon</b></a>, or an online version from <b><a href="http://books.google.com/ebooks?id=V1k1V9Ra1FoC">Google eBooks</a></b>. If you have access, our book is available online from <a href="http://www.books24x7.com/marc.asp?bookid=31068">Books24x7</a>.
<p><b>Samples:</b> at <a href="http://smile.amazon.com/Real-Time-Rendering-Tomas-MOller/dp/1568814240?tag=realtimerenderin"><b>Amazon</b></a> you can view the Table of Contents, the index, and a bit of the introduction. <b><a href="http://books.google.com/books?id=V1k1V9Ra1FoC">Google Books</a></b> has chapter samples, export citation information, and other details. You can also read the full first three chapters <a href="http://books.google.com/ebooks/reader?id=V1k1V9Ra1FoC&printsec=frontcover&output=reader&source=gbs_atb">here</a>, linked from <a href="http://books.google.com/ebooks?id=V1k1V9Ra1FoC">this page</a>.
<p>Web resources directly related to the book (all pages are listed on our <a href="index.html">resources page</a>):
<ul>
<li>The <a href="corrigenda.html"><b>book corrections</b></a>
area (for all editions).
<li>An <a href="downloads/RTR3figures.zip"><b>archive of most of the figures</b></a> from the third edition, provided for <a href="http://en.wikipedia.org/wiki/Fair_use">Fair Use</a>. Read the <a href="http://www.realtimerendering.com/blog/our-books-figures-now-downloadable-for-fair-use/">README</a> for more details.
<li>Tomas' <a href="http://www.cs.lth.se/home/Tomas_Akenine_Moller/RTR/RTRslides.zip"><b>Powerpoint Slides</b></a> for a semester's course derived from the second edition of book. A bit dated in spots, but useful as a place to start.
<li>The <a href="refs.html"><b>Bibliography</b></a> of the book, with hyperlinked
resources (the <a href="refs1.html">First Edition</a> and <a href="refs2.html">Second Edition</a> bibliographies are also
available).
</ul>
<p>Differences from the 2nd Edition: six years newer, color throughout, 165 pages longer, 570 more references overall (with about 150 old references removed). Every chapter has been updated, some considerably so. The focus is now on the programmable GPU, with the fixed-function pipeline essentially left behind. Chapters have been added to further explore the theory and practice of material and light representation. Post-processing techniques (HDR, depth of field, motion blur, etc.) now have extensive coverage. The hardware case studies are the Xbox 360, the PLAYSTATION 3, and Mali 200 (mobile computing), based on discussions with the manufacturers.
<p>Information about the previous edition of this book <a href="book_rtr2.html">can be found here</a>.
<table align="right" border="0" width="200">
<tr align="center" valign="top">
<td rowspan="3"> </td>
<td> <a href="rtr3.jpg"><img border="1" src="rtr3_thumb.jpg" alt="3rd ed. cover image" width=157 height=237></a>
</td>
</tr>
</table>
<p>
<img src="rtr3_back_cover.jpg" alt="3rd ed. back cover" width=661 height=997>
</td>
</tr>
<tr>
<td valign="top"><img src="spacer.gif" alt="" height="1" border="0"></td>
<br /></td>
</tr>
</table>
</div> <!-- /content -->
<div id="footer" class="clearfix">
<ul>
<li>Contacts:</li>
<li><a href="mailto:tam@cs.lth.se">Tomas</a></li>
<li><a href="mailto:erich@acm.org">Eric</a></li>
<li><a href="mailto:rtr3@renderwonk.com">Naty</a></li>
</ul>
</div> <!-- /footer -->
</div> <!-- /wrapper -->
</body>
</html>
================================================
FILE: book_rtr2.html
================================================
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="description" content="Real-Time Rendering Resources">
<meta name="keywords" content="computer graphics, real-time, real time, rendering, book, interactive, accelerator, hardware, OpenGL, DirectX, Direct3D">
<title>Real-Time Rendering Book Information</title>
</head>
<body bgcolor="#FFFFFF" link="#2D4280" vlink="#9A6D03" alink="#2D92A0" background="background.jpg">
<font face="LUCIDA, ARIAL, HELVETICA" color="#0D3256" size="+3"><h1>Real-Time
Rendering Book Information</h1>
</font> <font face="LUCIDA, ARIAL, HELVETICA" color="#0D3256">
<p>This page provides information about the book <font size="+1"><i><a href="http://www.amazon.com/exec/obidos/tg/detail/-/1568811829?tag=somebooksilike">Real-Time
Rendering</a></i></font>, by <a href="http://www.cs.lth.se/~tam">Tomas
Akenine-Möller</a> and <a href="http://www.erichaines.com/">Eric
Haines</a>, ~880 pages, from <a href="http://www.akpeters.com">A.K. Peters Ltd.</a>,
2nd edition, ISBN 1568811829<b>, </b>list price $59.
<p>Foreign language versions of <I>Real-Time Rendering</I> are available:
<ul>
<li><a href="http://www.borndigital.co.jp/book/program/4-939007-35-9/index.html">Japanese Language Edition</a>, also from <a href="http://www.amazon.co.jp/gp/product/4939007359/">Amazon</a>.
<li><a href="http://www.yes24.com/home/pd.asp?SID=JwQHASxuTC265UKzi6Lx78vuERUGI7IUJYf7yC4M5yxJ40mP88jqyTIQa&AK=408701&TABID=1">Korean Language Edition</a> (also available <a href="http://kangcom.com/common/bookinfo/bookinfo.asp?sku=200311040002">here</a>)
</ul>
<p>Information about web resources related to the book's individual chapters <a href="index.html">can be found here</a>.
<p> <font color="#0D3256" size="+1">
We are honored to learn that our 2nd Edition has been awarded a <a href="http://www.gdmag.com/flanomination.htm#2002winners">2002 Front Line Award</a> from <I>Game Developer Magazine</I> for product excellence and innovation.</font><p>
<table align="right" border="0" width="200">
<tr align="center" valign="top">
<td rowspan="3"> </td>
<td> <a href="rtr2ed.jpg"><img border="1" src="rtr2ed_thumb.jpg" alt="2nd ed. cover image" width=156 height=237></a>
</td>
</tr>
<tr align="center">
<td> <a href="rtr2nd_ed_front_shadow.jpg"> <B><FONT FACE="LUCIDA, ARIAL, HELVETICA" SIZE="2">
click to see larger image </FONT></B></a> </td>
</tr>
</table>
A quote from the January 2003 <a href="http://www.gdmag.com"><I>Game Developer</I></a> issue's awards article:<BR>
<I>"I can't think of any higher praise for a book than the fact that it's
always on my desk and within easy reach, and Real-Time Rendering, 2nd
Edition is one of the few books that qualifies for that distinction.
Real-Time Rendering provides thorough coverage of the current state of
the art in real-time graphics, as well as case studies, appendices to
help brush up your math skills, and a voluminous source bibliography.
There's no doubt that this is a must-have volume for any graphics
programmer."
</I>
- Herb Marselas, Ensemble Studios
<p>
<font color="#06999E">
<p>You can order the book from <a href="http://www.amazon.com/exec/obidos/tg/detail/-/1568811829?tag=somebooksilike"><b>Amazon</b></a>
and get free shipping, or from <b><a href="http://bn.bfast.com/booklink/click?sourceid=9446116&ISBN=1568811829"><img src="http://bn.bfast.com/booklink/serve?sourceid=9446116&ISBN=1568811829" border="0" width="1" height="1" >Barnes
& Noble</a></b>,
<b><a href="http://www.amazon.ca/exec/obidos/ASIN/1568811829/realtimeren0f-20">Amazon
Canada</a></b>,
<b><a href="http://www.amazon.co.uk/exec/obidos/ASIN/1568811829/realtimerender03">Amazon
UK</a></b>,
<B><a href="http://www.amazon.fr/exec/obidos/ASIN/1568811829/">Amazon France</a></B>,
<B><a href="http://www.amazon.de/exec/obidos/ASIN/1568811829/">Amazon Germany</a></B>,
or
<B><a href="http://www.amazon.co.jp/exec/obidos/ASIN/1568811829/">Amazon Japan</a></B>.
You can also order it direct from <a href="http://www.akpeters.com/orderinfo.asp">A.K.
Peters</a> (or in Europe, <a href="http://www.transatlanticpublishers.com/">Transatlantic Publishers Group</a>),
among others. Check the <a href="http://www.addall.com/New/compare.cgi?dispCurr=USD&id=386317&isbn=1568811829">AddAll</a>, <a href="http://www.bestwebbuys.com/books/compare/isbn/1568811829/isrc/b-home-search">Best Book Buys</a>, or <a href="http://www.dealtime.com/xPC-Real_Time_Rendering_by_Tomas_Moller">DealTime</a> searchers
for the best deals. IGDA members can purchase the book <a href="http://www.igda.org/membership/discounts.php#pubs">at
20% off</a>.</font>
<p> The following second edition book samples are available for download:
<p>
<table border=2 CELLSPACING=2 CELLPADDING=2 >
<tr>
<th align="LEFT"> Book Section </th>
<th> Adobe PDF </th>
</tr>
<tr>
<td> Table of Contents </td>
<td align="center"><a href="http://tog.acm.org/resources/RTR/rtr2_toc.pdf">
70K </a></td>
</tr>
<tr>
<td> Chapter Overview </td>
<td align="center"><a href="http://tog.acm.org/resources/RTR/rtr2_overview.pdf">
47K </a></td>
</tr>
<tr>
<td> Non-Photorealistic Rendering excerpt</td>
<td align="center"><a href="http://tog.acm.org/resources/RTR/rtr2_npr.pdf">
337K </a></td>
</tr>
<tr>
<td> Levels of Detail excerpt</td>
<td align="center"><a href="http://tog.acm.org/resources/RTR/rtr2_lod.pdf">
449K </a></td>
</tr>
<tr>
<td> Subdivision Curves and Surfaces excerpt</td>
<td align="center"><a href="http://tog.acm.org/resources/RTR/rtr2_subdiv.pdf">
615K </a></td>
</tr>
<tr>
<td> Index </td>
<td align="center"><a href="http://tog.acm.org/resources/RTR/rtr2_index.pdf">
255K </a></td>
</tr>
</table>
<p>
<a href="http://www.gamasutra.com">Gamasutra</a> has an excerpt from the second
edition about <a href="http://www.gamasutra.com/features/20020715/mollerhaines_01.htm">Bézier
triangles and N-Patches</a>, and <a href="http://www.flipcode.com/">Flipcode</a>
has an excerpt about <a href="http://www.flipcode.com/articles/article_rtr2billboards.shtml">billboarding</a>.
<p>Related web resources <a href="index.html">can be found here</a>.
</font>
<hr>
<address>
webslaves: <a href="http://www.erichaines.com/">Eric Haines</a>
/ <a href="mailto:erich@acm.org">erich@acm.org</a>
<br>
<a href="http://www.cs.lth.se/~tam">Tomas Akenine-Möller</a>
/ <a href="mailto:tompa@acm.org">tompa@acm.org</a> </address>
<p>Last changed: <i>October 3, 2006</i>
</body></html>
================================================
FILE: book_rtr3.html
================================================
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Real-Time Rendering Book Information</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon" />
<link rel="icon" href="favicon.ico" type="image/x-icon" />
<link rel="stylesheet" href="rtr3.css" type="text/css" />
</head>
<body bgcolor="#C0DFFD">
<div id="wrapper">
<div id="header">
<div id="rtr3-header-image">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr bgcolor="#003F50">
<td>
<a href="http://www.realtimerendering.com/blog">
<img src="rtr-header-3rd.png" alt="Header image" width="410" height="106" />
</a>
</td>
</tr>
</table>
</div>
<div id="navigation" class="clearfix">
<ul class="primary">
<li><a href="http://www.realtimerendering.com/blog/" rel="home">Blog</a></li>
<li><a title="Recommended books" href="books.html">Graphics Books</a></li>
<li><a title="Object / object intersection page" href="intersections.html">Intersections</a></li>
<li><a title="Sites we like" href="portal.html">Portal</a></li>
<li><a title="Ray Tracing Resources" href="raytracing.html">Ray tracing</a></li>
<li><a title="Main resources page" href="index.html">Resources</a></li>
<li><a title="USD and glTF Resources" href="usd_gltf.html">USD & glTF</a></li>
<li><a title="WebGL/three.js Resources" href="webgl.html">WebGL</a></li>
<ul>
</div>
</div>
<div id="content" class="clearfix">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="pageName"><I>Real-Time Rendering</I> Book Information</td>
</tr>
<tr>
<td valign="top"><img src="spacer.gif" alt="" height="6" border="0"></td>
</tr>
<tr>
<td class="bodyText">
<div class="metadata">
Last changed: April 21, 2017</I>
</div>
<p>This page provides information about the older, third edition of the book <font size="+1"><i><a href="http://smile.amazon.com/Real-Time-Rendering-Tomas-MOller/dp/1568814240?tag=realtimerenderin">Real-Time
Rendering, 3rd Edition</a></i></font>, by <a href="http://cs.lth.se/tomas_akenine-moller">Tomas
Akenine-Möller</a>, <a href="http://www.erichaines.com/">Eric
Haines</a>, and <a href="http://www.renderwonk.com/">Naty Hoffman</a>, 1045 pages, from <a href="http://www.akpeters.com">A.K. Peters Ltd.</a>,
ISBN 987-1-56881-424-7, 2008, list price $89.
<a href="bibtex_rtr3.txt">BibTeX entry</a>.
<p>You can purchase a hardcover or Kindle version from <a href="http://smile.amazon.com/Real-Time-Rendering-Tomas-MOller/dp/1568814240?tag=realtimerenderin"><b>Amazon</b></a>, or an online version from <b><a href="http://books.google.com/ebooks?id=V1k1V9Ra1FoC">Google eBooks</a></b>. If you have access, our book is available online from <a href="http://www.books24x7.com/marc.asp?bookid=31068">Books24x7</a>.
<p><b>Samples:</b> at <a href="http://smile.amazon.com/Real-Time-Rendering-Tomas-MOller/dp/1568814240?tag=realtimerenderin"><b>Amazon</b></a> you can view the Table of Contents, the index, and a bit of the introduction. <b><a href="http://books.google.com/books?id=V1k1V9Ra1FoC">Google Books</a></b> has chapter samples, export citation information, and other details. You can also read the full first three chapters <a href="http://books.google.com/ebooks/reader?id=V1k1V9Ra1FoC&printsec=frontcover&output=reader&source=gbs_atb">here</a>, linked from <a href="http://books.google.com/ebooks?id=V1k1V9Ra1FoC">this page</a>.
<p>Web resources directly related to the book (all pages are listed on our <a href="index.html">resources page</a>):
<ul>
<li>The <a href="corrigenda.html"><b>book corrections</b></a>
area (for all editions).
<li>An <a href="downloads/RTR3figures.zip"><b>archive of most of the figures</b></a> from the third edition, provided for <a href="http://en.wikipedia.org/wiki/Fair_use">Fair Use</a>. Read the <a href="http://www.realtimerendering.com/blog/our-books-figures-now-downloadable-for-fair-use/">README</a> for more details.
<li>Tomas' <a href="http://www.cs.lth.se/home/Tomas_Akenine_Moller/RTR/RTRslides.zip"><b>Powerpoint Slides</b></a> for a semester's course derived from the second edition of book. A bit dated in spots, but useful as a place to start.
<li>The <a href="refs3.html"><b>Bibliography</b></a> of the book, with hyperlinked
resources (the <a href="refs1.html">First Edition</a> and <a href="refs2.html">Second Edition</a> bibliographies are also
available).
</ul>
<p>Differences from the 2nd Edition: six years newer, color throughout, 165 pages longer, 570 more references overall (with about 150 old references removed). Every chapter has been updated, some considerably so. The focus is now on the programmable GPU, with the fixed-function pipeline essentially left behind. Chapters have been added to further explore the theory and practice of material and light representation. Post-processing techniques (HDR, depth of field, motion blur, etc.) now have extensive coverage. The hardware case studies are the Xbox 360, the PLAYSTATION 3, and Mali 200 (mobile computing), based on discussions with the manufacturers.
<p>Information about the previous edition of this book <a href="book_rtr2.html">can be found here</a>.
<table align="right" border="0" width="200">
<tr align="center" valign="top">
<td rowspan="3"> </td>
<td> <a href="rtr3.jpg"><img border="1" src="rtr3_thumb.jpg" alt="3rd ed. cover image" width=157 height=237></a>
</td>
</tr>
</table>
<p>
<img src="rtr3_back_cover.jpg" alt="3rd ed. back cover" width=661 height=997>
</td>
</tr>
<tr>
<td valign="top"><img src="spacer.gif" alt="" height="1" border="0"></td>
<br /></td>
</tr>
</table>
</div> <!-- /content -->
<div id="footer" class="clearfix">
<ul>
<li>Contacts:</li>
<li><a href="mailto:tam@cs.lth.se">Tomas</a></li>
<li><a href="mailto:erich@acm.org">Eric</a></li>
<li><a href="mailto:rtr3@renderwonk.com">Naty</a></li>
</ul>
</div> <!-- /footer -->
</div> <!-- /wrapper -->
</body>
</html>
================================================
FILE: books.html
================================================
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="https://www.w3.org/1999/xhtml/">
<head>
<title>Real-Time Rendering Graphics Books Page</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon"/>
<link rel="icon" href="favicon.ico" type="image/x-icon"/>
<link rel="stylesheet" href="rtr4.css" type="text/css"/>
</head>
<body>
<div id="wrapper">
<div id="header">
<div id="rtr3-header-image">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr bgcolor="#10304B">
<td>
<a href="https://www.realtimerendering.com/blog/">
<img src="rtr-header.png" alt="Header image" width="410" height="106"/>
</a>
</td>
</tr>
</table>
</div>
<div id="navigation" class="clearfix">
<ul class="primary">
<li><a href="https://www.realtimerendering.com/blog/" rel="home">Blog</a></li>
<li><a class="nav-current" title="Recommended books" href="books.html">Graphics books</a></li>
<li><a title="Object / object intersection page" href="intersections.html">Intersections</a></li>
<li><a title="Sites we like" href="portal.html">Portal</a></li>
<li><a title="Ray Tracing Resources" href="raytracing.html">Ray tracing</a></li>
<li><a title="Main resources page" href="index.html">Resources</a></li>
<li><a title="USD and glTF Resources" href="usd_gltf.html">USD & glTF</a></li>
<li><a title="WebGL/three.js Resources" href="webgl.html">WebGL</a></li>
</ul>
</div>
</div>
<div id="content" class="clearfix">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="pageName">Real-Time Rendering Graphics Books Page</td>
</tr>
<tr>
<td valign="top"><img src="spacer.gif" alt="" height="6" border="0"/><br/></td>
</tr>
<tr>
<td class="bodyText">
<div class="metadata">
Last changed: April 23, 2026
</div>
Beyond <a href="https://www.realtimerendering.com/index.html">our own book</a>, listed here are upcoming, recent, and <a href="#recommended">recommended</a> graphics books, along with related online information. On our Resources page we <a href="index.html#intro">list only books that are free for download</a>. To sample the books: some books have <a href="https://books.google.com">Google Books samples</a>, which we link to as we find them, or downloadable samples for the <a href="https://www.amazon.com?tag=realtimerenderin">Kindle version</a>. You can also look at Amazon's best-selling <a href="https://www.amazon.com/exec/obidos/tg/browse/-/3922/1/002-8174022-0714455?rank=%2Bsalesrank&submit.x=6&submit.y=7&submit=Go%21&tag=realtimerenderin">DirectX</a> and <a href="https://www.amazon.com/exec/obidos/tg/browse/-/3935/1/002-8174022-0714455?rank=%2Bsalesrank&submit.x=11&submit.y=7&submit=Go%21&tag=realtimerenderin">OpenGL</a> book lists. Other best-seller categories that sometimes turn up books of interest: <a href="https://www.amazon.com/gp/bestsellers/books/3937/ref=pd_zg_hrsr_b_1_4_last?tag=realtimerenderin">Rendering & Ray Tracing</a>, <a href="https://www.amazon.com/gp/bestsellers/books/15375251/ref=pd_zg_hrsr_b_3_4_last?tag=realtimerenderin">Game Programming</a>.
<a NAME="upcoming">
<H2 class="subHeader">Upcoming Books</H2>
</a>
Books that have not been released yet.
<P>
<div id="books-small-table">
<table>
</table>
<a NAME="recent">
<H2 class="subHeader">Recent Books</H2>
</a>
<P>These are newer relevant books that have come out in the past few years; we make no judgments on these (well, we review a very few <a href="https://www.realtimerendering.com/blog/">on our blog</a>).
<table>
<tr><td>
<a href="https://www.amazon.com/dp/B0DNXNM14K?tag=realtimerenderin">
<img src="AmazonImages/gpu_zen_4_100.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/GPU-Zen-Advanced-Rendering-Techniques/dp/B0GNZJPVZ4?tag=realtimerenderin">GPU Zen 4</a></b>, edited by Wolfgang Engel, Black Cat Publishing, February 2026 (<a href="https://gpuzen.blogspot.com/">book's table of contents</a>).
</td></tr>
<tr><td>
<a href="https://www.amazon.com/Intro-Game-Programming-Using-DirectX/dp/1683929160?tag=realtimerenderin">
<img src="AmazonImages/DX12Luna2nd._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/Intro-Game-Programming-Using-DirectX/dp/1683929160?tag=realtimerenderin">Introduction to 3D Game Programming with DirectX 12 Second Edition</a></b>, by Frank Luna, August 2025 (<a href="https://www.degruyterbrill.com/search?query=Intro+to+Game+Programming+Using+DirectX+12">publisher supplemental information</a>, <a href="https://www.d3dcoder.net/d3d12_v2.htm">second edition supplemental files</a>).
</td></tr>
<tr><td>
<a href="https://www.amazon.com/dp/B0DNXNM14K?tag=realtimerenderin">
<img src="AmazonImages/gpu_zen_3_100.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/dp/B0DNXNM14K?tag=realtimerenderin">GPU Zen 3</a></b>, edited by Wolfgang Engel, Black Cat Publishing, November 2024 (<a href="https://gpuzen.blogspot.com/">book's table of contents</a>).
</td></tr>
<tr><td>
<a href="https://www.amazon.com/Modern-Vulkan-Cookbook-practical-techniques/dp/1803239980?tag=realtimerenderin">
<img src="AmazonImages/modern_vulkan_cookbook.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/Modern-Vulkan-Cookbook-practical-techniques/dp/1803239980?tag=realtimerenderin">The Modern Vulkan Cookbook</a></b>, by Preetish Kakkar and Mauricio Maurer, Packt Publishing, April 2024 (<a href="https://www.packtpub.com/en-id/product/the-modern-vulkan-cookbook-9781803239989?type=subscription">more information and free chapter</a>).
</td></tr>
<tr><td>
<a href="https://www.amazon.com/dp/B0CXY8C72T?tag=realtimerenderin">
<img src="AmazonImages/pgai.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/dp/B0CXY8C72T?tag=realtimerenderin">Projective Geometric Algebra Illuminated</a></b>, by Eric Lengyel, March 2024 (<a href="https://projectivegeometricalgebra.org/">more information</a>, <a href="https://x.com/EricLengyel/status/1769176370691846371">sample pages</a>).
</td></tr>
<tr><td>
<a href="https://www.amazon.com/Real-Time-Ray-Tracing-Vulkan-Impatient-Kenwright/dp/B0CWVJ1SRY?tag=realtimerenderin">
<img src="AmazonImages/rtrtwvfti.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/Real-Time-Ray-Tracing-Vulkan-Impatient-Kenwright/dp/B0CWVJ1SRY?tag=realtimerenderin">Real-Time Ray-Tracing with Vulkan for the Impatient</a></b>, by Kenwright, March 2024 (<a href="https://dl.acm.org/doi/10.1145/3587423.3595476">free course note download for ACM members</a>).
</td></tr>
<tr><td>
<a href="https://www.amazon.com/Computer-Graphics-Programming-OpenGL-C/dp/1501522590?tag=realtimerenderin"><img src="AmazonImages/cgpioc3.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/Computer-Graphics-Programming-OpenGL-C/dp/1501522590?tag=realtimerenderin">Computer Graphics Programming in OpenGL With C++ Third Edition</a></b>, by V. Scott Gordon and John L. Clevenger, Mercury Learning & Information, February 2024.
</td></tr>
<tr><td>
<a href="https://www.amazon.com/WGPU-Examples-Procedural-Mastering-Next-Generation/dp/B0CL12NN52?tag=realtimerenderin"><img src="AmazonImages/wgpubex.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/WGPU-Examples-Procedural-Mastering-Next-Generation/dp/B0CL12NN52?tag=realtimerenderin">WGPU by Examples</a></b>, by Jack Xu, October 2023 (<a href="https://drxudotnet.com/">author's site</a> with related books).
</td></tr>
<tr><td>
<a href="https://www.amazon.com/Geometry-Programmers-Oleksandr-Kaleniuk/dp/1633439607?tag=realtimerenderin"><img src="AmazonImages/book_1633439607.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/Geometry-Programmers-Oleksandr-Kaleniuk/dp/1633439607?tag=realtimerenderin">Geometry for Programmers</a></b>, by Oleksandr Kaleniuk, Manning Publications, May 2023 (<a href="https://www.manning.com/books/geometry-for-programmers">more information</a>, <a href="https://github.com/akalenuk/geometry-for-programmers-code">source code</a>).
</td></tr>
<tr><td>
<tr><td>
<a href="https://www.amazon.com/Physically-Based-Rendering-fourth-Implementation-dp-0262048027/dp/0262048027?tag=realtimerenderin"><img src="AmazonImages/pbrt4.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<a href="https://www.pbr-book.org/"><img src="read_for_free_sm.png" align=left border=0></a>
<img src="spacer.gif" alt="" height="55" width="12" align=left border=0>
<b><a href="https://www.amazon.com/Physically-Based-Rendering-fourth-Implementation-dp-0262048027/dp/0262048027?tag=realtimerenderin">Physically Based Rendering, Fourth Edition: from Theory to Implementation</a></b>, by Matt Pharr, Wenzel Jakob, and Greg Humphreys, The MIT Press, March 2023 (<a href="https://www.pbrt.org/">more information</a>), <a href="https://www.patreon.com/pbrbook">Patreon page</a>, <a href="https://www.pbr-book.org/">read for free</a>.
</td></tr>
<tr><td>
<a href="https://www.amazon.com/Mastering-Graphics-Programming-Vulkan-principles/dp/1803244798?tag=realtimerenderin"><img src="AmazonImages/41-Wf0kYTaL._SX50_BO1,204,203,200_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/Mastering-Graphics-Programming-Vulkan-principles/dp/1803244798?tag=realtimerenderin">Mastering Graphics Programming with Vulkan</a></b>, by Marco Castorina and Gabriel Sassone, Packt Publishing, April 2023 (<a href="https://github.com/PacktPublishing/Mastering-Graphics-Programming-with-Vulkan">book's code repository</a>, <a href="https://jorenjoestar.github.io/#posts">author's blog</a>, <a href="https://www.google.com/books/edition/Mastering_Graphics_Programming_with_Vulk/IDCoEAAAQBAJ?hl=en&gbpv=1&dq=Mastering+Graphics+Programming+with+Vulkan&printsec=frontcover">Google Books sample</a>).
</td></tr>
<tr><td>
<a href="https://www.amazon.com/dp/1032256982?tag=realtimerenderin"><img src="AmazonImages/41kF+HVdeCL._SX50_BO1,204,203,200_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/dp/1032256982?tag=realtimerenderin">Computer Graphics Through OpenGL: From Theory to Experiments, Fourth Edition</a></b>, by Sumanta Guha, AK Peters/CRC Press, December 2022 (<a href="https://www.sumantaguha.com/">Book's website</a>, <a href="https://www.google.com/books/edition/Computer_Graphics_Through_OpenGL/je3MAwAAQBAJ?hl=en&gbpv=1&dq=Computer+Graphics+Through+OpenGL:+From+Theory+to+Experiments,+Fourth+Edition&printsec=frontcover">Google Books sample</a>, <a href="https://www.routledge.com/Computer-Graphics-Through-OpenGL-From-Theory-to-Experiments/Guha/p/book/9781032256986">publisher's page</a>).
</td></tr>
<tr><td>
<a href="https://www.amazon.com/Mathematics-Game-Programming-Computer-Graphics/dp/1801077339?tag=realtimerenderin"><img src="AmazonImages/mfgpacg.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/Mathematics-Game-Programming-Computer-Graphics/dp/1801077339?tag=realtimerenderin">Mathematics for Game Programming and Computer Graphics</a></b>, by Penny de Byl, Packt Publishing, November 2022 (<a href="https://github.com/PacktPublishing/Mathematics-for-Game-Programming-and-Computer-Graphics">Code</a>, <a href="https://www.packtpub.com/en-us/product/mathematics-for-game-programming-and-computer-graphics-9781801077330">publisher's page</a>).
</td></tr>
<tr><td>
<a href="https://www.amazon.com/Developing-Graphics-Frameworks-Java-Opengl/dp/0367720698?tag=realtimerenderin"><img src="AmazonImages/41SENTi6QzS._SL500_._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<a href="https://www.taylorfrancis.com/books/mono/10.1201/9781003153375/developing-graphics-frameworks-java-opengl-lee-stemkoski-james-cona"><img src="download_for_free_sm.png" alt="download for free" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<a href="https://www.amazon.com/Developing-Graphics-Frameworks-Java-Opengl/dp/0367720698?tag=realtimerenderin"><b>Developing Graphics Frameworks with Java and OpenGL</b></a>, by Lee Stemkoski and Michael Pascale, CRC Press, June 22, 2022 (<a href="https://www.routledge.com/Developing-Graphics-Frameworks-with-Java-and-OpenGL/Stemkoski-Cona/p/book/9780367720698">Publisher's website</a>, <a href="https://www.google.com/books/edition/Developing_Graphics_Frameworks_with_Java/wiRuEAAAQBAJ?hl=en&gbpv=1&dq=Developing+Graphics+Frameworks+with+Java+and+OpenGL&printsec=frontcover">Google Books sample</a>).
</td></tr>
<tr><td>
<a href="https://www.amazon.com/dp/1683927362?tag=realtimerenderin"><img src="AmazonImages/61Lqy-rA4tL._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/dp/1683927362?tag=realtimerenderin">Computer Graphics Programming in OpenGL with Java Third Edition</a></b>, by V. Scott Gordon and John L. Clevenger, Mercury Learning & Information, October 2021 (<a href="https://www.merclearning.com/titles/Computer-Graphics-Programming-in-OpenGL-with-JAVA-Third-Edition.html">publisher's page</a>, <a href="https://www.google.com/books/edition/Computer_Graphics_Programming_in_OpenGL/GG1CEAAAQBAJ?hl=en&gbpv=1&dq=Computer+Graphics+Programming+in+OpenGL+with+JAVA&printsec=frontcover">Google Books Sample</a>).
</td></tr>
<tr><td>
<a href="https://www.amazon.com/Graphics-Rendering-Cookbook-comprehensive-algorithms/dp/1838986197?tag=realtimerenderin">
<img src="AmazonImages/41yiOSwFI3L._SL500_._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/Graphics-Rendering-Cookbook-comprehensive-algorithms/dp/1838986197?tag=realtimerenderin">3D Graphics Rendering Cookbook: A comprehensive guide to exploring rendering algorithms in modern OpenGL and Vulkan</a></b>, by Sergey Kosarevsky and Viktor Latypov, Packt Publishing, August 25, 2021 (<a href="https://www.packtpub.com/en-us/product/3d-graphics-rendering-cookbook-9781838986193">Publisher's page</a>, <a href="https://github.com/PacktPublishing/3D-Graphics-Rendering-Cookbook">Github repo</a>, <a href="https://www.google.com/books/edition/3D_Graphics_Rendering_Cookbook/Nys7EAAAQBAJ?hl=en&gbpv=1&printsec=frontcover">Google Books sample</a>).
</td></tr>
<tr><td>
<a href="https://www.amazon.com/Ray-Tracing-Gems-Generation-Real-Time-ebook/dp/B09BTTX46Z?tag=realtimerenderin"><img src="AmazonImages/RTG2_50.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<a href="https://www.realtimerendering.com/raytracinggems/rtg2/index.html"><img src="download_for_free_sm.png" alt="download for free" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0> <a href="https://www.amazon.com/Ray-Tracing-Gems-Generation-Real-Time-ebook/dp/B09BTTX46Z?tag=realtimerenderin"><b>Ray Tracing Gems II: Next Generation Real-Time Rendering with DXR, Vulkan, and OptiX</b></a>, edited by Adam Marrs, Peter Shirley, and Ingo Wald, Apress, August 4, 2021 (<a href="https://www.realtimerendering.com/raytracinggems/">Book's website</a>, <a href="https://link.springer.com/book/10.1007/978-1-4842-7185-8">publisher's page</a>), <a href="https://www.realtimerendering.com/raytracinggems/"><b><i>download for free</i></b></a>.
</td></tr>
<tr><td>
<a href="https://www.amazon.com/Biography-Pixel-Leonardo-Alvy-Smith/dp/0262542455?tag=realtimerenderin"><img src="AmazonImages/31TjkmLWUML._SL500_._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<a href="https://www.amazon.com/Biography-Pixel-Leonardo-Alvy-Smith/dp/0262542455?tag=realtimerenderin"><b>A Biography of the Pixel</b></a>, by Alvy Ray Smith, MIT Press, August 3, 2021 (<a href="https://mitpress.mit.edu/9780262542456/">Publisher's page</a>, <a href="https://books.google.com/books?id=Mus2EAAAQBAJ&printsec=frontcover">Google Books sample</a>).
</td></tr>
<tr><td>
<a href="https://www.amazon.com/Image-Objects-Archaeology-Computer-Graphics/dp/0262045036?tag=realtimerenderin"><img src="AmazonImages/41gvtdCItLS._SL500_._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<a href="https://www.amazon.com/Image-Objects-Archaeology-Computer-Graphics/dp/0262045036"><b>Image Objects: An Archaeology of Computer Graphics</b></a>, by Jacob Gaboury, MIT Press, August 3, 2021 (<a href="https://mitpress.mit.edu/9780262045032/">Publisher's page</a>, <a href="https://books.google.com/books?id=juQ2EAAAQBAJ&printsec=frontcover">Google Books sample</a>).
</td></tr>
<tr><td>
<a href="https://www.amazon.com/Developing-Graphics-Frameworks-Python-OpenGL/dp/0367721805?tag=realtimerenderin"><img src="AmazonImages/41SENTi6QzS._SL500_._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<a href="https://www.taylorfrancis.com/books/oa-mono/10.1201/9781003181378/developing-graphics-frameworks-python-opengl-lee-stemkoski-michael-pascale"><img src="download_for_free_sm.png" alt="download for free" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<a href="https://www.amazon.com/Developing-Graphics-Frameworks-Python-OpenGL/dp/0367721805?tag=realtimerenderin"><b>Developing Graphics Frameworks with Python and OpenGL</b></a>, by Lee Stemkoski and Michael Pascale, CRC Press, July 7, 2021 (<a href="https://www.routledge.com/Developing-Graphics-Frameworks-with-Python-and-OpenGL/Stemkoski-Pascale/p/book/9780367721800">Publisher's website</a>, <a href="https://www.google.com/books/edition/Developing_Graphics_Frameworks_with_Pyth/qFstEAAAQBAJ?hl=en&gbpv=1&dq=Developing+Graphics+Frameworks+with+Python+and+OpenGL&printsec=frontcover">Google Books sample</a>).
</td></tr>
<tr><td>
<a href="https://www.amazon.com/Computer-Graphics-Scratch-Gabriel-Gambetta/dp/1718500769?tag=realtimerenderin"><img src="AmazonImages/CGFS_50.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<a href="https://gabrielgambetta.com/computer-graphics-from-scratch/index.html"><img src="read_for_free_sm.png" align=left border=0></a>
<img src="spacer.gif" alt="" height="55" width="12" align=left border=0>
<b><a href="https://www.amazon.com/Computer-Graphics-Scratch-Gabriel-Gambetta/dp/1718500769?tag=realtimerenderin">Computer Graphics from Scratch: A Programmer's Introduction to 3D Rendering</a></b>, by Gabriel Gambetta, No Starch Press, May 18, 2021 (<a href="https://nostarch.com/computer-graphics-scratch">publisher's page</a> includes <a href="https://nostarch.com/download/samples/ComputerGraphics_sample_ch3.pdf">download of chapter 3</a>, <a href="https://www.google.com/books/edition/Computer_Graphics_from_Scratch/t0UqEAAAQBAJ?hl=en&gbpv=1&dq=Computer+Graphics+from+Scratch:+A+Programmer%27s+Introduction+to+3D+Rendering&printsec=frontcover">Google Books sample</a>), <a href="https://gabrielgambetta.com/computer-graphics-from-scratch/index.html">read for free</a>.
</td></tr>
<tr><td>
<a href="https://graphicscodex.com/app/app.html"><img src="AmazonImages/GraphicsCodexThumb50.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<a href="https://graphicscodex.com/app/app.html"><img src="read_for_free_sm.png" align=left border=0></a>
<img src="spacer.gif" alt="" height="55" width="12" align=left border=0>
<b><a href="https://graphicscodex.com/app/app.html?">The Graphics Codex</a></b>, by Morgan McGuire, 2011-2024: <a href="https://graphicscodex.com/">main site</a>.
</td></tr>
<tr><td>
<a href="https://www.amazon.com/Math-Programmers-Paul-Orland/dp/1617295353?tag=realtimerenderin"><img src="AmazonImages/book_1617295353.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/Math-Programmers-Paul-Orland/dp/1617295353?tag=realtimerenderin?tag=realtimerenderin">Math for Programmers: 3D graphics, machine learning, and simulations with Python</a></b>, by Paul Orland, Manning Publications, January 2021 (<a href="https://www.manning.com/books/math-for-programmers">more information</a>, including source code and errata; <a href="https://www.google.com/books/edition/Math_for_Programmers/6AkPEAAAQBAJ?hl=en&gbpv=1&dq=Geometry+for+Programmers&printsec=frontcover">Google Books sample</a>).
</td></tr>
<tr><td>
<a href="https://www.amazon.com/Game-Physics-Weekend-Gregory-Hodges-ebook/dp/B08RXT38YN?tag=realtimerenderin"><img src="AmazonImages/gpiow.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/Game-Physics-Weekend-Gregory-Hodges-ebook/dp/B08RXT38YN?tag=realtimerenderin?tag=realtimerenderin">Game Physics In One Weekend, by Gregory Hodges, January 2021 (<a href="https://gamephysicsweekend.github.io/">author's site</a>, <a href="https://github.com/gamephysicsweekend/VulkanRenderer">related code</a>, <a href="https://www.amazon.com/dp/B08RXZ4FPR?binding=kindle_edition&ref=dbs_dp_rwt_sb_pc_tkin">book series</a>).
</td></tr>
<tr><td>
<a href="https://www.amazon.com/Learn-OpenGL-programming-step-step/dp/9090332561?tag=realtimerenderin">
<img src="AmazonImages/41QUlNx80IL._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<a href="https://learnopengl.com/book/book_pdf.pdf"><img src="download_for_free_sm.png" alt="download for free" align=left border=0></a>
<img src="spacer.gif" alt="" height="55" width="12" align=left border=0>
<b><a href="https://www.amazon.com/Learn-OpenGL-programming-step-step/dp/9090332561?tag=realtimerenderin">Learn OpenGL - Graphics Programming: Learn modern OpenGL graphics programming in a step-by-step fashion</a></b>, by Joey de Vries, Kendall & Welling, June 2020 (<a href="https://learnopengl.com/">Book's website, with <a href="https://learnopengl.com/book/book_pdf.pdf">free downloadable version</a>; also, the beginnings of a new book, <a href="https://learnvulkan.com/">Learn Vulkan</a>).
</td></tr>
<tr><td>
<a href="https://www.amazon.com/Robust-Error-Free-Geometric-Computing-Eberly/dp/036735294X?tag=realtimerenderin"><img src="AmazonImages/41xlKp1J92L._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/Robust-Error-Free-Geometric-Computing-Eberly/dp/036735294X?tag=realtimerenderin">Robust and Error-Free Geometric Computing</a></b>, by Dave Eberly, May 2020 (<a href="https://www.routledge.com/Robust-and-Error-Free-Geometric-Computing/Eberly/p/book/9780367352943">publisher's page</a>).
</td></tr>
<tr><td>
<a href="https://www.amazon.com/dp/0985811749/?tag=realtimerenderin">
<img src="AmazonImages/FoGED2.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/gp/product/0985811757?tag=realtimerenderin">Foundations of Game Engine Development, Volume 2: Rendering</a></b>, by Eric Lengyel, July 2019 (<a href="https://foundationsofgameenginedev.com/">more information</a>).
</td></tr>
<tr><td>
<a href="https://www.amazon.com/VR-Developer-Gems-William-Sherman/dp/1138030120?tag=realtimerenderin"><img src="AmazonImages/vr_developer_gems_thumb.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/VR-Developer-Gems-William-Sherman/dp/1138030120?tag=realtimerenderin">VR Developer Gems</a></b>, by William R. Sherman, June 2019 (<a href="https://www.routledge.com/VR-Developer-Gems/Sherman/p/book/9781138030121">publisher's page</a>).
</td></tr>
<tr><td>
<a href="https://www.amazon.com/GPU-Zen-Advanced-Rendering-Techniques/dp/179758314X?tag=realtimerenderin">
<img src="AmazonImages/51wlNem+I4L._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/GPU-Zen-Advanced-Rendering-Techniques/dp/179758314X?tag=realtimerenderin">GPU Zen 2</a></b>, edited by Wolfgang Engel, Black Cat Publishing, April 2019 (<a href="https://gpuzen.blogspot.com/">book's website</a>, <a href="https://github.com/wolfgangfengel/GPUZen2">source code</a>).
</td></tr>
<tr><td>
<a href="https://www.amazon.com/GPU-Zen-Advanced-Rendering-Techniques/dp/179758314X?tag=realtimerenderin">
<img src="AmazonImages/41c3UyVBfeL._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/Ray-Tracer-Challenge-Test-Driven-Renderer/dp/1680502719?tag=realtimerenderin">The Ray Tracer Challenge: A Test-Driven Guide to Your First 3D Renderer</a></b>, Jamis Buck, Pragmatic Bookshelf, March 2019 (<a href="https://pragprog.com/titles/jbtracer/the-ray-tracer-challenge/">Publisher's page</a>, <a href="https://www.youtube.com/watch?v=MFjmpjPwFEM">video advertisement</a>).
</td></tr>
<tr><td>
<a href="https://www.realtimerendering.com/raytracinggems/"><img src="AmazonImages/RTG_50.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<a href="https://www.realtimerendering.com/raytracinggems/"><img src="download_for_free_sm.png" alt="download for free" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<a href="https://link.springer.com/book/10.1007/978-1-4842-4427-2"><b>Ray Tracing Gems</b></a>, edited by Eric Haines and Tomas Akenine-Möller, Apress, March 2019 (<a href="https://www.realtimerendering.com/raytracinggems/">Book's website</a>, <a href="https://link.springer.com/book/10.1007/978-1-4842-4427-2">publisher's page</a>, <a href="https://www.amazon.com/Ray-Tracing-Gems-High-Quality-Real-Time/dp/1484244265?tag=realtimerenderin">Amazon</a>), <a href="https://www.realtimerendering.com/raytracinggems/"><b><i>download for free</i></b></a>.
</td></tr>
<tr><td>
<a href="https://www.amazon.com/Real-Time-Graphics-WebGL-interactive-applications-ebook/dp/B07GVNQLH5?tag=realtimerenderin">
<img src="AmazonImages/RealTime3DGraphicsWithWebGL2.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/Real-Time-Graphics-WebGL-interactive-applications-ebook/dp/B07GVNQLH5?tag=realtimerenderin">Real-Time 3D Graphics with WebGL 2, Second Edition</a></b>, by Farhad Ghayour and Diego Cantor, Packt Publishing, October 2018 (<a href="https://www.packtpub.com/en-us/product/real-time-3d-graphics-with-webgl-2-9781788629690">Table of Contents</a>, <a href="https://www.google.com/books/edition/Real_Time_3D_Graphics_with_WebGL_2/Qel1DwAAQBAJ?hl=en&gbpv=1&printsec=frontcover">Google Books sample</a>).
</td></tr>
<tr><td>
<a href="https://www.amazon.com/gp/product/B07HXYJ9VT?tag=realtimerenderin">
<img src="AmazonImages/418z2v-8xPL._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/gp/product/B07HXYJ9VT?tag=realtimerenderin">OpenGL 4 Shading Language Cookbook - Third Edition</a></b>, by David Wolff, Packt Publishing, September 2018 (<a href="https://www.packtpub.com/en-us/product/opengl-4-shading-language-cookbook-9781789342253">Table of Contents and sample chapter</a>, <a href="https://www.google.com/books/edition/OpenGL_4_0_Shading_Language_Cookbook/Zd2fwnMDvP0C?hl=en&gbpv=1&printsec=frontcover">Google Books sample from 2nd edition</a>, <a href="https://github.com/PacktPublishing/OpenGL-4-Shading-Language-Cookbook-Third-Edition">Githubbed code</a>, <a href="https://www.gamasutra.com/blogs/AbhishekDey/20111115/8899/Book_Review_OpenGL_40_Shading_Language_Cookbook.php">Gamasutra review of First Edition</a>). This one's been recommended to me, has a reasonable Gamasutra review, is in its second edition, and has good ratings. Giving it a skim, it looked worthwhile.
</td></tr>
<tr><td>
<a href="https://www.amazon.com/gp/product/1138035459?tag=realtimerenderin"><img src="AmazonImages/41aTAgsh8YL._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/gp/product/1138035459?tag=realtimerenderin">Game Engine Architecture, Third Edition</a></b>, by Jason Gregory, AK Peters/CRC Press, August 2018 (<a href="https://www.gameenginebook.com/">Book's extensive website</a>, <a href="https://books.google.com/books?id=1g1mDwAAQBAJ&printsec=frontcover">Google Books sample</a>, <a href="https://www.routledge.com/Game-Engine-Architecture-Third-Edition/Gregory/p/book/9781138035454">publisher's page</a>).
</td></tr>
<tr><td>
<a href="https://www.amazon.com/gp/product/0815365500?tag=realtimerenderin">
<img src="AmazonImages/41-HKl4GuZL._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<a href="https://www.amazon.com/gp/product/0815382472?tag=realtimerenderin">
<img src="AmazonImages/41VKxlH6yaL._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<a href="https://www.amazon.com/gp/product/1138568244?tag=realtimerenderin">
<img src="AmazonImages/41amRpqshhL._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<a href="https://www.amazon.com/gp/product/1138484393?tag=realtimerenderin">
<img src="AmazonImages/41Ob1vedTWL._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<a href="https://www.amazon.com/gp/product/0815352816?tag=realtimerenderin">
<img src="AmazonImages/417GljOzERL._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/gp/product/0815365500?tag=realtimerenderin">GPU Pro 360</a></b> series, edited by Wolfgang Engel, CRC Press, July 2018 through January 2019. Articles from GPU Pro<sup>1-7</sup>, grouped by area of interest. Set includes <b>Guides to <a href="https://www.amazon.com/GPU-Pro-360-Guide-Rendering/dp/0815365500?tag=realtimerenderin">Rendering</a></b> (<a href="https://www.routledge.com/GPU-Pro-360-Guide-to-Rendering/Engel/p/book/9780815365501">Table of Contents</a>, though it may be wrong),
<b><a href="https://www.amazon.com/gp/product/0815382472?tag=realtimerenderin">Shadows</a></b> (<a href="https://www.routledge.com/GPU-Pro-360-Guide-to-Shadows/Engel/p/book/9780815382478">Table of Contents</a>),
<b><a href="https://www.amazon.com/gp/product/1138568244?tag=realtimerenderin">Geometry Manipulation</a></b> (<a href="https://www.routledge.com/GPU-Pro-360-Guide-to-Geometry-Manipulation/Engel/p/book/9781138568242">Table of Contents</a>),
<b><a href="https://www.amazon.com/gp/product/1138484393?tag=realtimerenderin">GPGPU</a></b> (<a href="https://www.routledge.com/GPU-PRO-360-Guide-to-GPGPU/Engel/p/book/9781138484399">Table of Contents</a>),
<b><a href="https://www.amazon.com/gp/product/0815352816?tag=realtimerenderin">Mobile Devices</a></b> (<a href="https://www.routledge.com/GPU-Pro-360-Guide-to-Mobile-Devices/Engel/p/book/9780815352815">Table of Contents</a>),
<b><a href="https://www.amazon.com/gp/product/0815390750?tag=realtimerenderin">3D Engine Design</a></b> (<a href="https://www.routledge.com/GPU-Pro-360-Guide-to-3D-Engine-Design/Engel/p/book/9780815390756">Table of Contents</a>),
<b><a href="https://www.amazon.com/gp/product/0815385528?tag=realtimerenderin">Lighting</a></b> (<a href="https://www.routledge.com/GPU-Pro-360-Guide-to-Lighting/Engel/p/book/9780815385523">Table of Contents</a>),
and <b><a href="https://www.amazon.com/gp/product/1138484326?tag=realtimerenderin">Image Space</a></b> (<a href="https://www.routledge.com/GPU-Pro-360-Guide-to-Image-Space/Engel/p/book/9781138484320">Table of Contents</a>).
</td></tr>
<tr><td>
<a href="https://www.amazon.com/Real-Time-Rendering-Fourth-Tomas-Akenine-M%C3%B6ller/dp/1138627003?tag=realtimerenderin"><img src="AmazonImages/51iw1UWKNhL._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/Real-Time-Rendering-Fourth-Tomas-Akenine-M%C3%B6ller/dp/1138627003?tag=realtimerenderin">Real-Time Rendering, Fourth Edition</a></b>, by Tomas Akenine-Möller, Eric Haines, Naty Hoffman, Angelo Pesce, Michał Iwanicki, and Sébastien Hillaire, August 2018 (<a href="https://www.realtimerendering.com">book website</a> includes free chapters and appendices, <a href="https://books.google.com/books?id=0g1mDwAAQBAJ&printsec=frontcover">Google Books sample</a>).
</td></tr>
<tr><td>
<a href="https://www.amazon.com/Metal-Programming-Guide-Tutorial-Reference/dp/0134668944?tag=realtimerenderin"><img src="AmazonImages/41X0cKYEUnL._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/Metal-Programming-Guide-Tutorial-Reference/dp/0134668944?tag=realtimerenderin">Metal Programming Guide</a></b>, by Janie Clayton, Addison-Wesley Professional, Jan. 2018 (<a href="https://www.pearson.com/en-us/subject-catalog/p/metal-programming-guide-tutorial-and-reference-via-swift/P200000009435?view=educator">publisher's page</a>, <a href="https://books.google.com/books?id=A55BDwAAQBAJ&printsec=frontcover">Google Books sample</a>).
</td></tr>
<tr><td>
<a href="https://www.amazon.com/Introduction-Computer-Graphics-Vulkan-API/dp/1548616176?tag=realtimerenderin"><img src="AmazonImages/515VnOc1YxL._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/Introduction-Computer-Graphics-Vulkan-API/dp/1548616176?tag=realtimerenderin">Introduction to Computer Graphics and the Vulkan API</a></b>, by Kenwright, CreateSpace Independent Publishing Platform, July 2017 (<a href="https://xbdev.net/vulkan/graphics/draftsample.pdf">Draft sample</a>).
</td></tr>
<tr><td>
<a href="https://www.amazon.com/gp/product/1498706940?tag=realtimerenderin">
<img src="AmazonImages/51AVlkuECjL._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/gp/product/1498706940?tag=realtimerenderin">Advanced High Dynamic Range Imaging, Second Edition</a></b>, by Francesco Banterle, Alessandro Artusi, Kurt Debattista, and Alan Chalmers, AK Peters/CRC Press, July 2017 (<a href="https://www.routledge.com/Advanced-High-Dynamic-Range-Imaging/Banterle-Artusi-Debattista-Chalmers/p/book/9781498706940">publisher's page</a>, <a href="https://books.google.com/books?id=6JguDwAAQBAJ&printsec=frontcover">Google Books sample</a>).
</td></tr>
<tr><td>
<a href="https://www.amazon.com/dp/B071JKN1XH?tag=realtimerenderin">
<img src="AmazonImages/WebGLGems.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/dp/B071JKN1XH?tag=realtimerenderin">WebGL Gems</a></b>, by Greg Sidelnikov, Learning Curve, June 2017.
</td></tr>
<tr><td>
<a href="https://www.amazon.com/GPU-Zen-Advanced-Rendering-Techniques-ebook/dp/B0711SD1DW?tag=realtimerenderin"><img src="AmazonImages/gpu_zen.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/GPU-Zen-Advanced-Rendering-Techniques-ebook/dp/B0711SD1DW?tag=realtimerenderin">GPU Zen</a></b>, edited by Wolfgang Engel, Black Cat Publishing, May 2017 (<a href="https://github.com/wolfgangfengel/GPUZen">Source code</a>).
</td></tr>
<tr><td>
<a href="https://www.amazon.com/Vulkan-Cookbook-Pawel-Lapinski/dp/1786468158?tag=realtimerenderin"><img src="AmazonImages/41PcwZ6tG2L._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/Vulkan-Cookbook-Pawel-Lapinski/dp/1786468158?tag=realtimerenderin">Vulkan Cookbook</a></b>, by Pawel Lapinski, Packt Publishing, April 2017 (<a href="https://www.packtpub.com/en-us/product/vulkan-cookbook-9781786468154">publisher's page</a>, <a href="https://github.com/PacktPublishing/Vulkan-Cookbook">source code</a>, <a href="https://books.google.com/books?id=F0IwDwAAQBAJ&printsec=frontcover">Google Books sample</a>).
</td></tr>
<tr><td>
<a href="https://www.amazon.com/Game-Physics-Cookbook-Gabor-Szauer/dp/1787123669?tag=realtimerenderin"><img src="AmazonImages/41%2BPApRYHRL._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/Game-Physics-Cookbook-Gabor-Szauer/dp/1787123669?tag=realtimerenderin">Game Physics Cookbook</a></b>, by Gabor Szauer, Packt Publishing, March 2017 (<a href="https://github.com/gszauer/GamePhysicsCookbook">Github code</a>, <a href="https://books.google.com/books?id=frkrDwAAQBAJ&printsec=frontcover">Google Books sample</a>).
</td></tr>
<tr><td>
<a href="https://www.amazon.com/Learning-Vulkan-Parminder-Singh/dp/1786469804?tag=realtimerenderin"><img src="AmazonImages/41-dAcX+WVL._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/Learning-Vulkan-Parminder-Singh/dp/1786469804?tag=realtimerenderin">Learning Vulkan</a></b>, by Parminder Singh, Packt Publishing, January 2017 (<a href="https://www.packtpub.com/en-us/product/learning-vulkan-9781786469809">publisher's page</a>, <a href="https://books.google.com/books?id=eczcDgAAQBAJ&printsec=frontcover">Google Books sample</a>).
</td></tr>
<tr><td>
<a href="https://immersivemath.com/ila/index.html">
<img src="AmazonImages/ila_50.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<a href="https://immersivemath.com/ila/index.html"><img src="read_for_free_sm.png" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://immersivemath.com/ila/index.html">Immersive Linear Algebra</a></b>,
by J. Ström, K. Åström, and T. Akenine-Möller, 2015-2019.
</td></tr>
<tr><td>
<a href="https://www.amazon.com/Programming-Massively-Parallel-Processors-Hands/dp/0128119861?tag=realtimerenderin"><img src="AmazonImages/51eBOpA9WiL._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/Programming-Massively-Parallel-Processors-Hands/dp/0128119861?tag=realtimerenderin">Programming Massively Parallel Processors, Third Edition: A Hands-on Approach</a></b>, by David B. Kirk and Wen-mei W. Hwu, December 2016 (<a href="https://books.google.com/books?id=wcS_DAAAQBAJ&printsec=frontcover">Google Books sample</a>).
</td></tr>
<tr><td>
<a href="https://www.amazon.com/Handbook-Digital-Image-Synthesis-Foundations/dp/1498774245?tag=realtimerenderin"><img src="AmazonImages/51ZqhB2CpDL._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/Handbook-Digital-Image-Synthesis-Foundations/dp/1498774245?tag=realtimerenderin">Handbook of Digital Image Synthesis: Scientific Foundations of Rendering</a></b>, by Vincent Pegoraro, AK Peters/CRC Press, December 2016 (<a href="https://books.google.com/books?id=GlOzDQAAQBAJ&printsec=frontcover">Google Books sample</a>, <a href="https://web.archive.org/web/20200407080906/http://www.cs.utah.edu/~vpegorar/research/2016_HODIS/index.shtml">author's site (archived)</a>, <a href="https://www.routledge.com/Handbook-of-Digital-Image-Synthesis-Scientific-Foundations-of-Rendering/Pegoraro/p/book/9781498774246">publisher's page</a>).
</td></tr>
<tr><td>
<a href="https://www.amazon.com/Vulkan-Programming-Guide-Official-Learning/dp/0134464540?tag=realtimerenderin">
<img src="AmazonImages/512RXQxuhcL._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/Vulkan-Programming-Guide-Official-Learning/dp/0134464540?tag=realtimerenderin">Vulkan Programming Guide: The Official Guide to Learning Vulkan (OpenGL)</a></b>, by John M. Kessenich and Graham Sellers, Addison-Wesley Professional, November 2016 (<a href="https://gameenginegems.com/geg3.php">more information</a>).
</td></tr>
<tr><td>
<a href="https://www.amazon.com/dp/0985811749/?tag=realtimerenderin">
<img src="AmazonImages/FoGED1.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/dp/0985811749/?tag=realtimerenderin">Foundations of Game Engine Development, Volume 1: Mathematics</a></b>, by Eric Lengyel, September 2016 (<a href="https://foundationsofgameenginedev.com/">more information</a>).
</td></tr>
<tr><td>
<a href="https://www.amazon.com/gp/product/B01MYFFU8G?tag=realtimerenderin">
<img src="AmazonImages/51K8sQbXkGL._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/gp/product/B01MYFFU8G?tag=realtimerenderin">Image Content Retargeting: Maintaining Color, Tone, and Spatial Consistency</a></b>,
by Alessandro Artusi, Francesco Banterle, Tunç Ozan Aydın, Daniele Panozzo, Olga Sorkine-Hornung, AK Peters/CRC Press, August 2016 (<a href="https://www.routledge.com/Image-Content-Retargeting-Maintaining-Color-Tone-and-Spatial-Consistency/Artusi-Banterle-Aydin-Panozzo-Sorkine-Hornung/p/book/9781482249910">publisher's page</a>, <a href="https://books.google.com/books?id=7pqKDQAAQBAJ&printsec=frontcover">Google Books sample</a>).
</td></tr>
<tr><td>
<a href="https://www.amazon.com/gp/product/0321883578?tag=realtimerenderin"><img src="AmazonImages/510DVJ7dIiL._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/gp/product/0321883578?tag=realtimerenderin">Augmented Reality: Principles and Practice</a></b>, by Dieter Schmalstieg and Tobias Höllerer, Addison-Wesley, June 2016 (<a href="https://arbook.icg.tugraz.at/Schmalstieg-2016-AW">chapter sample and index</a>, <a href="https://arbook.icg.tugraz.at/">author site</a>).
</td></tr>
<tr><td>
<a href="https://www.amazon.com/dp/1498755658?tag=realtimerenderin">
<img src="AmazonImages/51kOKU9yDQL._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/dp/1498755658?tag=realtimerenderin">Game Engine Gems 3</a></b>, edited by Eric Lengyel, AK Peters/CRC Press, April 2016 (<a href="https://gameenginegems.com/geg3.php">more information</a>).
</td></tr>
<tr><td>
<a href="https://www.amazon.com/GPU-Pro-Advanced-Rendering-Techniques/dp/149874253X?tag=realtimerenderin"><img src="AmazonImages/51sWnma3MXL._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/GPU-Pro-Advanced-Rendering-Techniques/dp/149874253X?tag=realtimerenderin">GPU Pro<sup>7</sup></a></b>, edited by Wolfgang Engel, CRC Press, March 2016 (<a href="https://www.routledge.com/GPU-Pro-7-Advanced-Rendering-Techniques/Engel/p/book/9781498742535">Book's website</a>, <a href="https://gpupro.blogspot.com/">blog</a>, <a href="https://books.google.com/books?id=rA7YCwAAQBAJ&printsec=frontcover">Google Books sample</a>, <a href="https://github.com/wolfgangfengel">source code</a>).
</td></tr>
<tr><td>
<a href="https://www.amazon.com/Ray-Tracing-Weekend-Minibooks-Book-ebook/dp/B01B5AODD8?tag=realtimerenderin"><img src="AmazonImages/414m4ETx0AL._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="55" width="14" align=left border=0>
<a href="https://www.realtimerendering.com/raytracing/Ray%20Tracing%20in%20a%20Weekend.pdf"><img src="download_for_free_sm.png" alt="download for free" align=left border=0></a>
<img src="spacer.gif" alt="" height="55" width="12" align=left border=0>
<b><a href="https://www.amazon.com/Ray-Tracing-Weekend-Minibooks-Book-ebook/dp/B01B5AODD8?tag=realtimerenderin">Ray Tracing in One Weekend</a></b>, by Peter Shirley, January 2016 (<a href="https://github.com/raytracing/InOneWeekend/releases/">Code</a>, <a href="https://in1weekend.blogspot.com/2016/01/ray-tracing-in-one-weekend.html">blog</a>), <a href="https://www.realtimerendering.com/raytracing/Ray%20Tracing%20in%20a%20Weekend.pdf"><b><i>download for free</i></b></a>, <a href="https://raytracing.github.io/books/RayTracingInOneWeekend.html"><b><i>read (corrected version) for free</i></b></a>.
</td></tr>
<tr><td>
<a href="https://www.amazon.com/Ray-Tracing-Next-Week-Minibooks-ebook/dp/B01CO7PQ8C?tag=realtimerenderin"><img src="AmazonImages/41T83nzgx6L._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="55" width="14" align=left border=0>
<a href="https://www.realtimerendering.com/raytracing/Ray%20Tracing_%20The%20Next%20Week.pdf"><img src="download_for_free_sm.png" alt="download for free" align=left border=0></a>
<img src="spacer.gif" alt="" height="55" width="12" align=left border=0>
<b><a href="https://www.amazon.com/Ray-Tracing-Next-Week-Minibooks-ebook/dp/B01CO7PQ8C?tag=realtimerenderin">Ray Tracing: the Next Week</a></b>, by Peter Shirley, March 2016 (<a href="https://github.com/raytracing/TheNextWeek/releases/">Code</a>, <a href="https://in1weekend.blogspot.com/2016/01/ray-tracing-second-weekend.html">blog</a>), <a href="https://www.realtimerendering.com/raytracing/Ray%20Tracing_%20The%20Next%20Week.pdf"><b><i>download for free</i></b></a>, <a href="https://raytracing.github.io/books/RayTracingTheNextWeek.html"><b><i>read (corrected version) for free</i></b></a>.
</td></tr>
<tr><td>
<a href="https://www.amazon.com/Ray-Tracing-Next-Week-Minibooks-ebook/dp/B01CO7PQ8C?tag=realtimerenderin"><img src="AmazonImages/41a5yvVUxrL._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="55" width="14" align=left border=0>
<a href="https://www.realtimerendering.com/raytracing/Ray%20Tracing_%20the%20Rest%20of%20Your%20Life.pdf"><img src="download_for_free_sm.png" alt="download for free" align=left border=0></a>
<img src="spacer.gif" alt="" height="55" width="12" align=left border=0>
<b><a href="https://www.amazon.com/Ray-Tracing-Rest-Your-Minibooks-ebook/dp/B01DN58P8C?tag=realtimerenderin">Ray Tracing: The Rest Of Your Life</a></b>, by Peter Shirley, March 2016 (<a href="https://github.com/RayTracing/TheRestOfYourLife/releases">Code</a>, <a href="https://in1weekend.blogspot.com/2016/03/ray-tracing-rest-of-your-life.html">blog</a>), <a href="https://www.realtimerendering.com/raytracing/Ray%20Tracing_%20the%20Rest%20of%20Your%20Life.pdf"><b><i>download for free</i></b></a>, <a href="https://raytracing.github.io/books/RayTracingTheRestOfYourLife.html"><b><i>read (corrected version) for free</i></b></a>.
</td></tr>
<tr><td>
<a href="https://www.amazon.com/exec/obidos/ASIN/1482250926?tag=realtimerenderin"><img src="AmazonImages/51Hd5C34gtL._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/exec/obidos/ASIN/1482250926?tag=realtimerenderin">Essential Mathematics for Games and Interactive Applications, Third Edition</a></b>, by James M. Van Verth and Lars M. Bishop, AK Peters/CRC Press, August 2015 (<a href="https://www.essentialmath.com/book.htm">Book's website</a>, <a href="https://books.google.com/books?id=_9OOCgAAQBAJ&pg=PA1">Google Books sample</a>).
</td></tr>
<tr><td>
<a href="https://www.amazon.com/GPU-Pro-Advanced-Rendering-Techniques/dp/1482264617?tag=realtimerenderin"><img src="AmazonImages/51TUe9Hi0LL._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/GPU-Pro-Advanced-Rendering-Techniques/dp/1482264617?tag=realtimerenderin">GPU Pro<sup>6</sup></a></b>, edited by Wolfgang Engel, CRC Press, July 2015 (<a href="https://www.routledge.com/GPU-Pro-6-Advanced-Rendering-Techniques/Engel/p/book/9781482264616">Book's website</a>, <a href="https://gpupro.blogspot.com/">blog</a>, <a href="https://books.google.com/books?id=30ZOCgAAQBAJ&printsec=frontcover">Google Books sample</a>, <a href="https://github.com/wolfgangfengel">source code</a>).
</td></tr>
<tr><td>
<a href="https://www.amazon.com/WebGL-Insights-Patrick-Cozzi/dp/1498716075?tag=realtimerenderin"><img src="AmazonImages/51FPoi7JfuL._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="55" width="14" align=left border=0>
<a href="https://github.com/WebGLInsights/WebGLInsights.github.io/releases/download/v1.0/WebGL.Insights.-.Patrick.Cozzi.pdf"><img src="download_for_free_sm.png" alt="download for free" align=left border=0></a>
<img src="spacer.gif" alt="" height="55" width="12" align=left border=0>
<b><a href="https://www.amazon.com/WebGL-Insights-Patrick-Cozzi/dp/1498716075?tag=realtimerenderin">WebGL Insights</a></b>, edited by Patrick Cozzi, CRC Press, July 2015 (<a href="https://webglinsights.blogspot.com/">blog</a>), <a href="https://github.com/WebGLInsights/WebGLInsights.github.io/releases/download/v1.0/WebGL.Insights.-.Patrick.Cozzi.pdf"><b><i>download for free</i></b></a>.
</td></tr>
<tr><td>
<a href="https://www.amazon.com/OpenGL-Superbible-Comprehensive-Tutorial-Reference/dp/0672337479?tag=realtimerenderin">
<img src="AmazonImages/51Rev-eVu2L._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/OpenGL-Superbible-Comprehensive-Tutorial-Reference/dp/0672337479?tag=realtimerenderin">OpenGL
SuperBible: Comprehensive Tutorial and Reference, Seventh Edition</a></b>, by Graham Sellers, Richard S. Wright Jr., Nicholas Haemel, Addison-Wesley, July 2015 (<a href="https://www.openglsuperbible.com/">source code and blog</a>, <a href="https://www.google.com/books/edition/OpenGL_Superbible/Nwo0CgAAQBAJ?hl=en&gbpv=1&printsec=frontcover">Google Books sample</a>).
</td></tr>
<tr><td>
<a href="https://www.amazon.com/Learning-Three-js-JavaScript-Library-Second/dp/1784392219?tag=realtimerenderin">
<img src="AmazonImages/51GCWHDGk7L._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/Learning-Three-js-JavaScript-Library-Second/dp/1784392219?tag=realtimerenderin">Learning Three.js: The JavaScript 3D Library for WebGL - Second Edition</a></b>, by Jos Dirksen, Packt Publishing, March 2015 (<a href="https://www.packtpub.com/en-us/product/learning-threejs-the-javascript-3d-library-for-webgl-9781784392215">Table of Contents and samples</a>, <a href="https://www.smartjava.org/content/all-109-examples-my-book-threejs-threejs-version-r63/">runnable code</a>, <a href="https://github.com/josdirksen/learning-threejs">Github</a>, <a href="https://books.google.com/books?id=Xja9BwAAQBAJ&printsec=frontcover">Google Books sample</a>).
</td></tr>
<tr><td>
<a href="https://www.amazon.com/gp/product/1783981180?tag=realtimerenderin"><img src="AmazonImages/41YcYhTRtfL._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/gp/product/1783981180?tag=realtimerenderin">Three.js Cookbook</a></b>, by Jos Dirksen, Packt Publishing, January 2015 (<a href="https://www.packtpub.com/en-us/product/threejs-cookbook-9781783981182">Table of Contents and samples</a>, <a href="https://www.smartjava.org/content/all-80-recipes-threejs-cookbook-online/">runnable code</a>, <a href="https://github.com/josdirksen/threejs-cookbook">Github</a>, <a href="https://www.google.com/books/edition/Three_js_Cookbook/GvpzBgAAQBAJ?hl=en&gbpv=1&printsec=frontcover">Google Books sample</a>).
</td></tr>
<tr><td>
<a href="https://www.amazon.com/Introduction-Computer-Graphics-Practical-Geometric/dp/1439852790?tag=realtimerenderin"><img src="AmazonImages/5136cFDbJZL._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/Introduction-Computer-Graphics-Practical-Geometric/dp/1439852790?tag=realtimerenderin">Introduction to Computer Graphics: A Practical Learning Approach</a></b>, by Fabio Ganovelli, Massimiliano Corsini, Sumanta Pattanaik, and Marco Di Benedetto, AK Peters/CRC Press, October 2014 (<a href="https://books.google.com/books?id=yidZBAAAQBAJ&printsec=frontcover">Google Books sample</a>, <a href="https://web.archive.org/web/20220625010206/http://www.envymycarbook.com/">authors' website</a>, <a href="https://www.routledge.com/Introduction-to-Computer-Graphics-A-Practical-Learning-Approach/Ganovelli-Corsini-Pattanaik-DiBenedetto/p/book/9781439852798">publisher's page</a>).
</td></tr>
<tr><td>
<a href="https://www.amazon.com/GPGPU-Programming-Games-Science-Eberly/dp/1466595353?tag=realtimerenderin"><img src="AmazonImages/51G%2B4J3NltL._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/GPGPU-Programming-Games-Science-Eberly/dp/1466595353?tag=realtimerenderin">GPGPU Programming for Games and Science</a></b>, by David H. Eberly, AK Peters/CRC Press, August 2014 (<a href="https://geometrictools.com/">book's code website</a>, <a href="https://www.routledge.com/GPGPU-Programming-for-Games-and-Science/Eberly/p/book/9781466595354">publisher's page</a>, <a href="https://books.google.com/books?id=yphBBAAAQBAJ&printsec=frontcover">Google Books sample</a>).
</td></tr>
<tr><td>
<a href="https://www.amazon.com/Computer-Vision-Metrics-Taxonomy-Analysis-ebook/dp/B00K6N4JS0?tag=realtimerenderin">
<img src="AmazonImages/51LqawQ2lJL._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<a href="https://www.realtimerendering.com/blog/free-new-computer-vision-book/"><img src="download_for_free_sm.png" alt="download for free" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/Computer-Vision-Metrics-Taxonomy-Analysis-ebook/dp/B00K6N4JS0?tag=realtimerenderin">Computer Vision Metrics: Survey, Taxonomy, and Analysis</a></b>,
by Scott Krig, Apress, July 2014 (<a href="https://link.springer.com/book/10.1007/978-1-4302-5930-5">Table of Contents and <b><i>free download</i></b></a>; see <a href="https://www.realtimerendering.com/blog/free-new-computer-vision-book/">our blog</a> for options).
</td></tr>
<tr><td>
<a href="https://www.amazon.com/Multithreading-Visual-Effects-Martin-Watt/dp/1482243563?tag=realtimerenderin">
<img src="AmazonImages/51FSwwrBpiL._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/Multithreading-Visual-Effects-Martin-Watt/dp/1482243563?tag=realtimerenderin">Multithreading for Visual Effects</a></b>,
by Martin Watt, Erwin Coumans, George ElKoura, Ronald Henderson, Manuel Kraemer, Jeff Lait, and James Reinders, CRC Press, July 2014 (<a href="https://www.multithreadingandvfx.org/">SIGGRAPH 2013 course notes and book site</a>, <a href="https://www.routledge.com/Multithreading-for-Visual-Effects/Watt-Coumans-ElKoura-Henderson-Kraemer-Lait-Reinders/p/book/9781482243567">Google Books sample</a>).
</td></tr>
<tr><td>
<a href="https://www.amazon.com/Three-js-Essentials-Jos-Dirksen/dp/1783980869?tag=realtimerenderin">
<img src="AmazonImages/51A3QOnv8VL._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/Three-js-Essentials-Jos-Dirksen/dp/1783980869?tag=realtimerenderin">Three.js Essentials</a></b>, by Jos Dirksen, Packt Publishing, July 2014 (<a href="https://github.com/josdirksen/essential-threejs">Github</a>, <a href="https://books.google.com/books?id=3mT4AwAAQBAJ&newbks=0&printsec=frontcover&hl=en&source=newbks_fb">Google Books sample</a>).
</td></tr>
<tr><td>
<a href="https://www.amazon.com/GPU-Pro-Advanced-Rendering-Techniques/dp/1482208636?tag=realtimerenderin">
<img src="AmazonImages/51JZcQDYvSL._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/GPU-Pro-Advanced-Rendering-Techniques/dp/1482208636?tag=realtimerenderin">GPU Pro<sup>5</sup></a></b>, edited by Wolfgang Engel et alia, AK Peters/CRC Press, June 2014 (<a href="https://www.routledge.com/GPU-Pro-5-Advanced-Rendering-Techniques/Engel/p/book/9781482208634">Table of Contents and source code</a>, <a href="https://gpupro.blogspot.com/">some extended abstracts</a>).
</td></tr>
<tr><td>
<a href="https://www.amazon.com/gp/product/B00LAMQYF2/?tag=realtimerenderin"><img src="AmazonImages/antons_opengl4.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/gp/product/B00LAMQYF2/?tag=realtimerenderin">Anton's OpenGL 4 Tutorials</a></b>, by Anton Gerdelan, June 2014 (<a href="https://antongerdelan.net/opengl/book_info.html">book website</a>, <a href="https://antongerdelan.net/opengl/">free tutorials</a>, <a href="https://github.com/capnramses/antons_opengl_tutorials_book">source code</a>).
</td></tr>
<tr><td>
<a href="https://www.amazon.com/Real-Time-Rendering-DirectX-HLSL-Programming/dp/0321962729?tag=realtimerenderin">
<img src="AmazonImages/51j8EklXAZL._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/Real-Time-Rendering-DirectX-HLSL-Programming/dp/0321962729?tag=realtimerenderin">Real-Time 3D Rendering with DirectX and HLSL: A Practical Guide to Graphics Programming</a></b>, by Paul Varcholik, Addison-Wesley, May 2014. (<a href="https://www.informit.com/store/real-time-3d-rendering-with-directx-and-hlsl-a-practical-9780321962720">online Table of Contents and sample chapter</a>, <a href="https://ptgmedia.pearsoncmg.com/images/9780321962720/samplepages/0321962729.pdf">PDF version of same</a>, <a href="https://web.archive.org/web/20210426134237/http://www.varcholik.org/wpress/">forum and errata</a> (archived), dependency on <a href="https://bitbucket.org/pvarcholik/real-time-3d-rendering-with-directx-and-hlsl/src/master/">FX Composer and Visual Studio</a>, <a href="https://www.google.com/books/edition/Real_Time_3D_Rendering_with_DirectX_and/GY-AAwAAQBAJ?hl=en&gbpv=1&printsec=frontcover">Google Books sample</a>).
</td></tr>
<tr><td>
<a href="https://www.amazon.com/Interactive-Computer-Graphics-WebGL-Edition/dp/0133574849?tag=realtimerenderin"><img src="AmazonImages/51oD%2BbLq1mL._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/Interactive-Computer-Graphics-WebGL-Edition/dp/0133574849?tag=realtimerenderin">Interactive Computer Graphics with WebGL (Seventh Edition)</a></b>, by Edward Angel and Dave Shreiner, Addison-Wesley, March 2014 (<a href="https://www.pearson.com/en-us/subject-catalog/p/interactive-computer-graphics-a-top-down-approach-with-webgl/P200000003538/9780133574845">more information</a>, <a href="https://www.cs.unm.edu/~angel/BOOK/INTERACTIVE_COMPUTER_GRAPHICS/SEVENTH_EDITION/">figures and source code</a>).
</td></tr>
<tr><td>
<a href="https://www.amazon.com/OpenGL-3-0-Programming-Guide-2nd/dp/0321933885?tag=realtimerenderin">
<img src="AmazonImages/51A16pJeSFL._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/OpenGL-3-0-Programming-Guide-2nd/dp/0321933885?tag=realtimerenderin">OpenGL ES 3.0 Programming Guide, 2nd Edition</a></b>, by Dan Ginsburg, Budirijanto Purnomo, Dave Shreiner, Aaftab Munshi, Addison-Wesley, March 2014 (<a href="https://opengles-book.com/">book website</a>, <a href="https://www.google.com/books/edition/OpenGL_ES_3_0_Programming_Guide/7qT0AgAAQBAJ?hl=en&gbpv=1&printsec=frontcover">Google Books sample</a>).
</td></tr>
<tr><td>
<a href="https://www.amazon.com/Direct3D-Rendering-Cookbook-Justin-Stenning/dp/1849697108?tag=realtimerenderin">
<img src="AmazonImages/41WwY62EbjL._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/Direct3D-Rendering-Cookbook-Justin-Stenning/dp/1849697108?tag=realtimerenderin">Direct3D Rendering Cookbook</a></b>, by Justin Stenning, Packt Publishing, January 2014. (<a href="https://www.packtpub.com/en-us/product/direct3d-rendering-cookbook-9781849697101">online Table of Contents and sample chapter</a>, <a href="https://www.google.com/books/edition/Direct3D_Rendering_Cookbook/FDShAgAAQBAJ?hl=en&gbpv=1&printsec=frontcover">Google Books sample</a>).
</td></tr>
<tr><td>
<a href="https://www.amazon.com/Practical-Algorithms-Computer-Graphics-Edition/dp/1466582529?tag=realtimerenderin"><img src="AmazonImages/51C8atIuYKL._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/Practical-Algorithms-Computer-Graphics-Edition/dp/1466582529?tag=realtimerenderin">Practical Algorithms for 3D Computer Graphics, Second Edition</a></b>, by R. Stuart Ferguson, AK Peters/CRC Press, December 2013, <a href="https://www.routledge.com/Practical-Algorithms-for-3D-Computer-Graphics/Ferguson/p/book/9781466582521">Google Books sample</a>, related <a href="http://openfx.org/index.html">OpenFX site</a>).
</td></tr>
<tr><td>
<a href="https://www.amazon.com/Computer-Graphics-Programmable-Geometric-Animation/dp/1439867305?tag=realtimerenderin"><img src="AmazonImages/51qni3lQFEL._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/Computer-Graphics-Programmable-Geometric-Animation/dp/1439867305?tag=realtimerenderin">Computer Graphics: From Pixels to Programmable Graphics Hardware</a></b>, by Alexey Boreskov and Evgeniy Shikin, Chapman and Hall/CRC Press, October 2013 (<a href="https://www.routledge.com/Computer-Graphics-From-Pixels-to-Programmable-Graphics-Hardware/Boreskov-Shikin/p/book/9781439867303">Google Preview, Table of Contents, and code</a>).
</td></tr>
<tr><td>
<a href="https://www.amazon.com/History-Visual-Magic-Computers-Beautiful/dp/1447149319?tag=realtimerenderin"><img src="AmazonImages/41hhbPSZU8L._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/History-Visual-Magic-Computers-Beautiful/dp/1447149319?tag=realtimerenderin">The History of Visual Magic in Computers: How Beautiful Images are Made in CAD, 3D, VR and AR</a></b>, by Jon Peddie, Springer, October 2013 (<a href="https://www.google.com/books/edition/The_History_of_Visual_Magic_in_Computers/6a8_AAAAQBAJ?hl=en&gbpv=1&printsec=frontcover">Google Books sample</a>, <a href="https://link.springer.com/book/10.1007/978-1-4471-4932-3">Table of Contents</a>).
</td></tr>
<tr><td>
<a href="https://www.amazon.com/Learn-OpenGL-ES-Graphics-Development/dp/1430250534?tag=realtimerenderin">
<img src="AmazonImages/41%2Blo42XekL._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/Learn-OpenGL-ES-Graphics-Development/dp/1430250534?tag=realtimerenderin">Learn OpenGL ES For Mobile Game and Graphics Development</a></b>, by Prateek Mehta, Apress, August 2013 (<a href="https://link.springer.com/book/10.1007/978-1-4302-5054-8">Book's website, with code</a>, <a href="https://www.google.com/books/edition/Learn_OpenGL_ES/iaC9AAAAQBAJ?hl=en&gbpv=1&printsec=frontcover">Google Books sample</a>).
</td></tr>
<tr><td>
<a href="https://www.amazon.com/Computer-Graphics-Principles-Practice-3rd/dp/0321399528?tag=realtimerenderin">
<img src="AmazonImages/51vE73W%2B5mL._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/Computer-Graphics-Principles-Practice-3rd/dp/0321399528?tag=realtimerenderin">Computer Graphics: Principles and Practice, 3rd Edition</a></b>, by John F. Hughes, Andries van Dam, Morgan McGuire, David F. Sklar, James D. Foley, Steven K. Feiner, and Kurt Akeley, Addison-Wesley, July 2013 (<a href="https://cgpp.net/about.xml">Book's website, with samples and code</a>, <a href="https://ptgmedia.pearsoncmg.com/images/9780321399526/samplepages/0321399528.pdf">downloadable sample</a>, <a href="https://www.google.com/books/edition/Computer_Graphics/OVpsAQAAQBAJ?hl=en&gbpv=1&printsec=frontcover">Google Books sample</a>).
</td></tr>
<tr><td>
<a href="https://www.amazon.com/OpenGL-Android-Quick-Start-Pragmatic-Programmers/dp/1937785343?tag=realtimerenderin">
<img src="AmazonImages/51qrA3M8HuL._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/OpenGL-Android-Quick-Start-Pragmatic-Programmers/dp/1937785343?tag=realtimerenderin">OpenGL ES 2 for Android: A Quick-Start Guide</a></b>, by
Kevin Brothaler, Pragmatic Programmers, July 2013 (<a href="https://pragprog.com/titles/kbogla/opengl-es-2-for-android/">Table of Contents and samples</a>, <a href="https://www.learnopengles.com/tag/opengl-es-2-for-android-a-quick-start-guide/">blog</a>).
</td></tr>
<tr><td>
<a href="https://www.amazon.com/WebGL-Programming-Guide-Interactive-Graphics/dp/0321902920?tag=realtimerenderin">
<img src="AmazonImages/51UnpFD3duL._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/WebGL-Programming-Guide-Interactive-Graphics/dp/0321902920?tag=realtimerenderin">WebGL Programming Guide: Interactive 3D Graphics Programming with WebGL</a></b>, by Kouichi Matsuda, Rodger Lea, Addison-Wesley, July 2013 (<a href="https://sites.google.com/site/webglbook/">Book's website</a>, <a href="http://ptgmedia.pearsoncmg.com/images/9780321902924/samplepages/0321902920.pdf">PDF of Table of Contents and sample</a>, <a href="https://www.google.com/books/edition/WebGL_Programming_Guide/3c-jmWkLNwUC?hl=en&gbpv=1&printsec=frontcover">Google Books sample</a>).
</td></tr>
<tr><td>
<a href="https://www.amazon.com/CUDA-Handbook-Comprehensive-Guide-Programming/dp/0321809467?tag=realtimerenderin">
<img src="AmazonImages/51sETjdF%2BvL._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/CUDA-Handbook-Comprehensive-Guide-Programming/dp/0321809467?tag=realtimerenderin">The CUDA Handbook: A Comprehensive Guide to GPU Programming</a></b>, by Nicholas Wilt, Addison-Wesley, June 2013 (<a href="https://www.cudahandbook.com/">Book's website</a>, <a href=
"https://github.com/ArchaeaSoftware/cudahandbook">Github code</a>, <a href="https://www.google.com/books/edition/CUDA_Handbook/ynydqKP225EC?hl=en&gbpv=1&printsec=frontcover">Google Books sample</a>).
</td></tr>
<tr><td>
<a href="https://www.amazon.com/OpenGL-Development-Cookbook-Muhammad-Movania/dp/1849695040?tag=realtimerenderin">
<img src="AmazonImages/516WS6LYoJL._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/OpenGL-Development-Cookbook-Muhammad-Movania/dp/1849695040?tag=realtimerenderin">OpenGL Development Cookbook</a></b>, by Muhammad Mobeen Movania, Packt Publishing, June 2013 (<a href="https://www.packtpub.com/en-us/product/opengl-development-cookbook-9781849695046">free publisher sample</a>, <a href="https://www.google.com/books/edition/OpenGL_Development_Cookbook/BLQdaTmbd-QC?hl=en&gbpv=1&dq=OpenGL+Development+Cookbook&pg=PT12&printsec=frontcover">Google Books sample</a>, <a href="https://github.com/bagobor/opengl33_dev_cookbook_2013">code repository</a>).
</td></tr>
<tr><td>
<a href="https://www.amazon.com/GPU-Pro-Advanced-Rendering-Techniques/dp/1466567430?tag=realtimerenderin">
<img src="AmazonImages/514kGRqsEgL._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/GPU-Pro-Advanced-Rendering-Techniques/dp/1466567430?tag=realtimerenderin">GPU Pro<sup>4</sup></a></b>, edited by Wolfgang Engel et alia, AK Peters/CRC Press, April 2013 (<a href="https://www.routledge.com/GPU-Pro-4-Advanced-Rendering-Techniques/Engel/p/book/9781466567436">Table of Contents and source code</a>, <a href="https://gpupro.blogspot.com/">some abstracts</a> - scroll down, <a href="https://www.google.com/books/edition/GPU_Pro_4/TUuhiPLNmbAC?hl=en&gbpv=1&printsec=frontcover">Google Books sample</a>).
</td></tr>
<tr><td>
<a href="https://www.amazon.com/OpenGL-Programming-Guide-Official-Learning/dp/0321773039?tag=realtimerenderin"><img src="AmazonImages/51TuOaaTjpL._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/OpenGL-Programming-Guide-Official-Learning/dp/0321773039?tag=realtimerenderin">OpenGL Programming Guide: The Official Guide to Learning OpenGL, Versions 4.3, Eighth Edition</a></b>, by Dave Shreiner, Bill Licea-Kane, and Graham Sellers, Addison-Wesley, March 2013.
</td></tr>
<tr><td>
<a href="https://www.amazon.com/HDRI-Handbook-2-0-Dynamic-Photographers/dp/1937538168?tag=realtimerenderin"><img src="AmazonImages/51nZzqYn8GL._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/HDRI-Handbook-2-0-Dynamic-Photographers/dp/1937538168?tag=realtimerenderin">The HDRI Handbook 2.0: High Dynamic Range Imaging for Photographers and CG Artists</a></b>, by Christian Bloch, Rocky Nook, January 2013 (<a href="https://web.archive.org/web/20200214210159/http://www.hdrlabs.com/book/">Table of Contents and sample</a>).
</td></tr>
<tr><td>
<a href="https://web.archive.org/web/20150225192611/http://www.arcsynthesis.org/gltut/index.html"><img src="AmazonImages/NoCover50.jpg" alt="cover" align=left border=0></a>
<img src="spacer.gif" alt="" height="55" width="14" align=left border=0>
<a href="https://www.cse.chalmers.se/edu/year/2018/course/TDA361/LearningModern3DGraphicsProgramming.pdf"><img src="download_for_free_sm.png" alt="download for free" align=left border=0></a>
<img src="spacer.gif" alt="" height="55" width="12" align=left border=0>
<b><a href="https://web.archive.org/web/20150225192611/http://www.arcsynthesis.org/gltut/index.html">Learning Modern 3D Graphics Programming</a></b>, by Jason L. McKesson, 2012. <a href="https://www.cse.chalmers.se/edu/year/2018/course/TDA361/LearningModern3DGraphicsProgramming.pdf"><b><i>download for free</i></b></a>
</td></tr>
<tr><td>
<a href="https://www.amazon.com/Introduction-3D-Game-Programming-DirectX/dp/1936420228?tag=realtimerenderin">
<img src="AmazonImages/5144ipAT8YL._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/Introduction-3D-Game-Programming-DirectX/dp/1936420228?tag=realtimerenderin">Introduction to 3D Game Programming with DirectX 11</a></b>, by Frank Luna, February 2012 (<a href="https://www.d3dcoder.net/d3d11.htm">supplemental files</a>).
</td></tr>
<tr><td>
<a href="https://www.amazon.com/gp/product/1568817231?tag=realtimerenderin"><img src="AmazonImages/51DxuLGuJ6L._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="55" width="12" align=left border=0>
<a href="https://immersivemath.com/ila/index.html"><img src="read_for_free_sm.png" align=left border=0></a>
<img src="spacer.gif" alt="" height="55" width="12" align=left border=0>
<b><a href="https://www.amazon.com/gp/product/1568817231?tag=realtimerenderin">3D Math Primer for Graphics and Game Development, 2nd Edition</a></b>, by Fletcher Dunn and Ian Parberry, AK Peters, November 2011, <a href="https://gamemath.com/"><b><i>read for free</i></b></a>.
</td></tr>
<tr><td>
<a href="https://www.amazon.com/gp/product/0123859638?tag=realtimerenderin">
<img src="AmazonImages/51GfUvlUosL._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/gp/product/0123859638?tag=realtimerenderin">GPU Computing Gems: Jade Edition</a></b>, edited by Wen-mei W. Hwu, Morgan Kaufmann, August 2011 (<a href="https://www.google.com/books/edition/GPU_Computing_Gems_Jade_Edition/dNvantWW7HMC?hl=en&gbpv=1&printsec=frontcover">Google Books sample</a>).
</td></tr>
<tr><td>
<a href="https://www.amazon.com/Real-Time-Shadows-Michael-Wimmer/dp/1568814380?tag=realtimerenderin">
<img src="AmazonImages/51M4y3vSuJL._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/Real-Time-Shadows-Michael-Wimmer/dp/1568814380?tag=realtimerenderin">Real-Time Shadows</a></b>, by Michael Wimmer, Ulf Assarsson, Elmar Eisemann, and Michael Schwartz, AK Peters/CRC Press, July 2011 (<a href="https://www.routledge.com/Real-Time-Shadows/Eisemann-Schwarz-Assarsson-Wimmer/p/book/9780367659264">more information</a>, and <a href="https://www.cse.chalmers.se/~uffe/SIGGRAPH2012CourseNotes.pdf">course notes</a> and <a href="https://www.realtimeshadows.com/?q=node/15">later course notes</a> based on book). Based on their course notes <a href="https://resources.mpi-inf.mpg.de/ShadowCourse/">here</a> (and vastly expanded). (<a href="https://www.google.com/books/edition/Real_Time_Shadows/GzA-Hi0_680C?hl=en&gbpv=1&printsec=frontcover">Google Books sample</a>).
</td></tr>
<tr><td>
<a href="https://www.amazon.com/gp/product/1568817207?tag=realtimerenderin">
<img src="AmazonImages/516RcRwqLDL._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/gp/product/1568817207?tag=realtimerenderin">Practical Rendering and Computation with Direct3D 11</a></b>, by Jason Zink, Matt Pettineo, and Jack Hoxley, AK Peters/CRC Press, July 2011 (<a href="https://www.routledge.com/Practical-Rendering-and-Computation-with-Direct3D-11/Zink-Pettineo-Hoxley/p/book/9781568817200">more information</a>, <a href="https://www.google.com/books/edition/Practical_Rendering_and_Computation_with/lV_mrpFoP1UC?hl=en&gbpv=1&printsec=frontcover">Google Books sample</a>).
</td></tr>
<tr><td>
<a href="https://www.amazon.com/gp/product/1568817118?tag=realtimerenderin">
<img src="AmazonImages/517lJ9Y%2BWML._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/gp/product/1568817118?tag=realtimerenderin">3D Engine Design for Virtual Globes</a></b>, by Patrick Cozzi and Kevin Ring, AK Peters/CRC Press, June 2011 (<a href="https://virtualglobebook.com/">sample chapters</a> and <a href="https://sourceforge.net/projects/miniglobe/">related code</a>, <a href="https://www.google.com/books/edition/3D_Engine_Design_for_Virtual_Globes/x3ttSs_bd_4C?hl=en&gbpv=1&printsec=frontcover">Google Books sample</a>).
</td></tr>
<tr><td>
<a href="https://www.amazon.com/gp/product/1435458869?tag=realtimerenderin">
<img src="AmazonImages/61RuiTKsluL._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/gp/product/1435458869?tag=realtimerenderin">Mathematics for 3D Game Programming and Computer Graphics, Third Edition</a></b>, by Eric Lengyel, Course Technology PTR, June 2011 (<a href="https://www.mathfor3dgameprogramming.com/">more information</a>). <a href="https://books.google.com/books?id=cZ0LAAAAQBAJ&newbks=0&printsec=frontcover&hl=en&source=newbks_fb">Google Books sample</a>.
</td></tr>
<tr><td>
<a href="https://www.amazon.com/Game-Development-Tools-Marwan-Ansari/dp/1568814321?tag=realtimerenderin">
<img src="AmazonImages/51EbpQM-V6L._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/Game-Development-Tools-Marwan-Ansari/dp/1568814321?tag=realtimerenderin">Game Development Tools</a></b>, edited by Marwan Ansari, AK Peters/CRC Press, May 2011 (<a href="https://www.google.com/books/edition/Game_Development_Tools/HKZuaUdmovsC?hl=en&gbpv=1&printsec=frontcover">Google Books sample</a>).
</td></tr>
<tr><td>
<a href="https://www.amazon.com/Beginning-DirectX-11-Game-Programming/dp/1435458958?tag=realtimerenderin"><img src="AmazonImages/41bJ06UjS6L._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/Beginning-DirectX-11-Game-Programming/dp/1435458958?tag=realtimerenderin">Beginning DirectX 11 Game Programming</a></b>, by Allan Sherrod and Wendy Jones, Course Technology PTR, May 2011 (<a href="https://web.archive.org/web/20170503143308/http://www.delmarlearning.com/companions/content/1435458958/source_code/index.asp?isbn=1435458958">code</a>, <a href="https://books.google.com/books?id=7ZkLAAAAQBAJ&newbks=0&printsec=frontcover&hl=en&source=newbks_fb">Google Books sample</a>).
</td></tr>
<tr><td>
<a href="https://www.amazon.com/GPU-Pro-2-Wolfgang-Engel/dp/1568817185?tag=realtimerenderin">
<img src="AmazonImages/51kbqYWOFQL._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/GPU-Pro-2-Wolfgang-Engel/dp/1568817185?tag=realtimerenderin">GPU Pro<sup>2</sup></a></b>, edited by Wolfgang Engel, AK Peters, February 2011 (<a href="https://www.routledge.com/GPU-Pro-2/Engel/p/book/9781568817187">table of contents and source code</a>, <a href="https://gpupro2.blogspot.com/">more information</a>, <a href="https://www.google.com/books/edition/GPU_Pro_2/tixuGR3iDmUC?hl=en&gbpv=1&printsec=frontcover">Google Books sample</a>).
</td></tr>
<tr><td>
<a href="https://www.amazon.com/dp/1568814372?tag=realtimerenderin">
<img src="AmazonImages/51TD4cZWAAL._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/dp/1568814372?tag=realtimerenderin">Game Engine Gems 2</a></b>, edited by Eric Lengyel, AK Peters/CRC Press, February 2011 (<a href="https://www.gameenginegems.net/geg2.php">more information</a>, <a href="http://books.google.com/books?id=QbSf3XwfM7EC&printsec=frontcover">Google Books sample</a>).
</td></tr>
<tr><td>
<a href="https://www.amazon.com/gp/product/1439827370?tag=realtimerenderin"><img src="AmazonImages/51BluKlg0OL._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/gp/product/1439827370?tag=realtimerenderin">3D Graphics for Game Programming</a></b>, by JungHyun Han, Chapman and Hall/CRC Press, February 2011 (<a href="https://www.routledge.com/3D-Graphics-for-Game-Programming/Han/p/book/9781439827376">Table of Contents and errata</a>).
</td></tr>
<tr><td>
<a href="https://www.amazon.com/dp/0123849888?tag=realtimerenderin">
<img src="AmazonImages/51jY+FkYsPL._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/dp/0123849888?tag=realtimerenderin">GPU Computing Gems: Emerald Edition</a></b>, edited by Wen-mei W. Hwu, Morgan Kaufmann, February 2011 (<a href="https://www.google.com/books/edition/GPU_Computing_Gems_Emerald_Edition/lGMzmbUhpiAC?hl=en&gbpv=1&printsec=frontcover">Google Books sample</a>).
</td></tr>
<tr><td>
<a href="https://www.amazon.com/Computer-Graphics-Open-GL-4th/dp/0136053580?tag=realtimerenderin"><img src="AmazonImages/41Np%2B%2B%2BTthL._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/Computer-Graphics-Open-GL-4th/dp/0136053580?tag=realtimerenderin">Computer
Graphics with OpenGL, Fourth Edition</a></b>, by Donald Hearn, M. Pauline Baker, and Warren Carithers, Prentice
Hall, November 2010 (<a href="https://www.pearson.com/en-us/subject-catalog/p/computer-graphics-with-open-gl/P200000003262?view=educator">more info and resources</a>).
</td></tr>
<tr><td>
<a href="https://www.amazon.com/Computer-Vision-Algorithms-Applications-Science/dp/1848829345?tag=realtimerenderin">
<img src="AmazonImages/41TqhD8yCRL._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<a href="https://szeliski.org/Book/"><img src="download_for_free_sm.png" alt="download for free" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/Computer-Vision-Algorithms-Applications-Science/dp/1848829345?tag=realtimerenderin">Computer Vision: Algorithms and Applications</a></b>, by Richard Szeliski, Springer, November 2010 <a href="https://szeliski.org/Book/"><b><i>download for free</i></b></a>.
</td></tr>
<tr><td>
<a href="https://www.amazon.com/Geometry-Computer-Graphics-Formulae-Examples/dp/1849969337?tag=realtimerenderin"><img src="AmazonImages/41qmJMnW05L._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/Geometry-Computer-Graphics-Formulae-Examples/dp/1849969337?tag=realtimerenderin">Geometry for Computer Graphics: Formulae, Examples and Proofs</a></b>, by John Vince, Springer-Verlag, November 2010. Note that this is a softcover reissue of Vince's 2005 hardback book (<a href="https://www.google.com/books/edition/Geometry_for_Computer_Graphics/NOtBXjspcfwC?hl=en&gbpv=1&dq=Geometry+for+Computer+Graphics+vince&pg=PA350&printsec=frontcover">Google Books sample</a>).
</td></tr>
<tr><td>
<a href="https://www.amazon.com/Game-Physics-Pearls-Gino-Bergen/dp/1568814747?tag=realtimerenderin"><img src="AmazonImages/51vjmKDdjiL._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/Game-Physics-Pearls-Gino-Bergen/dp/1568814747?tag=realtimerenderin">Game Physics Pearls</a></b>, edited by Gino van den Bergen and Dirk Gregorius, AK Peters, September 2010 (<a href="https://www.routledge.com/Game-Physics-Pearls/van-den-Bergen-Gregorius/p/book/9781568814742">Table of Contents</a>).
</td></tr>
<tr><td>
<a href="https://www.amazon.com/Polygon-Mesh-Processing-Mario-Botsch/dp/1568814267?tag=realtimerenderin"><img src="AmazonImages/51WzvDvGrEL._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/Polygon-Mesh-Processing-Mario-Botsch/dp/1568814267?tag=realtimerenderin">Polygon Mesh Processing</a></b>, by Mario Botsch, Leif Kobbelt, Mark Pauly, Pierre Alliez, and Bruno Levy, AK Peters, August 2010 (<a href="https://www.google.com/books/edition/Polygon_Mesh_Processing/8zX-2VRqBAkC?hl=en&gbpv=1&printsec=frontcover">Google Books sample</a>).
</td></tr>
<tr><td>
<a href="https://www.amazon.com/GPU-Pro-Advanced-Rendering-Techniques/dp/1568814720?tag=realtimerenderin">
<img src="AmazonImages/5150-70osuL._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/GPU-Pro-Advanced-Rendering-Techniques/dp/1568814720?tag=realtimerenderin">GPU Pro: Advanced Rendering Techniques</a></b> (was: ShaderX<sup>8</sup>), edited by Wolfgang Engel, AK Peters, July 2010 (<a href="https://www.routledge.com/GPU-Pro-Advanced-Rendering-Techniques/Engel/p/book/9781568814728">Table of Contents and source code</a>, <a href="https://gpupro.blogspot.com/">more information</a>).
</td></tr>
<tr><td>
<a href="https://www.amazon.com/High-Dynamic-Range-Imaging-Second/dp/012374914X?tag=realtimerenderin">
<img src="AmazonImages/618LPbTEEJL._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/High-Dynamic-Range-Imaging-Second/dp/012374914X?tag=realtimerenderin">High Dynamic Range Imaging, Second Edition: Acquisition, Display, and Image-Based Lighting</a></b>, by Erik Reinhard et al., Morgan Kaufmann, June 2010 (<a href="https://www.google.com/books/edition/High_Dynamic_Range_Imaging/w1i_1kejoYcC?hl=en&gbpv=1&printsec=frontcover">Google Books sample</a>).
</td></tr>
<tr><td>
<a href="https://www.amazon.com/gp/product/0596804822?tag=realtimerenderin"><img src="AmazonImages/41EU+tzxOcL._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/gp/product/0596804822?tag=realtimerenderin">iPhone 3D Programming: Developing Graphical Applications with OpenGL ES</a></b>, Philip Rideout, O'Reilly Media, May 2010 (<a href="https://www.google.com/books/edition/iPhone_3D_Programming/NxykJ3b-zqwC?hl=en&gbpv=1&printsec=frontcover">Google Books sample</a>).
</td></tr>
<tr><td>
<a href="https://www.amazon.com/Light-Skin-Interactions-Simulations-Applications/dp/0123750938?tag=realtimerenderin">
<img src="AmazonImages/51qUiwqLm6L._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/Light-Skin-Interactions-Simulations-Applications/dp/0123750938?tag=realtimerenderin">Light & Skin Interactions: Simulations for Computer Graphics Applications</a></b>, Gladimir V. G. Baranoski and Aravind Krishnaswamy, Morgan Kaufmann, May 2010 (<a href="https://www.google.com/books/edition/Light_and_Skin_Interactions/kdawARDGroAC?hl=en&gbpv=1&printsec=frontcover">Google Books sample</a>).
</td></tr>
<tr><td>
<a href="https://www.amazon.com/Game-Programming-Gems-Adam-Lake/dp/1584507020?tag=realtimerenderin">
<img src="AmazonImages/51XJzZz9GFL._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/Game-Programming-Gems-Adam-Lake/dp/1584507020?tag=realtimerenderin">Game Programming Gems 8</a></b>, edited by Adam Lake, Course Technology PTR, March 2010.
</td></tr>
<tr><td>
<a href="https://www.amazon.com/Video-Game-Optimization-Eric-Preisz/dp/1598634356?tag=realtimerenderin">
<img src="AmazonImages/61h7A3xHNoL._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/Video-Game-Optimization-Eric-Preisz/dp/1598634356?tag=realtimerenderin">Video Game Optimization</a></b>, Eric Preisz and Ben Garney, Course Technology PTR, March 2010.
</td></tr>
<tr><td>
<a href="https://www.amazon.com/Game-Engine-Gems-Eric-Lengyel/dp/0763778885?tag=realtimerenderin">
<img src="AmazonImages/51wtFm0EcpL._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/Game-Engine-Gems-Eric-Lengyel/dp/0763778885?tag=realtimerenderin">Game Engine Gems, Volume One</a></b>, edited by Eric Lengyel, Jones & Bartlett Publishers, March 2010 (<a href="http://www.gameenginegems.net/geg1.php">more information</a>). <a href="https://www.google.com/books/edition/Game_Engine_Gems_Volume_One/WNfD2u8nIlIC?hl=en&gbpv=1&printsec=frontcover">Google Books sample</a>.
</td></tr>
<tr><td>
<a href="https://www.amazon.com/gp/product/3639091965?tag=realtimerenderin"><img src="AmazonImages/41SXi%2BFPE5L._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/gp/product/3639091965?tag=realtimerenderin">Temporal Coherence in Real-Time Rendering: Practical Approaches for Capitalizing on Temporal Coherence in the Domain of Real-Time Rendering</a></b>, by Daniel Scherzer, VDM Verlag, February 2010. <a href="https://www.cg.tuwien.ac.at/research/publications/2009/scherzer-thesis/">Download thesis (same information) for free</a>.
</td></tr>
<tr><td>
<a href="https://www.amazon.com/Mathematics-Computer-Graphics-Undergraduate-Science/dp/1849960224?tag=realtimerenderin"><img src="AmazonImages/41qmJMnW05L._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/Mathematics-Computer-Graphics-Undergraduate-Science/dp/1849960224?tag=realtimerenderin">Mathematics for Computer Graphics, 3rd Edition</a></b>, by John Vince, Springer-Verlag, February 2010. <a href="https://www.google.com/books/edition/Mathematics_for_Computer_Graphics/ShmRZtw9gBwC?hl=en&gbpv=1&printsec=frontcover">Google Books sample</a>.
</td></tr>
<tr><td>
<a href="https://www.amazon.com/OpenGL-Shading-Language-Randi-Rost/dp/0321637631?tag=realtimerenderin"><img src="AmazonImages/41qkB63AoAL._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/OpenGL-Shading-Language-Randi-Rost/dp/0321637631?tag=realtimerenderin">OpenGL Shading Language, Third Edition</a></b>, by Randi J. Rost, Bill Licea-Kane, and others, Addison-Wesley, July 2009. <a href="http://books.google.com/books?id=-SI07OhiQMAC&printsec=frontcover">Google Books sample</a>.
</td></tr>
<tr><td>
<a href="https://www.amazon.com/gp/product/3639171330?tag=realtimerenderin"><img src="AmazonImages/41MbgiL9x0L._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/gp/product/3639171330?tag=realtimerenderin">GPU-based Real-Time Solid Voxelization for Volume Graphics: Theory and Practice: Volume Modeling and Volumetric Collision Detection</a></b>, by Duoduo Liao, VDM Verlag, July 2009.
</td></tr>
<tr><td>
<a href="https://www.amazon.com/Integrated-Introduction-Computer-Geometric-Animation/dp/143980334X?tag=realtimerenderin"><img src="AmazonImages/51YQVQEOWUL._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/Integrated-Introduction-Computer-Geometric-Animation/dp/143980334X?tag=realtimerenderin">An Integrated Introduction to Computer Graphics and Geometric Modeling</a></b>, by Ronald Goldman, CRC Press, July 2009 (<a href="https://www.routledge.com/An-Integrated-Introduction-to-Computer-Graphics-and-Geometric-Modeling/Goldman/p/book/9781439803349">Table of Contents</a>).
</td></tr>
<tr><td>
<a href="https://www.amazon.com/Real-Time-Cameras-Kaufmann-Interactive-Technology/dp/0123116341?tag=realtimerenderin"><img src="AmazonImages/41VE3485uZL._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/Real-Time-Cameras-Kaufmann-Interactive-Technology/dp/0123116341?tag=realtimerenderin">Real-Time Cameras</a></b>, by Mark Haigh-Hutchinson, April 2009.
</td></tr>
<tr><td>
<a href="https://www.amazon.com/Computer-Facial-Animation-Frederic-Parke/dp/1568814488?tag=realtimerenderin"><img src="AmazonImages/51%2BOEdkNplL._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/Computer-Facial-Animation-Frederic-Parke/dp/1568814488?tag=realtimerenderin">Computer Facial Animation, Second Edition</a></b>, by Frederic I. Parke and Keith Waters, October 2008.
</td></tr>
<tr><td>
<a href="https://www.amazon.com/Best-Game-Programming-Gems-DeLoura/dp/1584505710?tag=realtimerenderin"><img src="AmazonImages/51XcMj5h81L._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/Best-Game-Programming-Gems-DeLoura/dp/1584505710?tag=realtimerenderin">Best of Game Programming Gems</a></b>, edited by Mark DeLoura, Charles River Media, June 2008 (note: does not include <I>Game Programming Gems 7</I> or later).
</td></tr>
<tr><td>
<a href="https://www.amazon.com/Modeling-Material-Appearance-Kaufmann-Computer/dp/0122211812?tag=realtimerenderin"><img src="AmazonImages/51pz2S9sZIL._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/Modeling-Material-Appearance-Kaufmann-Computer/dp/0122211812?tag=realtimerenderin">Digital Modeling of Material Appearance</a></b>, by Julie Dorsey, Holly Rushmeier, and François Sillion, December 2007.
</td></tr>
<tr><td>
<a href="https://www.amazon.com/GPU-Gems-3-Hubert-Nguyen/dp/0321515269?tag=realtimerenderin"><img src="AmazonImages/51E%2B10GRNIL._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<a href="https://developer.nvidia.com/gpugems/gpugems3/foreword"><img src="read_for_free_sm.png" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/GPU-Gems-3-Hubert-Nguyen/dp/0321515269?tag=realtimerenderin">GPU Gems 3</a></b>, edited by Hubert Nguyen, August 2007, <a href="https://developer.nvidia.com/gpugems/gpugems3/foreword"><b><i>read for free</i></b></a>, <a href="https://github.com/QianMo/GPU-Gems-Book-Source-Code">unofficial repo</a>.
</td></tr>
<tr><td>
<a href="https://www.amazon.com/Color-Imaging-Fundamentals-Erik-Reinhard/dp/1568813449?tag=realtimerenderin"><img src="AmazonImages/4189U-NYi1L._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/Color-Imaging-Fundamentals-Erik-Reinhard/dp/1568813449?tag=realtimerenderin">Color Imaging: Fundamentals and Applications</a></b>, by Erik Reinhard et al., August 2007.
</td></tr>
<tr><td>
<a href="https://www.amazon.com/Data-Structures-Algorithms-Developers-Development/dp/1584504951?tag=realtimerenderin"><img src="AmazonImages/51CEuAYzNmL._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/Data-Structures-Algorithms-Developers-Development/dp/1584504951?tag=realtimerenderin">Data Structures and Algorithms for Game Developers</a></b>, by Allen Sherrod, May 2007 (<a href="https://web.archive.org/web/20070612172212/http://www.charlesriver.com/Books/BookDetail.aspx?productID=149746">more information</a>).
</td></tr>
<tr><td>
<a href="https://www.amazon.com/Physics-Development-Kaufmann-Interactive-Technology/dp/012369471X?tag=realtimerenderin">
<img src="AmazonImages/51A-I4MOfiL._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/Physics-Development-Kaufmann-Interactive-Technology/dp/012369471X?tag=realtimerenderin">Game Physics Engine Development</a></b>, by Ian Millington, March 2007.
</td></tr>
<tr><td>
<a href="https://www.amazon.com/exec/obidos/tg/detail/-/1568812663?tag=realtimerenderin">
<img src="AmazonImages/51FA5WJB3EL._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/exec/obidos/tg/detail/-/1568812663?tag=realtimerenderin">Real-time Volume Graphics</a></b>, by Klaus Engel, Markus Hadwiger, Joe M. Kniss, Christof Rezk-Salama, and Daniel Weiskopf, July 2006, AK Peters.
(<a href="http://www.real-time-volume-graphics.org/">book information page</a>, <a href="http://books.google.com/books?id=lDWOu3_KGvoC&printsec=frontcover">Google Books sample</a>)
</td></tr>
<tr><td>
<a href="https://www.amazon.com/Geometric-Data-Structures-Computer-Graphics/dp/1568812353?tag=realtimerenderin">
<img src="AmazonImages/41hgYr3YJmL._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/Geometric-Data-Structures-Computer-Graphics/dp/1568812353?tag=realtimerenderin">Geometric Data Structures for Computer Graphics</a></b>, by Elmar Langetepe and Gabriel Zachmann, AK Peters/CRC Press, February 2006.
(<a href="https://www.routledge.com/Geometric-Data-Structures-for-Computer-Graphics/Langetepe-Zachmann/p/book/9781568812359">book information page</a>, <a href="http://books.google.com/books?id=frBRAAAAMAAJ">Google Books search</a>)
</td></tr>
<tr><td>
<a href="https://www.amazon.com/exec/obidos/tg/detail/-/0321335597?tag=realtimerenderin"><img src="AmazonImages/51-6oFyhBKL._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="9" align=left border=0>
<a href="https://developer.nvidia.com/gpugems/gpugems2/inside-front-cover"><img src="read_for_free_sm.png" alt="read for free" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/exec/obidos/tg/detail/-/0321335597?tag=realtimerenderin">GPU Gems 2: Techniques for Graphics and Compute Intensive Programming</a></b>, edited by Matt Pharr, March 2005, <a href="https://developer.nvidia.com/gpugems/gpugems2/inside-front-cover"><b><i>read for free</i></b></a>, <a href="https://download.nvidia.com/developer/GPU_Gems_2/CD/Index.html">code</a>, <a href="https://github.com/QianMo/GPU-Gems-Book-Source-Code">unofficial repo</a>.
</td></tr>
<tr><td>
<a href="https://www.amazon.com/exec/obidos/tg/detail/-/0321228324?tag=realtimerenderin"><img src="AmazonImages/51W01X6NB7L._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<a href="https://developer.nvidia.com/gpugems/gpugems/foreword"><img src="read_for_free_sm.png" alt="read for free" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/exec/obidos/tg/detail/-/0321228324?tag=realtimerenderin">GPU Gems: Programming Techniques, Tips, and Tricks for Real-Time Graphics</a></b>, edited by Randima Fernando, March 2004, <a href="https://developer.nvidia.com/gpugems/gpugems/foreword"><b><i>read for free</i></b></a>, <a href="https://http.download.nvidia.com/developer/GPU_Gems/CD_Image/Index.html">code</a>, <a href="https://github.com/QianMo/GPU-Gems-Book-Source-Code">unofficial repo</a>.
</td></tr>
<tr><td>
<a href="https://www.amazon.com/ShaderX2-Shader-Programming-Tricks-DirectX/dp/1556229887?tag=realtimerenderin"><img src="AmazonImages/51S5NSFNMZL._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="14" align=left border=0>
<a href="https://www.realtimerendering.com/resources/shaderx/Tips_and_Tricks_with_DirectX_9.pdf"><img src="download_for_free_sm.png" alt="download for free" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/ShaderX2-Shader-Programming-Tricks-DirectX/dp/1556229887?tag=realtimerenderin">ShaderX<sup>2</sup>: Shader Programming Tips and Tricks with DirectX 9.0</a></b>, edited by Wolfgang Engel, Wordware Publishing, Nov. 2003, <a href="https://www.realtimerendering.com/resources/shaderx/Tips_and_Tricks_with_DirectX_9.pdf"><b><i>download for free</i></b></a>, also <a href="https://www.realtimerendering.com/resources/shaderx/">free code download and notes</a>.
</td></tr>
<tr><td>
<a href="https://www.amazon.com/ShaderX2-Introductions-Tutorials-DirectX-9-0/dp/155622902X?tag=realtimerenderin"><img src="AmazonImages/514E6BJEJ9L._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="14" align=left border=0>
<a href="https://www.realtimerendering.com/resources/shaderx/Introductions_and_Tutorials_with_DirectX_9.pdf"><img src="download_for_free_sm.png" alt="download for free" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/ShaderX2-Introductions-Tutorials-DirectX-9-0/dp/155622902X?tag=realtimerenderin">ShaderX<sup>2</sup>: Introductions and Tutorials with DirectX 9.0</a></b>, edited by Wolfgang Engel, Wordware Publishing, Nov. 2003, <a href="https://www.realtimerendering.com/resources/shaderx/Introductions_and_Tutorials_with_DirectX_9.pdf"><b><i>download for free</i></b></a>, also <a href="https://www.realtimerendering.com/resources/shaderx/">free code download and notes</a>.
</td></tr>
<tr><td>
<a href="https://www.amazon.com/Cg-Tutorial-Definitive-Programmable-Real-Time/dp/0321194969?tag=realtimerenderin"><img src="AmazonImages/51K2X94P56L._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<a href="https://developer.download.nvidia.com/CgTutorial/cg_tutorial_chapter01.html"><img src="read_for_free_sm.png" alt="read for free" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/Cg-Tutorial-Definitive-Programmable-Real-Time/dp/0321194969?tag=realtimerenderin">The Cg Tutorial</a></b>, by Randy Fernando and Mark J. Kilgard, March 2003, <a href="https://developer.download.nvidia.com/CgTutorial/cg_tutorial_chapter01.html"><b><i>read for free</i></b></a>.
</td></tr>
<tr><td>
<a href="https://www.amazon.com/Direct3D-ShaderX-Vertex-Shader-Tricks/dp/1556220413?tag=realtimerenderin"><img src="AmazonImages/51G43ZGSJ8L._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<a href="https://www.realtimerendering.com/resources/shaderx/Direct3D.ShaderX.Vertex.and.Pixel.Shader.Tips.and.Tricks_Wolfgang.F.Engel_Wordware.Pub_2002.pdf"><img src="download_for_free_sm.png" alt="download for free" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/Direct3D-ShaderX-Vertex-Shader-Tricks/dp/1556220413?tag=realtimerenderin">Direct3D ShaderX: Vertex and Pixel Shader Tips and Tricks</a></b>, edited by Wolfgang Engel, Wordware Publishing, June 2002, <a href="https://www.realtimerendering.com/resources/shaderx/Direct3D.ShaderX.Vertex.and.Pixel.Shader.Tips.and.Tricks_Wolfgang.F.Engel_Wordware.Pub_2002.pdf"><b><i>download for free</i></b></a>, also <a href="https://www.realtimerendering.com/resources/shaderx/">free code download and notes</a>.
</td></tr>
<tr><td>
<a href="https://www.amazon.com/Michael-Abrashs-Graphics-Programming-Special/dp/1576101746?tag=realtimerenderin">
<img src="AmazonImages/51E2EDBTB9L._SL50_.jpg" alt="cover" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<a href="https://www.jagregory.com/abrash-black-book/"><img src="read_for_free_sm.png" alt="read for free" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/Michael-Abrashs-Graphics-Programming-Special/dp/1576101746?tag=realtimerenderin">Michael Abrash's Graphics Programming Black Book</a></b>, by Michael Abrash, July 1997, <a href="https://www.gamedev.net/reference/articles/article1698.asp"><b><i>read for free</i></b></a>. Truly ancient, yes, but there are still articles of general interest, and Abrash is a fine story-teller.
</td></tr>
<tr><td>
<a href="https://www.amazon.com/exec/obidos/ASIN/1558602763?tag=realtimerenderin"><img src="AmazonImages/41NJZBE31HL._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<a href="https://www.realtimerendering.com/Principles_of_Digital_Image_Synthesis_v1.0.1.pdf"><img src="download_for_free_sm.png" alt="download for free" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/Principles-Synthesis-Kaufmann-Computer-Graphics/dp/1558602763?tag=realtimerenderin">Principles of Digital Image Synthesis</a></b>, by Andrew S. Glassner, Morgan Kaufmann, 1995: <b><i><a href="https://www.realtimerendering.com/Principles_of_Digital_Image_Synthesis_v1.0.1.pdf">download for free</a></i></b>, <a href="https://www.glassner.com/errata-for-principles-of-digital-image-synthesis/">errata</a>. An incredible book, and physics doesn't change (much), so despite its age this book is full of useful information.
</td></tr>
<tr><td>
<a href="https://www.amazon.com/Radiosity-Programmers-Perspective-Professional-Computing/dp/0471304441?tag=realtimerenderin"><img src="AmazonImages/51HG2DGJ4KL._SX55_BO1,204,203,200_.jpg" alt="cover" height="55" align=left border=0></a>
<img src="spacer.gif" alt="" height="55" width="6" align=left border=0>
<a href="https://www.researchgate.net/profile/Ian-Ashdown/publication/220690300_Radiosity_-_a_programmer%27s_perspective/links/0912f4ff5f5eb42776000000/Radiosity-a-programmers-perspective.pdf"><img src="download_for_free_sm.png" alt="download for free" align=left border=0></a>
<img src="spacer.gif" alt="" height="55" width="12" align=left border=0>
<b><a href="https://www.amazon.com/Radiosity-Programmers-Perspective-Professional-Computing/dp/0471304441?tag=realtimerenderin">Radiosity: A Programmer's Perspective</a></b>, by Ian Ashdown, Wiley, 1994: <b><i><a href="https://www.researchgate.net/profile/Ian-Ashdown/publication/220690300_Radiosity_-_a_programmer%27s_perspective/links/0912f4ff5f5eb42776000000/Radiosity-a-programmers-perspective.pdf">download for free</a></i></b>. A fine introduction to photometry concepts.
</td></tr>
<tr><td>
<a href="https://www.amazon.com/Radiosity-Realistic-Synthesis-Kaufmann-Computer/dp/0121782700?tag=realtimerenderin"><img src="AmazonImages/cohen_wallace.jpg" alt="cover" height="55" align=left border=0></a>
<img src="spacer.gif" alt="" height="55" width="6" align=left border=0>
<a href="https://www.realtimerendering.com/Cohen-Wallace_Radiosity_and_Realistic_Image_Synthesis.pdf"><img src="download_for_free_sm.png" alt="download for free" align=left border=0></a>
<img src="spacer.gif" alt="" height="55" width="12" align=left border=0>
<b><a href="https://www.realtimerendering.com/Cohen-Wallace_Radiosity_and_Realistic_Image_Synthesis.pdf">Radiosity and Realistic Image Synthesis</a></b>, by Michael F. Cohen and John R. Wallace, Academic Press Professional, 1993: <b><i><a href="https://www.realtimerendering.com/Cohen-Wallace_Radiosity_and_Realistic_Image_Synthesis.pdf">download for free</a></i></b>. The first book on the use of radiosity in computer graphics, again with an approachable introduction to photometry.
</td></tr>
<tr><td>
<a href="https://www.amazon.com/Simulating-Humans-Computer-Graphics-Animation/dp/0195073592?tag=realtimerenderin"><img src="AmazonImages/41x0mOjyDrL._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<a href="https://www.cis.upenn.edu/~badler/book/book.html"><img src="download_for_free_sm.png" alt="download for free" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/Simulating-Humans-Computer-Graphics-Animation/dp/0195073592?tag=realtimerenderin">Simulating Humans: Computer Graphics Animation and Control</a></b>, by Norman I. Badler, Cary B. Phillips, Bonnie Lynn Webber, Oxford University Press, 1993: <b><i><a href="https://www.cis.upenn.edu/~badler/book/book.html">download for free</a></i></b>. All about the human figure and how to model it in the computer. Old, but chock full of information.
</td></tr>
<tr><td>
<a href="https://www.amazon.com/Introduction-Computing-Geometry-Adrian-Bowyer/dp/1874728038?tag=realtimerenderin"><img src="AmazonImages/41nKyw8Iv+L._SL50_.jpg" alt="cover" height="50" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<a href="https://adrianbowyer.com/inge/docs/icg.pdf"><img src="download_for_free_sm.png" alt="download for free" align=left border=0></a>
<img src="spacer.gif" alt="" height="50" width="12" align=left border=0>
<b><a href="https://www.amazon.com/Introduction-Computing-Geometry-Adrian-Bowyer/dp/1874728038?tag=realtimerenderin">Introduction to Computing with Geometry</a></b>, by Adrian Bowyer and John Woodwark, Information Geometers Ltd, 1993: <b><i><a href="https://adrianbowyer.com/inge/docs/icg.pdf">download for free</a></i></b> and <a href="https://web.archive.org/web/20111112091910/http://www.johnwoodwark.com/inge/docs/icg.pdf">alternate</a>. About surfaces and other geometry-related bits. Written in an approachable and entertaining manner, with solid math and (occasionally dusty but workable) code bits.
</td></tr>
</table>
</div>
<div id="books-table">
<a NAME="recommended">
<H2 class="subHeader">Recommended Books</H2>
</a>
<p>What follows is a list
of some books and other media we think are worthwhile for real-time rendering and computer graphics
in general. Books specific to ray tracing can be found <a href="raytracing.html#books">on this page</a>.
<p><b>Introductory Resources</b></p>
<table>
<tr><td>
<a href="https://graphicscodex.com/"><img src="AmazonImages/GraphicsCodexThumb100.jpg" alt="cover" height="100" align=left border=0></a>
<img src="spacer.gif" alt="" height="100" width="12" align=left border=0>
<b><a href="https://graphicscodex.com/app/app.html?">The Graphics Codex</a></b>, by Morgan McGuire, 2011-2024 (<a href="https://graphicscodex.com/">Main site</a>).
<p>A free site that is both a guide to the basics of computer graphics and a practitioner's reference manual. It is continually updated with mini-tutorials, code snippets, algorithm descriptions, and formulae that the author has found of use.
</td></tr>
<tr><td>
<a href="https://www.amazon.com/Fundamentals-Computer-Graphics-Steve-Marschner/dp/0367505037?tag=realtimerenderin"><img src="AmazonImages/focg5.jpg" alt="cover" height="100" align=left border=0></a>
<img src="spacer.gif" alt="" height="100" width="12" align=left border=0>
<b><a href="https://www.amazon.com/Fundamentals-Computer-Graphics-Steve-Marschner/dp/0367505037?tag=realtimerenderin">Fundamentals of Computer Graphics, 5th Edition</a></b>, by Steve Marschner, Peter Shirley, et alia, AK Peters, September 2021 (<a href="https://www.google.com/books/edition/Fundamentals_of_Computer_Graphics/QUQ3EAAAQBAJ?hl=en&gbpv=1&dq=Fundamentals+of+Computer+Graphics+2021&printsec=frontcover">Google Books sample</a>, <a href="https://www.routledge.com/Fundamentals-of-Computer-Graphics/Marschner-Shirley/p/book/9780367505035">CRC website</a>).
<P>This book has evolved from a 500-page book that Peter Shirley wrote by himself to a 700-page 5th edition co-authored with Steve Marschner and with "guest chapters" by nine other notable graphics professionals (full disclosure: including Naty Hoffman). Its focus is as a textbook of the theory and practice of computer graphics as a whole.
</td></tr>
<tr><td>
<a href="https://www.amazon.com/Interactive-Computer-Graphics-WebGL-Edition/dp/0133574849?tag=realtimerenderin"><img src="AmazonImages/51oD%2BbLq1mL._SL100_.jpg" alt="cover" height="100" align=left border=0></a>
<img src="spacer.gif" alt="" height="100" width="12" align=left border=0>
<b><a href="https://www.amazon.com/Interactive-Computer-Graphics-WebGL-Edition/dp/0133574849?tag=realtimerenderin">Interactive Computer Graphics with WebGL (Seventh Edition)</a></b>, by Edward Angel and Dave Shreiner, Addison-Wesley, March 2014 (<a href="https://www.pearson.com/us/higher-education/product/ANGEL-Interactive-Computer-Graphics-A-Top-Down-Approach-with-Web-GL-7th-Edition/9780133574845.html">more information</a>, <a href="https://www.cs.unm.edu/~angel/BOOK/INTERACTIVE_COMPUTER_GRAPHICS/SEVENTH_EDITION/">figures and source code</a>).
<P>
This is not a book for learning WebGL or OpenGL.
Rather, it uses WebGL to teach the fundamentals of computer graphics. A solid,
modern text, and recommended as a precursor for our own book.
</td></tr>
<tr><td>
<a href="https://www.udacity.com/course/interactive-3d-graphics--cs291"><img src="AmazonImages/MOOC.jpg" alt="cover" height="100" align=left border=0></a>
<img src="spacer.gif" alt="" height="100" width="12" align=left border=0>
<b><a href="https://www.udacity.com/course/interactive-3d-graphics--cs291">Interactive 3D Graphics</a></b>, by Eric Haines, 2013, Udacity (<a href="https://www.realtimerendering.com/udacity/?load=demo/unit7-view-pipeline.js">interactive demos/exercises collection</a>, <a href="https://web.archive.org/web/20210420113857/https://www.udacity.com/wiki/cs291/syllabus">syllabus</a>, <a href="https://web.archive.org/web/20210420060914/https://www.udacity.com/wiki/cs291">resources</a>, <a href="https://web.archive.org/web/20210420060914/https://www.udacity.com/wiki/cs291">course scripts (at bottom), <a href="https://web.archive.org/web/20210420103622/https://www.udacity.com/wiki/cs291/downloads">downloadable videos</a>, <a href="https://github.com/udacity/cs291">code</a>).
<p>A free, massive open online course (MOOC) focused on the basic theory and practice of interactive computer graphics, using <a href="https://threejs.org">three.js</a>.
</td></tr>
</table>
<p><b>API Guides</b></p>
<table>
<tr><td>
<a href="https://www.amazon.com/OpenGL-Programming-Guide-Official-Learning/dp/0321773039?tag=realtimerenderin"><img src="AmazonImages/51TuOaaTjpL._SL100_.jpg" alt="cover" height="100" align=left border=0></a>
<img src="spacer.gif" alt="" height="100" width="12" align=left border=0>
<b><a href="https://www.amazon.com/OpenGL-Programming-Guide-Official-Learning/dp/0321773039?tag=realtimerenderin">OpenGL Programming Guide: The Official Guide to Learning OpenGL, Versions 4.3, Eighth Edition</a></b>, Dave Shreiner, Bill Licea-Kane, Graham Sellers, Addison-Wesley, March 2013.
<P>
The Red Book, it's the standard guide for understanding OpenGL.
</td></tr>
<tr><td>
<a href="https://www.amazon.com/OpenGL-Superbible-Comprehensive-Tutorial-Reference/dp/0672337479?tag=realtimerenderin"><img src="AmazonImages/51Rev-eVu2L._SL100_.jpg" alt="cover" height="100" align=left border=0></a>
<img src="spacer.gif" alt="" height="100" width="12" align=left border=0>
<b><a href="https://www.amazon.com/OpenGL-Superbible-Comprehensive-Tutorial-Reference/dp/0672337479?tag=realtimerenderin">OpenGL SuperBible: Comprehensive Tutorial and Reference, Seventh Edition</a></b>, by Graham Sellers, Richard S. Wright Jr., Nicholas Haemel, Addison-Wesley, July 2015 (<a href="https://www.openglsuperbible.com/">Source code and blog</a>, <a href="http://books.google.com/books?id=Nwo0CgAAQBAJ&printsec=frontcover">Google Books sample</a> of Seventh Edition).
<P>If the Red Book fails you, this is the next place to go.
</td></tr>
<tr><td>
<a href="https://www.amazon.com/Graphics-Shaders-Theory-Practice-Second/dp/1568814348?tag=realtimerenderin"><img src="AmazonImages/51uAycKcf2L._SL100_.jpg" alt="cover" height="100" align=left border=0></a>
<img src="spacer.gif" alt="" height="100" width="12" align=left border=0>
<b><a href="https://www.amazon.com/Graphics-Shaders-Theory-Practice-Second/dp/1568814348?tag=realtimerenderin">Graphics Shaders: Theory and Practice, Second Edition</a></b>, by Mike Bailey and Steve Cunningham, AK Peters, November 2011 (<a href="https://www.google.com/books/edition/Graphics_Shaders/3CP1W8R_h7YC?hl=en&gbpv=1&printsec=frontcover">Google Books sample from first edition</a>).
<P>
If you want to focus on GLSL shaders, this book comes well-recommended by a number of people.
</td></tr>
<tr><td>
<a href="https://www.amazon.com/OpenGL-Shading-Language-Cookbook-Edition/dp/1782167021?tag=realtimerenderin">
<img src="AmazonImages/418z2v-8xPL._SL100_.jpg" alt="cover" height="100" align=left border=0></a>
<img src="spacer.gif" alt="" height="100" width="12" align=left border=0>
<b><a href="https://www.amazon.com/OpenGL-Shading-Language-Cookbook-Edition/dp/1782167021?tag=realtimerenderin">OpenGL 4 Shading Language Cookbook - Third Edition</a></b>, by David Wolff, Packt Publishing, September 2018 (<a href="https://www.packtpub.com/product/opengl-4-shading-languag
gitextract_dhotzsxl/ ├── .gitignore ├── AA_WT8.tif ├── AmazonImages/ │ └── CVS/ │ ├── Entries │ ├── Entries.Extra │ ├── Entries.Extra.Old │ ├── Entries.Old │ ├── Repository │ ├── Root │ └── Template ├── README.md ├── alpha_test.html ├── an_intro_to_rt-errata.html ├── bibtex_rtr3.txt ├── bibtex_rtr4.txt ├── book.html ├── book_rtr2.html ├── book_rtr3.html ├── books.html ├── corrigenda.html ├── corrigenda_old.html ├── fgl/ │ ├── CVS/ │ │ ├── Entries │ │ ├── Entries.Extra │ │ ├── Entries.Extra.Old │ │ ├── Entries.Old │ │ ├── Repository │ │ ├── Root │ │ └── Template │ ├── index.htm │ ├── siggraph2000/ │ │ ├── CVS/ │ │ │ ├── Entries │ │ │ ├── Entries.Extra │ │ │ ├── Entries.Extra.Old │ │ │ ├── Entries.Old │ │ │ ├── Repository │ │ │ ├── Root │ │ │ └── Template │ │ ├── authors_alpha.txt │ │ ├── authors_eff.txt │ │ ├── authors_points.txt │ │ ├── contest.htm │ │ ├── costframe.htm │ │ ├── entry.htm │ │ ├── entryframe.htm │ │ ├── index.htm │ │ ├── nextpage.htm │ │ ├── previous_authors.txt │ │ ├── sigpaper.txt │ │ └── sigsketch.txt │ ├── siggraph2001/ │ │ ├── CVS/ │ │ │ ├── Entries │ │ │ ├── Entries.Extra │ │ │ ├── Entries.Extra.Old │ │ │ ├── Entries.Old │ │ │ ├── Repository │ │ │ ├── Root │ │ │ └── Template │ │ ├── auth_alpha.txt │ │ ├── auth_eff.txt │ │ ├── auth_val.txt │ │ ├── contest.htm │ │ ├── costframe.htm │ │ ├── entry.htm │ │ ├── entryframe.htm │ │ ├── index.htm │ │ ├── prelim.htm │ │ ├── sigpaper.txt │ │ └── sigsketch.txt │ ├── siggraph2002/ │ │ ├── CVS/ │ │ │ ├── Entries │ │ │ ├── Entries.Extra │ │ │ ├── Entries.Extra.Old │ │ │ ├── Entries.Old │ │ │ ├── Repository │ │ │ ├── Root │ │ │ └── Template │ │ ├── contest.htm │ │ ├── costframe.htm │ │ ├── entry.htm │ │ ├── entryframe.htm │ │ ├── index.htm │ │ └── prelim.htm │ ├── siggraph2003/ │ │ ├── CVS/ │ │ │ ├── Entries │ │ │ ├── Entries.Extra │ │ │ ├── Entries.Extra.Old │ │ │ ├── Entries.Old │ │ │ ├── Repository │ │ │ ├── Root │ │ │ └── Template │ │ ├── auth_alpha.txt │ │ ├── contest.htm │ │ ├── costframe.htm │ │ ├── entry.htm │ │ ├── entryframe.htm │ │ ├── index.htm │ │ └── prelim.htm │ ├── siggraph2004/ │ │ ├── CVS/ │ │ │ ├── Entries │ │ │ ├── Entries.Extra │ │ │ ├── Entries.Extra.Old │ │ │ ├── Entries.Old │ │ │ ├── Repository │ │ │ ├── Root │ │ │ └── Template │ │ ├── auth_alpha.txt │ │ ├── contest.htm │ │ ├── costframe.htm │ │ ├── entry.htm │ │ ├── entryframe.htm │ │ ├── index.htm │ │ ├── prelim.htm │ │ └── sigsketch.txt │ └── siggraph2005/ │ ├── CVS/ │ │ ├── Entries │ │ ├── Entries.Extra │ │ ├── Entries.Extra.Old │ │ ├── Entries.Old │ │ ├── Repository │ │ ├── Root │ │ └── Template │ ├── auth_val.txt │ ├── contest.htm │ ├── costframe.htm │ ├── entry.htm │ ├── entryframe.htm │ ├── index.htm │ └── prelim.htm ├── figure_data.js ├── figure_data_extended.js ├── figures.html ├── figures.js ├── gd.html ├── globillum/ │ ├── Globillum_1990_to_1999_ward.txt │ ├── Globillum_1994_to_2019.txt │ ├── Globillum_1994_to_2019_single_space.txt │ └── index.html ├── golden.html ├── index.html ├── index_old.html ├── index_rtr2.html ├── index_rtr3.html ├── int/ │ ├── CVS/ │ │ ├── Entries │ │ ├── Entries.Extra │ │ ├── Entries.Extra.Old │ │ ├── Entries.Old │ │ ├── Repository │ │ ├── Root │ │ └── Template │ ├── _How_to_update_intersections.txt │ ├── index.html │ ├── int2html.pl │ ├── int2html1.pl │ ├── int2html2.pl │ ├── intersections.html │ ├── intersections.txt │ ├── intersections1.txt │ ├── intersections2.txt │ └── intersections_half.html ├── intersections.html ├── intro.html ├── ke-senhuang'shomepagechangelog.html ├── open_access.html ├── portal/ │ └── index.html ├── portal.html ├── preface.html ├── random.html ├── raytracing/ │ ├── roundtable.html │ └── roundup.html ├── raytracing.html ├── raytracinggems/ │ ├── index.html │ ├── rtg/ │ │ └── index.html │ ├── rtg2/ │ │ └── index.html │ └── rtg2_cfp.html ├── realartifacts/ │ └── index.html ├── refs.html ├── refs1.html ├── refs2.html ├── refs3.html ├── resources/ │ ├── SPD/ │ │ ├── .gitignore │ │ ├── NFF.TXT │ │ ├── havran_stats_grids.txt │ │ ├── havran_stats_octrees.txt │ │ └── index.html │ └── shaderx/ │ └── index.html ├── robots.txt ├── rtr3.css ├── rtr4.css ├── sig2010.html ├── sig2013-changelog.html ├── sig2013.html ├── sqrt.c ├── threejs/ │ ├── .new_ones.txt.un~ │ ├── _failing.txt │ ├── codeFileChecker.pl │ ├── codeFixer.pl │ ├── index.html │ ├── index1.html │ ├── index2.html │ ├── list2html.pl │ ├── new.html │ ├── new_ones.txt │ ├── new_ones.txt~ │ ├── new_ones1.txt │ ├── newish_ones.txt │ ├── thumbs2html.pl │ ├── thumbs2html1.pl │ └── thumbs2html2.pl ├── usd_gltf.html └── webgl.html
SYMBOL INDEX (8 symbols across 2 files) FILE: figures.js function initialize (line 11) | function initialize() FILE: sqrt.c type tab_in (line 38) | typedef struct _tab_in type tab_out (line 46) | typedef struct _tab_out function BuildInvSqrtTable (line 70) | void function BuildSqrtTable (line 96) | void function InverseSquareRoot (line 123) | float __stdcall function SquareRoot (line 139) | float SquareRoot(float x) function main (line 162) | int
Copy disabled (too large)
Download .json
Condensed preview — 203 files, each showing path, character count, and a content snippet. Download the .json file for the full structured content (19,450K chars).
[
{
"path": ".gitignore",
"chars": 736,
"preview": ".htaccess\nfigures/*\nrtr4_staging/*\nkesen/*\nrtintro/*\nraytracing/siggraph2019/*\nstylized/*\nsav-t-pak/*\nReal-Time_Renderin"
},
{
"path": "AmazonImages/CVS/Entries",
"chars": 13810,
"preview": "/3197XEP7AML._SL50_.jpg/1.1/Thu May 20 02:39:32 2010/-kb/\n/31E0QC63DAL._SL100_.jpg/1.1/Thu May 20 02:39:32 2010/-kb/\n/31"
},
{
"path": "AmazonImages/CVS/Entries.Extra",
"chars": 7883,
"preview": "/3197XEP7AML._SL50_.jpg////*////\n/31E0QC63DAL._SL100_.jpg////*////\n/31seQH49q3L._SL100_.jpg////*////\n/414SvOG1qSL._SL50_"
},
{
"path": "AmazonImages/CVS/Entries.Extra.Old",
"chars": 7883,
"preview": "/3197XEP7AML._SL50_.jpg////*////\n/31E0QC63DAL._SL100_.jpg////*////\n/31seQH49q3L._SL100_.jpg////*////\n/414SvOG1qSL._SL50_"
},
{
"path": "AmazonImages/CVS/Entries.Old",
"chars": 13062,
"preview": "/3197XEP7AML._SL50_.jpg/1.1/Thu May 20 02:39:32 2010/-kb/\n/31E0QC63DAL._SL100_.jpg/1.1/Thu May 20 02:39:32 2010/-kb/\n/31"
},
{
"path": "AmazonImages/CVS/Repository",
"chars": 26,
"preview": "RTR3/website/AmazonImages\n"
},
{
"path": "AmazonImages/CVS/Root",
"chars": 55,
"preview": ":pserver:erich@cvs.cs.lth.se:/local/cvs/repository-tam\n"
},
{
"path": "AmazonImages/CVS/Template",
"chars": 0,
"preview": ""
},
{
"path": "README.md",
"chars": 68,
"preview": "# RealTimeRendering\n\nWebsite pages for http://realtimerendering.com\n"
},
{
"path": "alpha_test.html",
"chars": 2118,
"preview": "<html>\n<head>\n<title>Alphas</title>\n</head>\n<body>\n<div>\nFor <a href=\"http://www.realtimerendering.com/blog/wp-content/u"
},
{
"path": "an_intro_to_rt-errata.html",
"chars": 11354,
"preview": "\n<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
},
{
"path": "bibtex_rtr3.txt",
"chars": 256,
"preview": "@book{RTR3,\n author = {Tomas Akenine-M\\\"{o}ller and Eric Haines and Naty Hoffman},\n title = {Real-Time Rendering 3rd Edi"
},
{
"path": "bibtex_rtr4.txt",
"chars": 329,
"preview": "@book{RTR4,\n author = {Tomas Akenine-M\\\"{o}ller and Eric Haines and Naty Hoffman and Angelo Pesce and Micha\\l{} Iwanicki"
},
{
"path": "book.html",
"chars": 6469,
"preview": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\""
},
{
"path": "book_rtr2.html",
"chars": 6662,
"preview": "<html>\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\">\n <meta name=\"description\" co"
},
{
"path": "book_rtr3.html",
"chars": 6379,
"preview": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\""
},
{
"path": "books.html",
"chars": 156945,
"preview": "\n<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dt"
},
{
"path": "corrigenda.html",
"chars": 25061,
"preview": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\""
},
{
"path": "corrigenda_old.html",
"chars": 4371,
"preview": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\""
},
{
"path": "fgl/CVS/Entries",
"chars": 44,
"preview": "/index.htm/1.1/Tue Jun 24 12:12:39 2008//\nD\n"
},
{
"path": "fgl/CVS/Entries.Extra",
"chars": 20,
"preview": "/index.htm////*////\n"
},
{
"path": "fgl/CVS/Entries.Extra.Old",
"chars": 0,
"preview": ""
},
{
"path": "fgl/CVS/Entries.Old",
"chars": 0,
"preview": ""
},
{
"path": "fgl/CVS/Repository",
"chars": 17,
"preview": "RTR3/website/fgl\n"
},
{
"path": "fgl/CVS/Root",
"chars": 55,
"preview": ":pserver:erich@cvs.cs.lth.se:/local/cvs/repository-tam\n"
},
{
"path": "fgl/CVS/Template",
"chars": 0,
"preview": ""
},
{
"path": "fgl/index.htm",
"chars": 2215,
"preview": "<HTML>\n\n<HEAD>\n<TITLE>Fantasy Graphics League</TITLE>\n</HEAD>\nA silly contest where you recruit a team of graphics resea"
},
{
"path": "fgl/siggraph2000/CVS/Entries",
"chars": 561,
"preview": "/authors_alpha.txt/1.1/Tue Jun 24 12:12:39 2008//\n/authors_eff.txt/1.1/Tue Jun 24 12:12:39 2008//\n/authors_points.txt/1."
},
{
"path": "fgl/siggraph2000/CVS/Entries.Extra",
"chars": 295,
"preview": "/authors_alpha.txt////*////\n/authors_eff.txt////*////\n/authors_points.txt////*////\n/contest.htm////*////\n/costframe.htm/"
},
{
"path": "fgl/siggraph2000/CVS/Entries.Extra.Old",
"chars": 0,
"preview": ""
},
{
"path": "fgl/siggraph2000/CVS/Entries.Old",
"chars": 0,
"preview": ""
},
{
"path": "fgl/siggraph2000/CVS/Repository",
"chars": 30,
"preview": "RTR3/website/fgl/siggraph2000\n"
},
{
"path": "fgl/siggraph2000/CVS/Root",
"chars": 55,
"preview": ":pserver:erich@cvs.cs.lth.se:/local/cvs/repository-tam\n"
},
{
"path": "fgl/siggraph2000/CVS/Template",
"chars": 0,
"preview": ""
},
{
"path": "fgl/siggraph2000/authors_alpha.txt",
"chars": 3525,
"preview": "Authors alphabetically\r\r\n### Value Cost Efficiency Name\r\r\n==============================\r\r\n 4 60.00 60 1.0000 Aar"
},
{
"path": "fgl/siggraph2000/authors_eff.txt",
"chars": 3533,
"preview": "Authors ranked by efficiency\r\r\n### Value Cost Efficiency Name\r\r\n==============================\r\r\n 30 60.00 5 12.0000"
},
{
"path": "fgl/siggraph2000/authors_points.txt",
"chars": 3541,
"preview": "Authors ranked by highest point value\r\r\n### Value Cost Efficiency Name\r\r\n==============================\r\r\n 88 83.57 270"
},
{
"path": "fgl/siggraph2000/contest.htm",
"chars": 5972,
"preview": "<html>\n\n<head>\n\n<title>Fantasy Graphics League</title>\n\n<META name=\"description\" content=\"Choose an ideal lab of graphic"
},
{
"path": "fgl/siggraph2000/costframe.htm",
"chars": 73504,
"preview": "<html>\n<head>\n <title>Costs Frame</title>\n</head>\n<body>\n<table cellpadding=\"2\">\n<tr>\n<td><b>Num.</b></td>\n<td><b>Auth"
},
{
"path": "fgl/siggraph2000/entry.htm",
"chars": 228,
"preview": "<html>\r\r\n<head>\r\r\n <title>Fantasy Graphics League Entry Form</title>\r\r\n</head>\r\r\n<frameset cols=\"60%,40%\">\r\r\n<frame sr"
},
{
"path": "fgl/siggraph2000/entryframe.htm",
"chars": 2823,
"preview": "<html>\n\n<head>\n\n <title>Entry Form Frame</title>\n\n</head>\n\n<body>\n\n<h1>Fantasy Graphics League Entry Form</h1>\n\n<form "
},
{
"path": "fgl/siggraph2000/index.htm",
"chars": 12216,
"preview": "<html>\n\n<head>\n\n<title>Fantasy Graphics League Results</title>\n\n<META name=\"description\" content=\"And the winner is...\">"
},
{
"path": "fgl/siggraph2000/nextpage.htm",
"chars": 551,
"preview": "<html>\n\n<head>\n\n <title>Entry Form Confirmation</title>\n\n</head>\n\n<body>\n\n<h1>Entry Confirmation</h1>\n\n[This page will"
},
{
"path": "fgl/siggraph2000/previous_authors.txt",
"chars": 13213,
"preview": "# 1995\r\r\nMichael F. Deering\r\r\nMarc Levoy\r\r\nShenchang Eric Chen\r\r\nLeonard McMillan and Gary Bishop\r\r\nBruce M. Blumberg an"
},
{
"path": "fgl/siggraph2000/sigpaper.txt",
"chars": 6689,
"preview": "\r\r\r\nPen-and-Ink Illustration of Trees\r\r\nOliver Deussen\r\r\nThomas Strothotte\r\r\n\r\r\r\nA Simple, Efficient Method for Realisti"
},
{
"path": "fgl/siggraph2000/sigsketch.txt",
"chars": 7812,
"preview": "Recreation of the World's First Panoramic Immersive Virtual Environment Using Contemporary VR Technology\r\r\nMark Wright\r\r"
},
{
"path": "fgl/siggraph2001/CVS/Entries",
"chars": 1504,
"preview": "/auth_alpha.txt/1.1/Tue Jun 24 12:12:40 2008//\n/auth_eff.txt/1.1/Tue Jun 24 12:12:40 2008//\n/auth_val.txt/1.1/Tue Jun 24"
},
{
"path": "fgl/siggraph2001/CVS/Entries.Extra",
"chars": 710,
"preview": "/auth_alpha.txt////*////\n/auth_eff.txt////*////\n/auth_val.txt////*////\n/contest.htm////*////\n/costframe.htm////*////\n/do"
},
{
"path": "fgl/siggraph2001/CVS/Entries.Extra.Old",
"chars": 0,
"preview": ""
},
{
"path": "fgl/siggraph2001/CVS/Entries.Old",
"chars": 0,
"preview": ""
},
{
"path": "fgl/siggraph2001/CVS/Repository",
"chars": 30,
"preview": "RTR3/website/fgl/siggraph2001\n"
},
{
"path": "fgl/siggraph2001/CVS/Root",
"chars": 55,
"preview": ":pserver:erich@cvs.cs.lth.se:/local/cvs/repository-tam\n"
},
{
"path": "fgl/siggraph2001/CVS/Template",
"chars": 0,
"preview": ""
},
{
"path": "fgl/siggraph2001/auth_alpha.txt",
"chars": 22188,
"preview": "\r\r\n\r\r\n\r\r\n\r\r\nData for all authors with a cost\r\r\n### Value Cost Efficiency Name\r\r\n==============================\r\r\n 1 0."
},
{
"path": "fgl/siggraph2001/auth_eff.txt",
"chars": 3801,
"preview": "\r\r\n\r\r\n\r\r\n\r\r\nAuthors ranked by efficiency\r\r\n### Value Cost Efficiency Name\r\r\n==============================\r\r\n486 30.00 "
},
{
"path": "fgl/siggraph2001/auth_val.txt",
"chars": 3810,
"preview": "\r\r\n\r\r\n\r\r\n\r\r\nAuthors ranked by highest point value\r\r\n### Value Cost Efficiency Name\r\r\n==============================\r\r\n38"
},
{
"path": "fgl/siggraph2001/contest.htm",
"chars": 3817,
"preview": "<!doctype html public \"-//w3c//dtd html 4.0 transitional//en\">\r\r\n<html>\r\r\n<head>\r\r\n <meta http-equiv=\"Content-Type\" co"
},
{
"path": "fgl/siggraph2001/costframe.htm",
"chars": 80171,
"preview": "<html>\n<head>\n <title>Costs Frame</title>\n</head>\n<body>\n<table cellpadding=\"2\">\n<tr>\n<td><b>Num.</b></td>\n<td><b>Auth"
},
{
"path": "fgl/siggraph2001/entry.htm",
"chars": 228,
"preview": "<html>\r\r\n<head>\r\r\n <title>Fantasy Graphics League Entry Form</title>\r\r\n</head>\r\r\n<frameset cols=\"60%,40%\">\r\r\n<frame sr"
},
{
"path": "fgl/siggraph2001/entryframe.htm",
"chars": 2683,
"preview": "<html>\n\n<head>\n\n <title>Entry Form Frame</title>\n\n</head>\n\n<body>\n\n<h1>Fantasy Graphics League Entry Form</h1>\n\n<form "
},
{
"path": "fgl/siggraph2001/index.htm",
"chars": 11885,
"preview": "<html>\n<head>\n <meta name=\"description\" content=\"And the winner is...\">\n <meta name=\"keywords\" content=\"fantasy grap"
},
{
"path": "fgl/siggraph2001/prelim.htm",
"chars": 7872,
"preview": "<!doctype html public \"-//w3c//dtd html 4.0 transitional//en\">\n<html>\n<head>\n <meta http-equiv=\"Content-Type\" content="
},
{
"path": "fgl/siggraph2001/sigpaper.txt",
"chars": 7347,
"preview": "Visual Simulation of Smoke\r\r\nRonald Fedkiw\r\r\nHenrik Wann Jensen\r\r\nJos Stam\r\r\n\r\r\r\nPractical Animation of Liquids\r\r\nNick F"
},
{
"path": "fgl/siggraph2001/sigsketch.txt",
"chars": 11451,
"preview": "An Interactive System for Robust Topological Modeling of Meshes \r\r\nErgun Akleman\r\r\n\r\r\r\nMapping-independent triangulation"
},
{
"path": "fgl/siggraph2002/CVS/Entries",
"chars": 505,
"preview": "/contest.htm/1.1/Tue Jun 24 12:12:41 2008//\n/costframe.htm/1.2/Wed Sep 23 14:51:35 2009//\n/donback.gif/1.1/Tue Jun 24 12"
},
{
"path": "fgl/siggraph2002/CVS/Entries.Extra",
"chars": 246,
"preview": "/contest.htm////*////\n/costframe.htm////*////\n/donback.gif////*////\n/donfront.gif////*////\n/entry.htm////*////\n/entryfra"
},
{
"path": "fgl/siggraph2002/CVS/Entries.Extra.Old",
"chars": 0,
"preview": ""
},
{
"path": "fgl/siggraph2002/CVS/Entries.Old",
"chars": 0,
"preview": ""
},
{
"path": "fgl/siggraph2002/CVS/Repository",
"chars": 30,
"preview": "RTR3/website/fgl/siggraph2002\n"
},
{
"path": "fgl/siggraph2002/CVS/Root",
"chars": 55,
"preview": ":pserver:erich@cvs.cs.lth.se:/local/cvs/repository-tam\n"
},
{
"path": "fgl/siggraph2002/CVS/Template",
"chars": 0,
"preview": ""
},
{
"path": "fgl/siggraph2002/contest.htm",
"chars": 17365,
"preview": "<!doctype html public \"-//w3c//dtd html 4.0 transitional//en\">\r\r\n<html>\r\r\n<head>\r\r\n <meta http-equiv=\"Content-Type\" co"
},
{
"path": "fgl/siggraph2002/costframe.htm",
"chars": 88012,
"preview": "<html>\n<head>\n <title>Costs Frame</title>\n</head>\n<body>\n<table cellpadding=\"2\">\n<tr>\n<td><b>Num.</b></td>\n<td><b>Auth"
},
{
"path": "fgl/siggraph2002/entry.htm",
"chars": 228,
"preview": "<html>\r\r\n<head>\r\r\n <title>Fantasy Graphics League Entry Form</title>\r\r\n</head>\r\r\n<frameset cols=\"60%,40%\">\r\r\n<frame sr"
},
{
"path": "fgl/siggraph2002/entryframe.htm",
"chars": 2689,
"preview": "<html>\n\n<head>\n\n <title>Entry Form Frame</title>\n\n</head>\n\n<body>\n\n<h1>Fantasy Graphics League Entry Form</h1>\n\n<form "
},
{
"path": "fgl/siggraph2002/index.htm",
"chars": 8226,
"preview": "<!doctype html public \"-//w3c//dtd html 4.0 transitional//en\">\r\r\n<html>\r\r\n<head>\r\r\n <meta http-equiv=\"Content-Type\" co"
},
{
"path": "fgl/siggraph2002/prelim.htm",
"chars": 6929,
"preview": "<!doctype html public \"-//w3c//dtd html 4.0 transitional//en\">\n<html>\n<head>\n <meta http-equiv=\"Content-Type\" content="
},
{
"path": "fgl/siggraph2003/CVS/Entries",
"chars": 408,
"preview": "/auth_alpha.txt/1.1/Tue Jun 24 12:12:41 2008//\n/contest.htm/1.1/Tue Jun 24 12:12:41 2008//\n/costframe.htm/1.2/Wed Sep 23"
},
{
"path": "fgl/siggraph2003/CVS/Entries.Extra",
"chars": 202,
"preview": "/auth_alpha.txt////*////\n/contest.htm////*////\n/costframe.htm////*////\n/entry.htm////*////\n/entryframe.htm////*////\n/ind"
},
{
"path": "fgl/siggraph2003/CVS/Entries.Extra.Old",
"chars": 0,
"preview": ""
},
{
"path": "fgl/siggraph2003/CVS/Entries.Old",
"chars": 0,
"preview": ""
},
{
"path": "fgl/siggraph2003/CVS/Repository",
"chars": 30,
"preview": "RTR3/website/fgl/siggraph2003\n"
},
{
"path": "fgl/siggraph2003/CVS/Root",
"chars": 55,
"preview": ":pserver:erich@cvs.cs.lth.se:/local/cvs/repository-tam\n"
},
{
"path": "fgl/siggraph2003/CVS/Template",
"chars": 0,
"preview": ""
},
{
"path": "fgl/siggraph2003/auth_alpha.txt",
"chars": 25734,
"preview": "\r\r\r\n\r\r\r\n\r\r\r\n\r\r\r\nData for all authors with a cost\r\r\n### Value Cost Efficiency Name\r\r\n==============================\r\r\n 1"
},
{
"path": "fgl/siggraph2003/contest.htm",
"chars": 3344,
"preview": "<!doctype html public \"-//w3c//dtd html 4.0 transitional//en\">\r\r\n<html>\r\r\n<head>\r\r\n <meta http-equiv=\"Content-Type\" co"
},
{
"path": "fgl/siggraph2003/costframe.htm",
"chars": 93210,
"preview": "<html>\n<head>\n <title>Costs Frame</title>\n</head>\n<body>\n<table cellpadding=\"2\">\n<tr>\n<td><b>Num.</b></td>\n<td><b>Auth"
},
{
"path": "fgl/siggraph2003/entry.htm",
"chars": 228,
"preview": "<html>\r\r\n<head>\r\r\n <title>Fantasy Graphics League Entry Form</title>\r\r\n</head>\r\r\n<frameset cols=\"60%,40%\">\r\r\n<frame sr"
},
{
"path": "fgl/siggraph2003/entryframe.htm",
"chars": 2585,
"preview": "<html>\n\n<head>\n\n <title>Entry Form Frame</title>\n\n</head>\n\n<body>\n\n<h1>Fantasy Graphics League Entry Form</h1>\n\n<form "
},
{
"path": "fgl/siggraph2003/index.htm",
"chars": 7342,
"preview": "<!doctype html public \"-//w3c//dtd html 4.0 transitional//en\">\n<html>\n<head>\n <meta http-equiv=\"Content-Type\" content="
},
{
"path": "fgl/siggraph2003/prelim.htm",
"chars": 5665,
"preview": "<!doctype html public \"-//w3c//dtd html 4.0 transitional//en\">\n<html>\n<head>\n <meta http-equiv=\"Content-Type\" content="
},
{
"path": "fgl/siggraph2004/CVS/Entries",
"chars": 410,
"preview": "/auth_alpha.txt/1.1/Tue Jun 24 12:12:41 2008//\n/contest.htm/1.1/Tue Jun 24 12:12:41 2008//\n/costframe.htm/1.2/Wed Sep 23"
},
{
"path": "fgl/siggraph2004/CVS/Entries.Extra",
"chars": 207,
"preview": "/auth_alpha.txt////*////\n/contest.htm////*////\n/costframe.htm////*////\n/entry.htm////*////\n/entryframe.htm////*////\n/ind"
},
{
"path": "fgl/siggraph2004/CVS/Entries.Extra.Old",
"chars": 0,
"preview": ""
},
{
"path": "fgl/siggraph2004/CVS/Entries.Old",
"chars": 0,
"preview": ""
},
{
"path": "fgl/siggraph2004/CVS/Repository",
"chars": 30,
"preview": "RTR3/website/fgl/siggraph2004\n"
},
{
"path": "fgl/siggraph2004/CVS/Root",
"chars": 55,
"preview": ":pserver:erich@cvs.cs.lth.se:/local/cvs/repository-tam\n"
},
{
"path": "fgl/siggraph2004/CVS/Template",
"chars": 0,
"preview": ""
},
{
"path": "fgl/siggraph2004/auth_alpha.txt",
"chars": 29078,
"preview": "\r\r\r\n\r\r\r\n\r\r\r\n\r\r\r\nData for all authors with a cost\r\r\n### Value Cost Efficiency Name\r\r\n==============================\r\r\n 2"
},
{
"path": "fgl/siggraph2004/contest.htm",
"chars": 6530,
"preview": "<!doctype html public \"-//w3c//dtd html 4.0 transitional//en\">\r\r\n<html>\r\r\n<head>\r\r\n <meta http-equiv=\"Content-Type\" co"
},
{
"path": "fgl/siggraph2004/costframe.htm",
"chars": 105275,
"preview": "<html>\n<head>\n <title>Costs Frame</title>\n</head>\n<body>\n<table cellpadding=\"2\">\n<tr>\n<td><b>Num.</b></td>\n<td><b>Auth"
},
{
"path": "fgl/siggraph2004/entry.htm",
"chars": 228,
"preview": "<html>\r\r\n<head>\r\r\n <title>Fantasy Graphics League Entry Form</title>\r\r\n</head>\r\r\n<frameset cols=\"60%,40%\">\r\r\n<frame sr"
},
{
"path": "fgl/siggraph2004/entryframe.htm",
"chars": 2585,
"preview": "<html>\n\n<head>\n\n <title>Entry Form Frame</title>\n\n</head>\n\n<body>\n\n<h1>Fantasy Graphics League Entry Form</h1>\n\n<form "
},
{
"path": "fgl/siggraph2004/index.htm",
"chars": 10849,
"preview": "<!doctype html public \"-//w3c//dtd html 4.0 transitional//en\">\r\r\n<html>\r\r\n<head>\r\r\n <meta http-equiv=\"Content-Type\" co"
},
{
"path": "fgl/siggraph2004/prelim.htm",
"chars": 6717,
"preview": "<!doctype html public \"-//w3c//dtd html 4.0 transitional//en\">\n\n<html>\n\n<head>\n\n <meta http-equiv=\"Content-Type\" conte"
},
{
"path": "fgl/siggraph2004/sigsketch.txt",
"chars": 11196,
"preview": "Stormy Weather\r\r\nWilli Geiger\r\r\n\r\r\r\nTile-Based Texture Mapping on Graphics Hardware\r\r\nLi-Yi Wei\r\r\n\r\r\r\nSuperimposing Pict"
},
{
"path": "fgl/siggraph2005/CVS/Entries",
"chars": 876,
"preview": "/auth_val.txt/1.1/Tue Jun 24 12:12:41 2008//\n/contest.htm/1.1/Tue Jun 24 12:12:41 2008//\n/costframe.htm/1.2/Wed Sep 23 1"
},
{
"path": "fgl/siggraph2005/CVS/Entries.Extra",
"chars": 395,
"preview": "/auth_val.txt////*////\n/contest.htm////*////\n/costframe.htm////*////\n/entry.htm////*////\n/entryframe.htm////*////\n/es1.j"
},
{
"path": "fgl/siggraph2005/CVS/Entries.Extra.Old",
"chars": 0,
"preview": ""
},
{
"path": "fgl/siggraph2005/CVS/Entries.Old",
"chars": 0,
"preview": ""
},
{
"path": "fgl/siggraph2005/CVS/Repository",
"chars": 30,
"preview": "RTR3/website/fgl/siggraph2005\n"
},
{
"path": "fgl/siggraph2005/CVS/Root",
"chars": 55,
"preview": ":pserver:erich@cvs.cs.lth.se:/local/cvs/repository-tam\n"
},
{
"path": "fgl/siggraph2005/CVS/Template",
"chars": 0,
"preview": ""
},
{
"path": "fgl/siggraph2005/auth_val.txt",
"chars": 6642,
"preview": "\r\r\r\n\r\r\r\n\r\r\r\n\r\r\r\nAuthors ranked by highest point value\r\r\n### Value Cost Efficiency Name\r\r\n==============================\r"
},
{
"path": "fgl/siggraph2005/contest.htm",
"chars": 6188,
"preview": "<!doctype html public \"-//w3c//dtd html 4.0 transitional//en\">\r\r\n<html>\r\r\n<head>\r\r\n <meta http-equiv=\"Content-Type\" co"
},
{
"path": "fgl/siggraph2005/costframe.htm",
"chars": 115275,
"preview": "<html>\n<head>\n <title>Costs Frame</title>\n</head>\n<body>\n<table cellpadding=\"2\">\n<tr>\n<td><b>Num.</b></td>\n<td><b>Auth"
},
{
"path": "fgl/siggraph2005/entry.htm",
"chars": 228,
"preview": "<html>\r\r\n<head>\r\r\n <title>Fantasy Graphics League Entry Form</title>\r\r\n</head>\r\r\n<frameset cols=\"60%,40%\">\r\r\n<frame sr"
},
{
"path": "fgl/siggraph2005/entryframe.htm",
"chars": 2575,
"preview": "<html>\n\n<head>\n\n <title>Entry Form Frame</title>\n\n</head>\n\n<body>\n\n<h1>Fantasy Graphics League Entry Form</h1>\n\n<form "
},
{
"path": "fgl/siggraph2005/index.htm",
"chars": 11400,
"preview": "<!doctype html public \"-//w3c//dtd html 4.0 transitional//en\">\n<html>\n<head>\n <meta http-equiv=\"Content-Type\" content="
},
{
"path": "fgl/siggraph2005/prelim.htm",
"chars": 5678,
"preview": "<!doctype html public \"-//w3c//dtd html 4.0 transitional//en\">\n<html>\n<head>\n <meta http-equiv=\"Content-Type\" content="
},
{
"path": "figure_data.js",
"chars": 11956,
"preview": "/* exported\n chapter_list\n figure_files\n*/\n\n// List of chapter titles.\nvar chapter_list = {\n 1 : 'Introduction',"
},
{
"path": "figure_data_extended.js",
"chars": 11956,
"preview": "/* exported\n chapter_list\n figure_files\n*/\n\n// List of chapter titles.\nvar chapter_list = {\n 1 : 'Introduction',"
},
{
"path": "figures.html",
"chars": 5519,
"preview": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\""
},
{
"path": "figures.js",
"chars": 4767,
"preview": "/* globals\n Blazy\n chapter_list\n figure_files\n*/\n\n// Call initialize() after the page has loaded.\n$( initialize );"
},
{
"path": "gd.html",
"chars": 28065,
"preview": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">\r\r\n<html xm"
},
{
"path": "globillum/Globillum_1990_to_1999_ward.txt",
"chars": 1822016,
"preview": "From ph@miro.Berkeley.EDU Mon Aug 13 14:11:25 1990\nReturn-Path: <ph@miro.Berkeley.EDU>\nReceived: from miro.Berkeley.EDU "
},
{
"path": "globillum/Globillum_1994_to_2019.txt",
"chars": 6263873,
"preview": "From \r\r\nX-POP3-Rcpt: wp@eigsg1\r\r\nReceived: from email.tuwien.ac.at by eigsg1.tuwien.ac.at via SMTP (931110.SGI/910805.SG"
},
{
"path": "globillum/Globillum_1994_to_2019_single_space.txt",
"chars": 6156697,
"preview": "From \r\nX-POP3-Rcpt: wp@eigsg1\r\nReceived: from email.tuwien.ac.at by eigsg1.tuwien.ac.at via SMTP (931110.SGI/910805.SGI)"
},
{
"path": "globillum/index.html",
"chars": 3160,
"preview": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\""
},
{
"path": "golden.html",
"chars": 9174,
"preview": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\""
},
{
"path": "index.html",
"chars": 99760,
"preview": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\""
},
{
"path": "index_old.html",
"chars": 92866,
"preview": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\""
},
{
"path": "index_rtr2.html",
"chars": 169702,
"preview": "<html>\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\">\n <meta name=\"description\" co"
},
{
"path": "index_rtr3.html",
"chars": 66931,
"preview": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\""
},
{
"path": "int/CVS/Entries",
"chars": 139,
"preview": "/index.html/1.7/Sun Aug 17 14:55:07 2008//\n/int2html.pl/1.9/Thu Sep 24 23:38:53 2009//\n/intersections.txt/1.7/Fri Feb 25"
},
{
"path": "int/CVS/Entries.Extra",
"chars": 71,
"preview": "/index.html////*////\n/int2html.pl////*////\n/intersections.txt////*////\n"
},
{
"path": "int/CVS/Entries.Extra.Old",
"chars": 0,
"preview": ""
},
{
"path": "int/CVS/Entries.Old",
"chars": 0,
"preview": ""
},
{
"path": "int/CVS/Repository",
"chars": 17,
"preview": "RTR3/website/int\n"
},
{
"path": "int/CVS/Root",
"chars": 55,
"preview": ":pserver:erich@cvs.cs.lth.se:/local/cvs/repository-tam\n"
},
{
"path": "int/CVS/Template",
"chars": 0,
"preview": ""
},
{
"path": "int/_How_to_update_intersections.txt",
"chars": 481,
"preview": "Make fixes to intersections.txt\n\nThere are also links to other resources in int2html.pl - worth a Xenu check to see what"
},
{
"path": "int/index.html",
"chars": 328,
"preview": "<html>\n<head>\n<title>Moved</title>\n <meta http-equiv=\"Refresh\" content=\"0; url=http://www.realtimerendering.com/interse"
},
{
"path": "int/int2html.pl",
"chars": 25685,
"preview": "#!/usr/contrib/bin/perl\n# read intersections.txt and produce HTML version of table\n\n#$| = 1 ;\t# turn off output bufferin"
},
{
"path": "int/int2html1.pl",
"chars": 23236,
"preview": "#!/usr/contrib/bin/perl\n# read intersections.txt and produce HTML version of table\n\n$| = 1 ;\t# turn off output buffering"
},
{
"path": "int/int2html2.pl",
"chars": 25052,
"preview": "#!/usr/contrib/bin/perl\n# read intersections.txt and produce HTML version of table\n\n#$| = 1 ;\t# turn off output bufferin"
},
{
"path": "int/intersections.html",
"chars": 67698,
"preview": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\""
},
{
"path": "int/intersections.txt",
"chars": 22699,
"preview": "# A. point\nB. ray\nC. plane\nD. sphere\nE. capsule / capsule\nF. (flat-capped) cylinder / cylinder\nG. (flat-capped) cone / c"
},
{
"path": "int/intersections1.txt",
"chars": 12449,
"preview": "# A. point\nB. ray\nC. plane\nD. sphere\nE. (capped) cylinder / cylinder\nF. (capped) cone / cone\nG. triangle (polygon) / tri"
},
{
"path": "int/intersections2.txt",
"chars": 20449,
"preview": "# A. point\nB. ray\nC. plane\nD. sphere\nE. (flat-capped) cylinder / cylinder\nF. (flat-capped) cone / cone\nG. triangle (poly"
},
{
"path": "int/intersections_half.html",
"chars": 49168,
"preview": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\""
},
{
"path": "intersections.html",
"chars": 67698,
"preview": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\""
},
{
"path": "intro.html",
"chars": 4289,
"preview": "<html>\n\n<head>\n\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\">\n\n <meta name=\"description\""
},
{
"path": "ke-senhuang'shomepagechangelog.html",
"chars": 98304,
"preview": "<!DOCTYPE HTML PUBLIC \"-//IETF//DTD HTML//EN\">\n<html><head><title>Resource for Computer Graphics - Ke-Sen Huang's Ho"
},
{
"path": "open_access.html",
"chars": 23792,
"preview": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\""
},
{
"path": "portal/index.html",
"chars": 325,
"preview": "<html>\r\r\n<head>\r\r\n<title>Moved</title>\r\r\n <meta http-equiv=\"Refresh\" content=\"0; url=http://www.realtimerendering.com/p"
},
{
"path": "portal.html",
"chars": 33746,
"preview": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
},
{
"path": "preface.html",
"chars": 6691,
"preview": "<html>\n\n<head>\n\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\">\n\n <meta name=\"description\""
},
{
"path": "random.html",
"chars": 3772,
"preview": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\""
},
{
"path": "raytracing/roundtable.html",
"chars": 1222,
"preview": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\""
},
{
"path": "raytracing/roundup.html",
"chars": 52711,
"preview": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\""
},
{
"path": "raytracing.html",
"chars": 43356,
"preview": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\""
},
{
"path": "raytracinggems/index.html",
"chars": 1526,
"preview": "<!DOCTYPE html>\n<!-- from https://www.w3schools.com/w3css/w3css_templates.asp, the Jane Doe template -->\n<html>\n<head>\n<"
},
{
"path": "raytracinggems/rtg/index.html",
"chars": 11996,
"preview": "<!DOCTYPE html>\n<!-- from https://www.w3schools.com/w3css/w3css_templates.asp, the Jane Doe template -->\n<html>\n<head>\n<"
},
{
"path": "raytracinggems/rtg2/index.html",
"chars": 11893,
"preview": "<!DOCTYPE html>\n<!-- from https://www.w3schools.com/w3css/w3css_templates.asp, the Jane Doe template -->\n<html>\n<head>\n<"
},
{
"path": "raytracinggems/rtg2_cfp.html",
"chars": 339,
"preview": "<!DOCTYPE html>\n<html>\n <head>\n <title>Ray Tracing Gems II redirect</title>\n <meta http-equiv = \"refresh\" co"
},
{
"path": "realartifacts/index.html",
"chars": 32963,
"preview": "<!doctype html>\n<html>\n<meta charset=\"utf-8\">\n<title>Real Artifacts</title>\n<body bgcolor=#FFFFFF>\n<h1>Real Artifacts</h"
},
{
"path": "refs.html",
"chars": 750804,
"preview": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\""
},
{
"path": "refs1.html",
"chars": 87717,
"preview": "<html>\n<head>\n <meta name=\"description\" content=\"Real-Time Rendering Bibliography\">\n <meta name=\"keywords\" content=\""
},
{
"path": "refs2.html",
"chars": 185690,
"preview": "<html>\n<head>\n <meta name=\"description\" content=\"Real-Time Rendering Bibliography\">\n <meta name=\"keywords\" content"
},
{
"path": "refs3.html",
"chars": 318610,
"preview": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\""
},
{
"path": "resources/SPD/.gitignore",
"chars": 16,
"preview": "spd.pdf\nspd*.zip"
},
{
"path": "resources/SPD/NFF.TXT",
"chars": 8162,
"preview": "Neutral File Format,\n by Eric Haines, Autodesk, 1050 Craft Road, Ithaca, NY 14850\n email: erich@acm.org\n\nDraft #1"
},
{
"path": "resources/SPD/havran_stats_grids.txt",
"chars": 46450,
"preview": "Comparison of hierarchical grids\n================================\n\nAuthors:\n\nVlastimil Havran and Filip Sixta\nDepartment"
},
{
"path": "resources/SPD/havran_stats_octrees.txt",
"chars": 46700,
"preview": "Comparison of Octree Traversal Algorithms\n=========================================\nAuthor: Vlastimil Havran\n\nDepartment"
},
{
"path": "resources/SPD/index.html",
"chars": 17503,
"preview": "<HTML>\n\n<!-- Mirrored from www.realtimerendering.com/resources/SPD/ by HTTrack Website Copier/3.x [XR&CO'2014], Sun, 25 "
},
{
"path": "resources/shaderx/index.html",
"chars": 16489,
"preview": "<html>\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\">\n <meta name=\"description\" co"
},
{
"path": "robots.txt",
"chars": 80,
"preview": "# robots.txt\n\nUser-agent: *\nDisallow: /rtr4_staging/ # this will soon disappear\n"
},
{
"path": "rtr3.css",
"chars": 4313,
"preview": "/* Initial cleanup\n----------------------------------------------- */\nhtml, body { margin: 0; padding: 0; }\n\n\n/* Main st"
},
{
"path": "rtr4.css",
"chars": 4365,
"preview": "/* Initial cleanup\n----------------------------------------------- */\nhtml, body { margin: 0; padding: 0; }\n\n\n/* Main st"
},
{
"path": "sig2010.html",
"chars": 11184,
"preview": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\""
},
{
"path": "sig2013-changelog.html",
"chars": 44823,
"preview": "<!DOCTYPE HTML PUBLIC \"-//IETF//DTD HTML//EN\">\n<html><head><title>SIGGRAPH 2013 Changelog</title></head><body>\n<center>\n"
},
{
"path": "sig2013.html",
"chars": 134061,
"preview": "<!DOCTYPE HTML PUBLIC \"-//IETF//DTD HTML//EN\">\n<html><head><title>SIGGRAPH 2013 Papers</title></head><body>\n<center>\n<h1"
},
{
"path": "sqrt.c",
"chars": 4814,
"preview": "#include <stdio.h>\r\r\n#include <math.h>\r\r\n#include <windows.h>\r\r\n\r\r\r\n\r\r\r\n// Main function prototypes:\r\r\n\r\r\r\nfloat SquareR"
},
{
"path": "threejs/_failing.txt",
"chars": 1177,
"preview": "Demos failing:\n\nhttp://threejs.org/examples/#webgl_geometry_extrude_shapes\nhttp://threejs.org/examples/#webgl_interactiv"
},
{
"path": "threejs/codeFileChecker.pl",
"chars": 17221,
"preview": "#!/usr/bin/perl -w\n\n# Perl script that looks for bad code usage.\n# See https://share.autodesk.com/sites/Airmax/airviz/AI"
},
{
"path": "threejs/codeFixer.pl",
"chars": 5029,
"preview": "#!/usr/contrib/bin/perl\n# fix lines in a given file.\n\n# get file, fix it.\n# simple filter program: read file(s), process"
},
{
"path": "threejs/index.html",
"chars": 80818,
"preview": "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01//EN\" \"http://www.w3.org/TR/html4/strict.dtd\">\n<html><head><meta content=\"te"
},
{
"path": "threejs/index1.html",
"chars": 64454,
"preview": "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01//EN\" \"http://www.w3.org/TR/html4/strict.dtd\">\n<html><head><meta content=\"te"
},
{
"path": "threejs/index2.html",
"chars": 80333,
"preview": "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01//EN\" \"http://www.w3.org/TR/html4/strict.dtd\">\n<html><head><meta content=\"te"
},
{
"path": "threejs/list2html.pl",
"chars": 1031,
"preview": "#!/usr/contrib/bin/perl\n# fix lines in a given file.\n#\n# perl list2html.pl new_ones.txt > new.html\n\n# get file of names "
},
{
"path": "threejs/new.html",
"chars": 79948,
"preview": "\n<h1>webgl</h1>\n<a href=\"http://threejs.org/examples/#webgl_animation_cloth\">\n<img src=\"./webgl/webgl_animation_cloth.jp"
},
{
"path": "threejs/new_ones.txt",
"chars": 8911,
"preview": "webgl_animation_cloth\nwebgl_animation_keyframes_json\nwebgl_animation_scene\nwebgl_animation_skinning_blending\nwebgl_anima"
},
{
"path": "threejs/new_ones.txt~",
"chars": 6711,
"preview": "animation_cloth\nanimation_keyframes_json\nanimation_scene\nanimation_skinning_blending\nanimation_skinning_morph\ncamera\ncam"
},
{
"path": "threejs/new_ones1.txt",
"chars": 8911,
"preview": "webgl_animation_cloth\nwebgl_animation_keyframes_json\nwebgl_animation_scene\nwebgl_animation_skinning_blending\nwebgl_anima"
},
{
"path": "threejs/newish_ones.txt",
"chars": 6711,
"preview": "animation_cloth\nanimation_keyframes_json\nanimation_scene\nanimation_skinning_blending\nanimation_skinning_morph\ncamera\ncam"
},
{
"path": "threejs/thumbs2html.pl",
"chars": 2672,
"preview": "#!/usr/bin/perl -w\n\nuse File::Find;\n\nmy $translationFile = \"index.html\";\n\nmy $outputTitle = \"Three.js Examples\";\n\nmy $pr"
},
{
"path": "threejs/thumbs2html1.pl",
"chars": 1251,
"preview": "#!/usr/bin/perl -w\n\nuse File::Find;\n\nmy $translation_file = \"index.html\";\n\nmy $pragma='';\nmy $ifndef='';\nmy $ogs_include"
},
{
"path": "threejs/thumbs2html2.pl",
"chars": 1761,
"preview": "#!/usr/bin/perl -w\n\nuse File::Find;\n\nmy $translationFile = \"index.html\";\n\nmy $outputTitle = \"Three.js Examples\";\n\nmy $pr"
},
{
"path": "usd_gltf.html",
"chars": 18247,
"preview": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\""
}
]
// ... and 3 more files (download for full content)
About this extraction
This page contains the full source code of the erich666/RealTimeRendering GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 203 files (17.8 MB), approximately 4.7M tokens, and a symbol index with 8 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.