代码拉取完成,页面将自动刷新
digraph {
compound=true
fontname="Futura"
fontsize=20
margin="0,0"
ranksep=0.25
nodesep=0.15
penwidth=0.5
labeljust="left"
bgcolor="#666666"
style="rounded,filled"
color="none"
fillcolor=""
node [fontname="Helvetica-Light", fontsize=10, shape=none, penwidth=0.5]
edge [fontname="Helvetica-Light", fontsize=10, arrowhead=vee, arrowsize=0.75]
subgraph cluster_toc {
style=invis;
edge [color="#cccccc"]
{
node [fontcolor=white]
toctop [fixedsize=true,width=8, height=3, shape=plaintext,label=<
<TABLE BORDER="0">
<TR><TD><FONT FACE="Futura" POINT-SIZE="40">A STUDY PATH FOR</FONT></TD></TR>
<TR><TD><FONT FACE="Futura-Bold" POINT-SIZE="40">GAME PROGRAMMER</FONT></TD></TR>
<TR><TD><FONT FACE="Futura" POINT-SIZE="20">Milo Yip<br/>2017/8/7</FONT></TD></TR>
<TR><TD>https://github.com/miloyip/game-programmer</TD></TR>
</TABLE>
> URL="https://github.com/miloyip/game-programmer"]
tocbottom [fixedsize=true,width=8,height=0.01,style=invis,label=""]
}
{
node [shape="box", style="rounded,filled", fixedsize=true, width=3, height=0.5, fontname="Futura", fontsize=10]
kid [color="#edc5ce", label=<0. Game Programming for Kids>]
cs [color="#edc5c5", label="1. Computer Science"]
proglang [color="#eddac5", label="2. Programming Languages"]
softwaredev [color="#ebebc6", label="3. Software Development"]
math [color="#d9ebc6", label=<4. Mathematics for Game Programming>]
gameprog [color="#c5edc5", label="5. Game Programming"]
gameengine [color="#c5ede1", label=<6. Game Engine Development>]
cg [color="#c5e1ed", label="7. Computer Graphics"]
audio [color="#c5cbed", label="8. Game Audio"]
phyanim [color="#d7c5ed", label=<9. Game Physics and Animation>]
ai [color="#edc5ed", label=<10. Game Artificial Intelligence>]
multiplayer [color="#edc5d7", label=<11. Multiplayer Game Programming>]
}
kid -> cs -> proglang -> softwaredev -> math -> gameprog -> gameengine
gameengine -> cg -> audio -> phyanim -> ai -> multiplayer[style=invis]
gameengine -> { cg; phyanim; ai; audio; multiplayer} [tailport=e, headport=e, constraint=false]
toctop -> kid [style=invis]
multiplayer -> tocbottom [style=invis]
}
edge [style=dotted]
subgraph cluster_legend {
fillcolor="#dddddd"
label=<<TABLE BORDER="0" CELLPADDING="10"><TR><TD>Legends</TD></TR></TABLE>>
node [shape=none, fixedsize=true, width=2, height=0.25]
legendA1 [label="Recommended Path"]
legendB1 [label="Optional Path"]
legendA2 [label="", height=0.01]
legendB2 [label="", height=0.01]
legendA1 -> legendA2 [minlen=2,arrowhead=normal, style=solid]
legendB1 -> legendB2 [minlen=2]
legendtop [fixedsize=true,width=8,height=0.01,style=invis,label=""]
legendbottom [fixedsize=true,width=8,height=0.01,style=invis,label=""]
legendtop -> { legendA1; legendB1 } [style=invis]
{ legendA2; legendB2 } -> legendbottom [style=invis]
}
subgraph cluster_kid {
fillcolor="#f9ecef"
label=<<TABLE BORDER="0" CELLPADDING="10"><TR><TD>0. Game Programming for Kids</TD></TR></TABLE>>
{
node [shape="box", style="rounded,filled" color="#edc5ce"]
{
rank=same
age5 [label="Beginning from Age of 5"]
age8 [label="Beginning from Age of 8"]
}
kidintermediate [label="Intermediate Game Programming for Kids"]
}
scratchjr [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/scratchjr.jpg"/></TD></TR><TR><TD>The Official<br/>ScratchJr Book (2015)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/1593276710/"]
codinggamesinscratch [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/codinggamesinscratch.jpg"/></TD></TR><TR><TD>Coding Games<br/>in Scratch<br/>(2015)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/1465439358/"]
superscratchprogadv [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/superscratchprogadv.jpg"/></TD></TR><TR><TD>Super Scratch<br/>Programming Adventure!<br/>(2013)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/1593275315/"]
learntoprogramwithscratch [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/learntoprogramwithscratch.jpg"/></TD></TR><TR><TD>Learn to Program<br/> with Scratch<br/>(2014)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/1593275439/"]
helpyoukidswithcomputercoding [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/helpyoukidswithcomputercoding.jpg"/></TD></TR><TR><TD>Help Your Kids<br/>with Computer Coding<br/>(2015)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/146541956X/"]
inventgamepython4 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/inventgamepython4.jpg"/></TD></TR><TR><TD>Invent Your Own<br/>Computer Games with<br/>Python 4th Ed (2016)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/1593277954/"]
makinggamespython [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/makinggamespython.jpg"/></TD></TR><TR><TD>Making Games with<br/>Python & Pygame (2012)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/1469901730/"]
learntoprogramwithminecraft [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/learntoprogramwithminecraft.jpg"/></TD></TR><TR><TD>Learn to Program<br/>with Minecraft (2015)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/1593276702/"]
adventuresinminecraft [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/adventuresinminecraft.jpg"/></TD></TR><TR><TD>Adventures in<br/>Minecraft (2014)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/111894691X/"]
"3dgpforkids" [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/3dgpforkids.jpg"/></TD></TR><TR><TD>3D Game Programming<br/>for Kids (2013)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/1937785440/"]
age5 -> scratchjr -> age8
age8 -> codinggamesinscratch -> helpyoukidswithcomputercoding -> kidintermediate [arrowhead=normal, style=solid]
age8 -> superscratchprogadv -> learntoprogramwithscratch -> kidintermediate
kidintermediate -> inventgamepython4 -> makinggamespython
kidintermediate -> learntoprogramwithminecraft -> adventuresinminecraft
kidintermediate -> "3dgpforkids"
kidtop [fixedsize=true,width=8,height=0.01,style=invis, label=""]
kidbottom [fixedsize=true,width=8,height=0.01,style=invis,label=""]
kidtop -> {age5; age8} [style=invis]
adventuresinminecraft -> kidbottom [style=invis]
}
subgraph cluster_cs {
fillcolor="#f9ecec"
label=<<TABLE BORDER="0" CELLPADDING="10"><TR><TD>1. Computer Science</TD></TR></TABLE>>
{
node [shape="box", style="rounded,filled" color="#edc5c5"]
rank=same
foundation [label="CS Foundation"]
algorithm [label="Algorithm"]
csmath [label="Mathematics for CS"]
}
sicp2 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/sicp2.jpg"/></TD></TR><TR><TD>Structure and Interpretation<br/>of Computer Programs<br/>(SICP) 2nd Ed (1996)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/0262510871/"]
csapp3 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/csapp3.jpg"/></TD></TR><TR><TD>Computer Systems<br/>(CSAPP) 3rd Ed (2015)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/013409266X/"]
caaqa5 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/caaqa5.jpg"/></TD></TR><TR><TD>Computer Architecture<br/>(CAAQA) 5th Ed (2011)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/012383872X/"]
mos4 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/mos4.jpg"/></TD></TR><TR><TD>Modern Operating<br/>System (MOS)<br/>4th Ed (2014)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/013359162X/"]
clrs3 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/clrs3.jpg"/></TD></TR><TR><TD>Introduction to<br/>Algorithms (CLRS)<br/>3rd Ed (2009)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/0262033844/"]
algorithms4 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/algorithms4.jpg"/></TD></TR><TR><TD>Algorithms<br/>4th Ed (2011)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/032157351X/"]
concretemaths2 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/concretemaths2.jpg"/></TD></TR><TR><TD>Concrete Mathematics<br/>2nd Ed (1994)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/0201558025/"]
computationalscieng [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/computationalscieng.jpg"/></TD></TR><TR><TD>Computational Science<br/>and Engineering (2007)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/0961408812/"]
foundation -> { sicp2; csapp3 } -> { caaqa5; mos4 } [arrowhead=normal, style=solid]
algorithm -> clrs3 [arrowhead=normal, style=solid]
algorithm -> algorithms4 -> clrs3
csmath -> concretemaths2 -> computationalscieng
cstop [fixedsize=true,width=8,height=0.01,style=invis, label=""]
csbottom [fixedsize=true,width=8,height=0.01,style=invis,label=""]
cstop -> { foundation; csmath; algorithm } [style=invis]
caaqa5 -> csbottom [style=invis]
}
subgraph cluster_proglang {
fillcolor="#f9f3ec"
label=<<TABLE BORDER="0" CELLPADDING="10"><TR><TD>2. Programming Languages</TD></TR></TABLE>>
{
node [shape="box", style="rounded,filled" color="#eddac5"]
{
rank=same
cbegin [label="C"]
lua [label="Lua"]
csharp [label="C#"]
}
cppbegin [label="Beginning C++"]
cpppractice [label="C++ Practice"]
cpplibrary [label="C++ Standard Library"]
cppadvance [label="Advanced C++"]
}
tcpl2 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/tcpl2.jpg"/></TD></TR><TR><TD>The C Programming<br/>Language (TCPL)<br/>2nd Ed (1988)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/0131103628/"]
cppprimer5 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/cppprimer5.jpg"/></TD></TR><TR><TD>C++ Primer<br/>(CPPP) 5th Ed (2012)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/0321714113/"]
tcpppl4 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/tcpppl4.jpg"/></TD></TR><TR><TD>The C++ Programming<br/>Language (TCPPPL)<br/>4th Ed (2014)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/0321563840/"]
cppstandardlibrary2 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/cppstandardlibrary2.jpg"/></TD></TR><TR><TD>The C++ Standard<br/>Library 2nd Ed (2012)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/0321623215/"]
boostcpplibraries2 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/boostcpplibraries2.jpg"/></TD></TR><TR><TD>The Boost C++<br/>Libraries 2nd Ed (2014)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/1937434362/"]
cppconcurrencyinaction [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/cppconcurrencyinaction.jpg"/></TD></TR><TR><TD>C++ Concurrency<br/>in Action (2012)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/1933988770/"]
effectivestl [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/effectivestl.jpg"/></TD></TR><TR><TD>Effective STL (2001)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/0201749629/"]
exceptionalcpp [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/exceptionalcpp.jpg"/></TD></TR><TR><TD>Exceptional C++<br/>(1999)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/0201615622/"]
moreexceptionalcpp [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/moreexceptionalcpp.jpg"/></TD></TR><TR><TD>More Exceptional<br/>C++ (2001)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/020170434X/"]
exceptionalcppstyle [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/exceptionalcppstyle.jpg"/></TD></TR><TR><TD>Exceptional C++<br/>Style (2004)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/0201760428/"]
cppcodingstandard [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/cppcodingstandard.jpg"/></TD></TR><TR><TD>C++ Coding<br/>Standards (2004)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/0321113586/"]
effectivecpp3 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/effectivecpp3.jpg"/></TD></TR><TR><TD>Effective C++<br/>3rd Ed (2005)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/0321334876/"]
moreeffectivecpp3 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/moreeffectivecpp.jpg"/></TD></TR><TR><TD>More Effective<br/>C++ (1996)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/020163371X/"]
effectivemoderncpp [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/effectivemoderncpp.jpg"/></TD></TR><TR><TD>Effective Modern<br/>C++ (2014)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/1491903996/"]
optimizedcpp [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/optimizedcpp.jpg"/></TD></TR><TR><TD>Optimized C++<br/>(2016)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/1491922060/"]
insidecppobjectmodel [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/insidecppobjectmodel.jpg"/></TD></TR><TR><TD>Inside the C++<br/>Object Model (1996)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/0201834545/"]
imperfectcpp [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/imperfectcpp.jpg"/></TD></TR><TR><TD>Imperfect C++ (2004)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/0321228774/"]
cpptemplates2 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/cpptemplates2.jpg"/></TD></TR><TR><TD>C++ Templates 2nd Ed (2017)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/0321714121/"]
elementsofprogramming [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/elementsofprogramming.jpg"/></TD></TR><TR><TD>Elements of<br/>Programming (2009)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/032163537X/"]
frommathtogeneric [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/frommathtogeneric.jpg"/></TD></TR><TR><TD>From Mathematics<br/>to Generic Programming<br/>(2014)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/0321942043/"]
moderncppdesign [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/moderncppdesign.jpg"/></TD></TR><TR><TD>Modern C++ Design (2001)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/0201704315/"]
programminginlua4 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/programminginlua4.jpg"/></TD></TR><TR><TD>Programming in Lua<br/>4th Ed (2016)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/8590379868/"]
luaprogramminggems [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/luaprogramminggems.jpg"/></TD></TR><TR><TD>Lua Programming<br/>Gems (2008)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/8590379841/"]
mvcsharpstepbystep8 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/mvcsharpstepbystep8.jpg"/></TD></TR><TR><TD>Microsoft Visual C#<br/>Step by Step<br/>8th Ed (2015)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/1509301046/"]
csharpindepth3 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/csharpindepth3.jpg"/></TD></TR><TR><TD>C# in Depth<br/>3rd Ed (2013)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/161729134X/"]
clrviacsharp4 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/clrviacsharp4.jpg"/></TD></TR><TR><TD>CLR via C#<br/>4th Ed (2012)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/0735667454/"]
cbegin -> tcpl2 -> cppbegin [arrowhead=normal, style=solid]
cppbegin -> cppprimer5 -> cpppractice [arrowhead=normal, style=solid]
cppbegin -> tcpppl4
cppprimer5 -> cpplibrary [arrowhead=normal, style=solid]
tcpppl4 -> cpplibrary
cpplibrary -> cppstandardlibrary2 [arrowhead=normal, style=solid]
cppstandardlibrary2 -> effectivestl
cppstandardlibrary2 -> cppconcurrencyinaction -> boostcpplibraries2
cpppractice -> effectivecpp3 -> effectivemoderncpp -> cppcodingstandard [arrowhead=normal, style=solid]
effectivecpp3 -> moreeffectivecpp3 -> effectivemoderncpp
effectivemoderncpp -> optimizedcpp -> cppadvance
cpppractice -> exceptionalcpp -> moreexceptionalcpp -> exceptionalcppstyle -> cppcodingstandard -> cppadvance
cppadvance -> elementsofprogramming -> frommathtogeneric
cppadvance -> { insidecppobjectmodel; cpptemplates2 }
insidecppobjectmodel -> imperfectcpp
cpptemplates2 -> moderncppdesign
lua -> programminginlua4 -> luaprogramminggems
csharp -> mvcsharpstepbystep8 -> csharpindepth3 -> clrviacsharp4
progtop [fixedsize=true,width=8,height=0.01,style=invis,label=""]
progbottom [fixedsize=true,width=8,height=0.01,style=invis,label=""]
progtop -> { cbegin; csharp; lua } [style=invis]
moderncppdesign -> progbottom [style=invis]
}
subgraph cluster_se {
fillcolor="#f8f8ec"
label=<<TABLE BORDER="0" CELLPADDING="10"><TR><TD>3. Software Development</TD></TR></TABLE>>
{
node [shape="box", style="rounded,filled", color="#ebebc6"]
sebegin [label="Beginning Software Development"]
sepractice [label="Practice"]
dp [label="Design Pattern"]
uml [label="UML"]
}
mythicalmanmonth2 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/mythicalmanmonth2.jpg"/></TD></TR><TR><TD>The Mythical Man-Month<br/>2nd Ed (1995)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/0201835959/"]
codecomplete2 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/codecomplete2.jpg"/></TD></TR><TR><TD>Code Complete 2 (2004)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/0735619670/"]
apidesignforcpp [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/apidesignforcpp.jpg"/></TD></TR><TR><TD>API Design for C++<br/>(2011)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/0123850037/"]
agilesoftwaredev [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/agilesoftwaredev.jpg"/></TD></TR><TR><TD>Agile Software<br/>Development (2002)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/0135974445/"]
designpatterns [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/designpatterns.jpg"/></TD></TR><TR><TD>Design Patterns (1994)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/0201633612/"]
headfirstdesignpatterns [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/headfirstdesignpatterns.jpg"/></TD></TR><TR><TD>Head First<br/>Design Patterns (2004)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/0596007124/"]
practiceofprogramming [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/practiceofprogramming.jpg"/></TD></TR><TR><TD>The Practice of<br/>Programming (1999)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/020161586X/"]
cleancode [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/cleancode.jpg"/></TD></TR><TR><TD>Clean Code (2008)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/0132350882/"]
refactoring [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/refactoring.jpg"/></TD></TR><TR><TD>Refactoring (1999)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/0201485672/"]
workingeffectivelylegacycode [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/workingeffectivelylegacycode.jpg"/></TD></TR><TR><TD>Working Effectively<br/>with Legacy Code <br/>(2004)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/0131177052/"]
umldistilled3 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/umldistilled3.jpg"/></TD></TR><TR><TD>UML Distilled<br/>3rd Ed (2003)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/0321193687/"]
umluserguide2 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/umluserguide2.jpg"/></TD></TR><TR><TD>The Unified Modeling<br/>Language User Guide<br/>2nd Ed (2005)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/0321267974/"]
ooadwa3 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/ooadwa3.jpg"/></TD></TR><TR><TD>Object-Oriented Analysis<br/>and Design with Applications<br/>3rd Ed (2007)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/020189551X/"]
sebegin -> mythicalmanmonth2 -> { sepractice; dp } [arrowhead=normal, style=solid]
mythicalmanmonth2 -> uml
sepractice -> practiceofprogramming -> refactoring -> codecomplete2 -> { cleancode; workingeffectivelylegacycode } [arrowhead=normal, style=solid]
codecomplete2 -> apidesignforcpp
dp -> agilesoftwaredev -> designpatterns [arrowhead=normal, style=solid]
dp -> headfirstdesignpatterns -> agilesoftwaredev
uml -> umldistilled3 -> umluserguide2 -> ooadwa3
setop [fixedsize=true,width=8,height=0.01,style=invis,label=""]
sebottom [fixedsize=true,width=8,height=0.01,style=invis,label=""]
setop -> sebegin [style=invis]
workingeffectivelylegacycode -> sebottom [style=invis]
}
subgraph cluster_math {
fillcolor="#f2f8ec"
label=<<TABLE BORDER="0" CELLPADDING="10"><TR><TD>4. Mathematics for Game Programming</TD></TR></TABLE>>
{
node [shape="box", style="rounded,filled", color="#d9ebc6"]
mathbegin [label="Beginning Mathematics for Game Programming"]
mathadvanced [label="Advanced Mathematics for Game Programming"]
}
foundationsgedmath [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/foundationsgedmath.jpg"/></TD></TR><TR><TD>Foundations of Game<br/>Engine Development,<br/>Vol 1: Mathematics<br/>(2016)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/0985811749/"]
math3dcpcg3 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/math3dcpcg3.jpg"/></TD></TR><TR><TD>Mathematics for 3D<br/>Game Programming and<br/>Computer Graphics<br/>3rd Ed (2011)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/1435458869/"]
"3dmathprimer2" [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/3dmathprimer2.jpg"/></TD></TR><TR><TD>3D Math Primer for<br/>Graphics and Game<br/>Development 2nd Ed (2011)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/1568817231/"]
essentialmaths3 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/essentialmaths3.jpg"/></TD></TR><TR><TD>Essential Mathematics<br/>for Games and<br/>Interactive Applications<br/>3rd Ed (2011)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/1482250926/"]
geometricalgebra [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/geometricalgebra.jpg"/></TD></TR><TR><TD>Geometric Algebra for<br/>Computer Science (2007)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/0123749425/"]
geometrictools [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/geometrictools.jpg"/></TD></TR><TR><TD>Geometric Tools for<br/>Computer Graphics<br/>(2002)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/1558605940/"]
computationalgeometry [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/computationalgeometry.jpg"/></TD></TR><TR><TD>Computational Geometry<br/> 3rd Ed (2008)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/3540779736/"]
visualizingquaternions [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/visualizingquaternions.jpg"/></TD></TR><TR><TD>Visualizing Quaternions<br/>(2006)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/0120884003/"]
divgradcurl4 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/divgradcurl4.jpg"/></TD></TR><TR><TD>Div, Grad, Curl<br/>and all That<br/>4th Ed (2004)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/0393925161/"]
mathbegin -> foundationsgedmath
mathbegin -> math3dcpcg3 -> mathadvanced [arrowhead=normal, style=solid]
mathbegin -> "3dmathprimer2"
mathbegin -> essentialmaths3
{ foundationsgedmath; "3dmathprimer2"; essentialmaths3 } -> mathadvanced
mathadvanced -> geometrictools -> computationalgeometry [arrowhead=normal, style=solid]
mathadvanced -> geometricalgebra
mathadvanced -> visualizingquaternions
mathadvanced -> divgradcurl4
mathtop [fixedsize=true,width=8,height=0.01,style=invis,label=""]
mathbottom [fixedsize=true,width=8,height=0.01,style=invis,label=""]
mathtop -> mathbegin [style=invis]
computationalgeometry -> mathbottom [style=invis]
}
subgraph cluster_gameprog {
fillcolor="#ecf9ec"
label=<<TABLE BORDER="0" CELLPADDING="10"><TR><TD>5. Game Programming</TD></TR></TABLE>>
{
node [shape="box", style="rounded,filled", color="#c5edc5"]
gpbegin [label="Beginning Game Programming"]
scratch [label="From Windows/DirectX"]
unity [label="From Unity"]
unreal [label="From Unreal"]
cocos2dx [label="From Cocos2d-X"]
gpintermediate [label="Intermediate Game Programming"]
gpmisc [label="Game Programming Articles"]
}
windowsgp2 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/windowsgp2.jpg"/></TD></TR><TR><TD>Tricks of the Windows<br/>Game Programming<br/>Gurus 2nd Ed (2002)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/0672323699/"]
gamecodingcomplete4 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/gamecodingcomplete4.jpg"/></TD></TR><TR><TD>Game Coding<br/>Complete<br/>4th Ed (2012)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/1133776574/"]
introtogdprodev [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/introtogdprodev.jpg"/></TD></TR><TR><TD>Introduction to Game<br/>Design, Prototyping,<br/>and Development (2014)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/0321933168/"]
unityinaction [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/unityinaction.jpg"/></TD></TR><TR><TD>Unity in Action (2015)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/161729232X/"]
learninguegd [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/learninguegd.jpg"/></TD></TR><TR><TD>Learning Unreal Engine<br/>Game Development<br/>(2015)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/1784398152/"]
blueprintsvisualscripting [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/blueprintsvisualscripting.jpg"/></TD></TR><TR><TD>Blueprints Visual Scripting<br/>for Unreal Engine (2015)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/1785286013/"]
cocos2dxbyexample2 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/cocos2dxbyexample2.jpg"/></TD></TR><TR><TD>Cocos2d-X<br/>by Example (2015)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/1785288857/"]
gpalgorithmstechniques [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/gpalgorithmstechniques.jpg"/></TD></TR><TR><TD>Game Programming<BR/>Algorithms and<BR/>Techniques (2013)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/0321940156/"]
gameprogrammingpatterns [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/gameprogrammingpatterns.jpg"/></TD></TR><TR><TD>Game Programming<br/>Patterns (2014)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/0990582906/"]
gpgoldenrules [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/gpgoldenrules.jpg"/></TD></TR><TR><TD>Game Programming<br/>Golden Rules (2004)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/1584503068/"]
crossplatformgp [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/crossplatformgp.jpg"/></TD></TR><TR><TD>Cross-Platform Game<br/>Programming (2005)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/1584503793/"]
androidndkgdcookbook [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/androidndkgdcookbook.jpg"/></TD></TR><TR><TD>Android NDK Game<br/>Development Cookbook<br/>(2013)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/1782167781/"]
buildingfpsgameunity [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/buildingfpsgameunity.jpg"/></TD></TR><TR><TD>Building an FPS<br/>Game with Unity (2015)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/178217480X/"]
unityvrprojects [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/unityvrprojects.jpg"/></TD></TR><TR><TD>Unity Virtual<br/>Reality Projects (2015)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/178398855X/"]
agumentedreality [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/agumentedreality.jpg"/></TD></TR><TR><TD>Augmented Reality<br/>(2016)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/0321883578/"]
practicalaugmentedreality [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/practicalaugmentedreality.jpg"/></TD></TR><TR><TD>Practical Augmented<br/>Reality (2016)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/0134094239/"]
{
rank=same
gpgemsbest [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/gpgemsbest.jpg"/></TD></TR><TR><TD>Best of Game<br/>Programming<br/>Gems (2008)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/1584505710/"]
beginninggp [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/beginninggp.jpg"/></TD></TR><TR><TD>Beginning Game<br/>Programming (2009)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/159863805X/"]
advancedgp [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/advancedgp.jpg"/></TD></TR><TR><TD>Advanced Game<br/>Programming (2009)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/1598638068/"]
}
{
rank=same
gpgems [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/gpgems.jpg"/></TD></TR><TR><TD>Game Programming<br/>Gems (2000)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/1584500492/"]
gpgems2 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/gpgems2.jpg"/></TD></TR><TR><TD>Game Programming<br/>Gems (2001)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/1584500549/"]
gpgems3 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/gpgems3.jpg"/></TD></TR><TR><TD>Game Programming<br/>Gems (2002)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/1584502339/"]
gpgems4 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/gpgems4.jpg"/></TD></TR><TR><TD>Game Programming<br/>Gems (2004)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/1584502959/"]
}
{
rank=same
gpgems5 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/gpgems5.jpg"/></TD></TR><TR><TD>Game Programming<br/>Gems (2005)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/1584503521/"]
gpgems6 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/gpgems6.jpg"/></TD></TR><TR><TD>Game Programming<br/>Gems (2006)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/1584504501/"]
gpgems7 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/gpgems7.jpg"/></TD></TR><TR><TD>Game Programming<br/>Gems (2008)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/1584505273/"]
gpgems8 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/gpgems8.jpg"/></TD></TR><TR><TD>Game Programming<br/>Gems (2010)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/1584507020/"]
}
gpbegin -> { scratch; unity; unreal; cocos2dx }
scratch -> gamecodingcomplete4 [arrowhead=normal, style=solid, tailport=se]
gamecodingcomplete4 -> gpintermediate [arrowhead=normal, style=solid]
scratch -> windowsgp2
windowsgp2 -> gamecodingcomplete4[style=invis]
unity -> introtogdprodev -> unityinaction -> gpintermediate
unreal -> learninguegd -> blueprintsvisualscripting -> gpintermediate
cocos2dx -> cocos2dxbyexample2 -> gpintermediate
gpintermediate -> gpalgorithmstechniques -> gameprogrammingpatterns [arrowhead=normal, style=solid]
gameprogrammingpatterns -> gpgoldenrules -> gpmisc
gpintermediate -> crossplatformgp -> androidndkgdcookbook
gpintermediate -> buildingfpsgameunity -> unityvrprojects
gpintermediate -> agumentedreality -> practicalaugmentedreality
{
rank=same; gpgoldenrules; gpmisc
}
gpmisc -> gpgemsbest
gpgemsbest -> gpgems
gpmisc -> beginninggp -> advancedgp
gpgems -> gpgems2 -> gpgems3 -> gpgems4
gpgems4 -> gpgems5
gpgems5 -> gpgems6 -> gpgems7 -> gpgems8
gametop [fixedsize=true,width=8,height=0.01,style=invis,label=""]
gamebottom [fixedsize=true,width=8,height=0.01,style=invis,label=""]
gametop -> { gpbegin; unity } [style=invis]
gpgems7 -> gamebottom [style=invis]
}
subgraph cluster_engine {
fillcolor="#ecf9f5"
label=<<TABLE BORDER="0" CELLPADDING="10"><TR><TD>6. Game Engine Development</TD></TR></TABLE>>
{
node [shape="box", style="rounded,filled", color="#c5ede1"]
gebegin [label="Beginning Game Engine Development"]
gearticles [label="Game Engine Articles"]
gescript [label="Script Engine"]
geoptimization [label="Optimization"]
getool [label="Tool Development"]
}
{
rank=same
gameenginearchitecture2 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/gameenginearchitecture2.jpg"/></TD></TR><TR><TD>Game Engine<br/>Architecture (GEA)<br/>2nd Ed (2014)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/1466560010/"]
"3dgameenginearchitecture" [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/3dgameenginearchitecture.jpg"/></TD></TR><TR><TD>3D Game Engine<br/>Architecture<br/>(2004)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/012229064X/"]
gameenginedesign2 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/gameenginedesign2.jpg"/></TD></TR><TR><TD>3D Game Engine<br/>Design<br/>2nd Ed (2006)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/0122290631/"]
}
gameenginegems1 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/gameenginegems1.jpg"/></TD></TR><TR><TD>Game Engine<br/>Gems 1 (2010)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/0763778885/"]
gameenginegems2 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/gameenginegems2.jpg"/></TD></TR><TR><TD>Game Engine<br/>Gems 2 (2011)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/1568814372/"]
gameenginegems3 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/gameenginegems3.jpg"/></TD></TR><TR><TD>Game Engine<br/>Gems 3 (2016)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/1498755658/"]
gamescriptingmastery [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/gamescriptingmastery.jpg"/></TD></TR><TR><TD>Game Scripting<br/>Mastery (2002)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/1931841578/"]
languageimplpatterns [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/languageimplpatterns.jpg"/></TD></TR><TR><TD>Language Implementation<br/>Patterns (2010)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/193435645X/"]
garbagecollectionhandbook [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/garbagecollectionhandbook.jpg"/></TD></TR><TR><TD>The Garbage Collection<br/>Handbook (2011)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/1420082795/"]
unity5gameoptimization [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/unity5gameoptimization.jpg"/></TD></TR><TR><TD>Unity 5 Game<br/>Optimization (2015)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/1785884581/"]
videogameoptimization [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/videogameoptimization.jpg"/></TD></TR><TR><TD>Video Game<br/>Optimization (2010)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/1598634356/"]
hackersdelight2 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/hackersdelight2.jpg"/></TD></TR><TR><TD>Hacker's Delight<br/>2nd Ed (2012)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/0321842685/"]
modernx86assembly [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/modernx86assembly.jpg"/></TD></TR><TR><TD>Modern X86<br/>Assembly Language<br/>Programming (2014)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/1484200659/"]
gpgpu [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/gpgpu.jpg"/></TD></TR><TR><TD>GPGPU Programming<br/>for Games and Science<br/>(2014)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/1466595353/"]
vectorgamemathprocessors [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/vectorgamemathprocessors.jpg"/></TD></TR><TR><TD>Vector Games<br/>Math Processors<br/>(2002)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/1556229216/"]
gamedevtools [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/gamedevtools.jpg"/></TD></TR><TR><TD>Game Development<br/>Tools (2011)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/1568814321/"]
designinguxgamedevtools [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/designinguxgamedevtools.jpg"/></TD></TR><TR><TD>Designing the User<br/>Experience of Game<br/>Development Tools (2015)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/148224019X/"]
gebegin -> gameenginearchitecture2 [arrowhead=normal, style=solid]
gameenginearchitecture2 -> { gearticles; gescript; geoptimization; getool }
gameenginearchitecture2 -> "3dgameenginearchitecture" -> gameenginedesign2
gearticles -> gameenginegems1 -> gameenginegems2 -> gameenginegems3
gescript -> gamescriptingmastery -> languageimplpatterns -> garbagecollectionhandbook
geoptimization -> videogameoptimization -> unity5gameoptimization -> hackersdelight2 -> { modernx86assembly; gpgpu; vectorgamemathprocessors}
getool -> gamedevtools -> designinguxgamedevtools
getop [fixedsize=true,width=8,height=0.01,style=invis,label=""]
gebottom [fixedsize=true,width=8,height=0.01,style=invis,label=""]
getop -> gebegin [style=invis]
gpgpu -> gebottom [style=invis]
}
subgraph cluster_cg {
fillcolor="#ecf5f9"
label=<<TABLE BORDER="0" CELLPADDING="10"><TR><TD>7. Computer Graphics (CG)</TD></TR></TABLE>>
{
node [shape="box", style="rounded,filled", color="#c5e1ed"]
cgbegin [label="Beginning CG Programming"]
cgtheory [label="Beginning CG theory"]
cgadvanced [label="Advanced CG"]
realtimerendering [label="Real-Time Rendering"]
offlinerendering [label="Offline Rendering"]
d3d [label="Direct3D"]
ogl [label="OpenGL"]
cgtech [label="CG Technologies"]
cgmisc [label="CG Articles"]
}
rt3drendering [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/rt3drendering.jpg"/></TD></TR><TR><TD>Real-Time 3D<br/>Rendering with DirectX<br/>and HLSL (2014)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/0321962729/"]
"3dgpdx12" [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/3dgpdx12.jpg"/></TD></TR><TR><TD>Introduction to <br/>3D Game Programming<br/> with DirectX 12 (2016)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/1942270062/"]
oglguide9 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/oglguide9.jpg"/></TD></TR><TR><TD>OpenGL Programming<br/>Guide 9th Ed (2016)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/0134495497/"]
fundamentalscg4 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/fundamentalscg4.jpg"/></TD></TR><TR><TD>Fundamentals of<br/>Computer Graphics<br/>4th Ed (2015)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/1482229390/"]
cgpp3 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/cgpp3.jpg"/></TD></TR><TR><TD>Computer Graphics<br/>Principles and Practice<br/>(CGP&P) 3rd Ed (2013)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/0321399528/"]
pdis [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/pdis.jpg"/></TD></TR><TR><TD>Principles of Digital<br/>Image Synthesis<br/>(PODIS) (1995)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/1558602763/"]
digitalimageprocessing3 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/digitalimageprocessing3.jpg"/></TD></TR><TR><TD>Digital Image<br/>Processing<br/>(DIP) 3rd Ed (2007)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/013168728X/"]
graphicsshaders2 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/graphicsshaders2.jpg"/></TD></TR><TR><TD>Graphics Shaders<br/>2nd Ed (2011)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/1568814348/"]
glsl3 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/glsl3.jpg"/></TD></TR><TR><TD>OpenGL Shading<br/>Language 3rd Ed (2009)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/0321637631/"]
oglsuper7 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/oglsuper7.jpg"/></TD></TR><TR><TD>OpenGL Super Bible<br/>7th Ed (2015)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/0672337479/"]
ogles3guide2 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/ogles3guide2.jpg"/></TD></TR><TR><TD>OpenGL ES 3.0<br/>Programming Guide<br/>2nd Ed (2014)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/0321933885/"]
oglinsights [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/oglinsights.jpg"/></TD></TR><TR><TD>OpenGL Insights (2012)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/1439893764/"]
vulkanguide [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/vulkanguide.jpg"/></TD></TR><TR><TD>Vulkan Programming<br/>Guide (2016)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/0134464540/"]
practiald3d11 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/practiald3d11.jpg"/></TD></TR><TR><TD>Practical Rendering<br/>and Computation<br/>with Direct3D 11 (2011)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/1568817207/"]
rtr3 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/rtr3.jpg"/></TD></TR><TR><TD>Real-Time Rendering<br/> (RTR) 3rd Ed (2008)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/1568814240/"]
tricks3dgpgurus [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/tricks3dgpgurus.jpg"/></TD></TR><TR><TD>Tricks of the 3D<br/>Game Programming<br/>Gurus (2003)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/0672318350/"]
realtimeshadows [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/realtimeshadows.jpg"/></TD></TR><TR><TD>Real-Time<br/>Shadows (2011)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/1568814380/"]
rtvolumegraphics [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/rtvolumegraphics.jpg"/></TD></TR><TR><TD>Real-Time Volume<br/>Graphics (2006)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/1568812663/"]
graphicsprogrammingmethods [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/graphicsprogrammingmethods.jpg"/></TD></TR><TR><TD>Graphics Programming<br/>Methods (2003)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/1584502991/"]
shaderx [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/shaderx.jpg"/></TD></TR><TR><TD>ShaderX (1996)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/1556220413/"]
shaderx2 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/shaderx2.jpg"/></TD></TR><TR><TD>ShaderX2 (2003)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/1556229887/"]
shaderx3 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/shaderx3.jpg"/></TD></TR><TR><TD>ShaderX3 (2004)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/1584503572/"]
shaderx4 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/shaderx4.jpg"/></TD></TR><TR><TD>ShaderX4 (2006)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/1584504250/"]
shaderx5 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/shaderx5.jpg"/></TD></TR><TR><TD>ShaderX5 (2006)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/1584504994/"]
shaderx6 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/shaderx6.jpg"/></TD></TR><TR><TD>ShaderX6 (2008)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/1584505443/"]
shaderx7 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/shaderx7.jpg"/></TD></TR><TR><TD>ShaderX7 (2009)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/1584505982/"]
gpugems [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/gpugems.jpg"/></TD></TR><TR><TD>GPU Gems (2004)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/0321228324/"]
gpugems2 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/gpugems2.jpg"/></TD></TR><TR><TD>GPU Gems 2 (2005)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/0321335597/"]
gpugems3 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/gpugems3.jpg"/></TD></TR><TR><TD>GPU Gems 3 (2007)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/0321515269/"]
gpupro [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/gpupro.jpg"/></TD></TR><TR><TD>GPU Pro (2010)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/1568814720/"]
gpupro2 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/gpupro2.jpg"/></TD></TR><TR><TD>GPU Pro 2 (2011)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/1568817185/"]
gpupro3 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/gpupro3.jpg"/></TD></TR><TR><TD>GPU Pro 3 (2012)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/1439887829/"]
gpupro4 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/gpupro4.jpg"/></TD></TR><TR><TD>GPU Pro 4 (2013)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/1466567430/"]
gpupro5 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/gpupro5.jpg"/></TD></TR><TR><TD>GPU Pro 5 (2014)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/1482208636/"]
gpupro6 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/gpupro6.jpg"/></TD></TR><TR><TD>GPU Pro 6 (2015)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/1482264617/"]
gpupro7 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/gpupro7.jpg"/></TD></TR><TR><TD>GPU Pro 7 (2016)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/149874253X/"]
gpuzen [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/gpuzen.jpg"/></TD></TR><TR><TD>GPU Zen (2017)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/0998822892/"]
pbrt3 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/pbrt3.jpg"/></TD></TR><TR><TD>Physically Based<br/>Rendering (PBRT)<br/>3rd Ed (2016)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/0128006455/"]
raytracingfromgroundup [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/raytracingfromgroundup.jpg"/></TD></TR><TR><TD>Ray Tracing from<br/>the Ground Up<br/>(2007)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/1568812728/"]
advancedgi2 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/advancedgi2.jpg"/></TD></TR><TR><TD>Advanced<br/>Global Illumination<br/>2nd Ed (2006)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/1568813074/"]
productionvolumerendering [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/productionvolumerendering.jpg"/></TD></TR><TR><TD>Production Volume<br/>Rendering (2012)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/156881724X/"]
texturingmodeling3 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/texturingmodeling3.jpg"/></TD></TR><TR><TD>Texturing and Modeling<br/>(2002)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/1558608486/"]
lod [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/lod.jpg"/></TD></TR><TR><TD>Level of Detail<br/>for 3D Graphics (2002)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/0123991811/"]
"3denginedesignvirtualglobes" [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/3denginedesignvirtualglobes.jpg"/></TD></TR><TR><TD>3D Engine Design<br/>for Virtual Globes (2011)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/1568817118/"]
polygonmeshprocessing [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/polygonmeshprocessing.jpg"/></TD></TR><TR><TD>Polygon Mesh<br/>Processing (2010)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/1568814267/"]
isosurfaces [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/isosurfaces.jpg"/></TD></TR><TR><TD>Isosurfaces (2013)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/1466570970/"]
npr [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/npr.jpg"/></TD></TR><TR><TD>Non-Photorealistic<br/>Rendering (2001)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/1568811330/"]
npcg [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/npcg.jpg"/></TD></TR><TR><TD>Non-Photorealistic<br/>Computer Graphics<br/>(2002)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/1558607870/"]
graphicsgems [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/graphicsgems.jpg"/></TD></TR><TR><TD>Graphics Gems (1990)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/0122861655/"]
graphicsgems2 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/graphicsgems2.jpg"/></TD></TR><TR><TD>Graphics Gems II (1991)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/0120644819/"]
graphicsgems3 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/graphicsgems3.jpg"/></TD></TR><TR><TD>Graphics Gems III (1994)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/0124096735/"]
graphicsgems4 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/graphicsgems4.jpg"/></TD></TR><TR><TD>Graphics Gems IV (1994)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/0123361559/"]
graphicsgems5 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/graphicsgems5.jpg"/></TD></TR><TR><TD>Graphics Gems V (1995)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/0125434553/"]
blinn1 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/blinn1.jpg"/></TD></TR><TR><TD>Jim Blinn's Corner:<br/>A Trip Down<br/>the Graphics Pipeline (1997)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/1558603875/"]
blinn2 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/blinn2.jpg"/></TD></TR><TR><TD>Jim Blinn's Corner:<br/>Dirty Pixels (1998)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/1558604553/"]
blinn3 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/blinn3.jpg"/></TD></TR><TR><TD>Jim Blinn's Corner:<br/>Notation, Notation,<br/>Notation (2002)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/B01FGPKA62/"]
glassenernotebook1 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/glassenernotebook1.jpg"/></TD></TR><TR><TD>Andrew Glassner's<br/>Notebook (1999)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/1558605983/"]
glassenernotebook2 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/glassenernotebook2.jpg"/></TD></TR><TR><TD>Andrew Glassner's<br/>Other Notebook (2002)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/1568811713/"]
magiccg [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/magiccg.jpg"/></TD></TR><TR><TD>The Magic of<br/>Computer Graphics (2011)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/1568815778/"]
cgbegin -> "3dgpdx12"
cgbegin -> { rt3drendering; oglguide9 }
{ "3dgpdx12"; rt3drendering; oglguide9 } -> cgtheory
cgtheory -> fundamentalscg4 [arrowhead=normal, style=solid]
cgtheory-> { cgpp3; pdis; digitalimageprocessing3 }
{ fundamentalscg4; cgpp3; pdis; digitalimageprocessing3} -> cgadvanced
cgadvanced -> { realtimerendering; offlinerendering; cgtech;}
realtimerendering -> rtr3 [arrowhead=normal, style=solid]
realtimerendering -> tricks3dgpgurus
rtr3 -> graphicsprogrammingmethods -> shaderx -> shaderx2 -> shaderx3 -> shaderx4 -> shaderx5 -> shaderx6 -> shaderx7 -> gpugems -> gpugems2 -> gpugems3 -> gpupro -> gpupro2 -> gpupro3 -> gpupro4 -> gpupro5 -> gpupro6 -> gpupro7 -> gpuzen
{ rank=same; rtr3; rtvolumegraphics }
{ rank=same; gpupro; gpupro2; gpupro3; gpupro4 }
{ rank=same; gpupro5; gpupro6; gpupro7; gpuzen }
rtr3 -> { realtimeshadows; rtvolumegraphics }
realtimeshadows -> graphicsprogrammingmethods [style=invis]
tricks3dgpgurus -> realtimeshadows [style=invis]
rtr3 -> { d3d; ogl }
d3d -> practiald3d11
ogl -> oglsuper7 -> { graphicsshaders2; glsl3 } -> ogles3guide2 -> oglinsights -> vulkanguide
offlinerendering -> pbrt3 [arrowhead=normal, style=solid]
offlinerendering -> raytracingfromgroundup
raytracingfromgroundup -> pbrt3 -> advancedgi2 -> productionvolumerendering
productionvolumerendering -> cgtech [style=invis]
cgtech -> { cgmisc; texturingmodeling3; lod; npr; }
lod -> "3denginedesignvirtualglobes"
texturingmodeling3 -> polygonmeshprocessing -> isosurfaces
npr -> npcg
polygonmeshprocessing -> npr [style=invis]
{
rank=same; glassenernotebook2; magiccg
}
cgmisc -> graphicsgems -> graphicsgems2 -> graphicsgems3 -> graphicsgems4 -> graphicsgems5
cgmisc -> blinn1 -> blinn2 -> glassenernotebook1 -> blinn3 -> glassenernotebook2 -> magiccg
vulkanguide -> cgmisc [style=invis]
cgtop [fixedsize=true,width=8,height=0.01,style=invis,label=""]
cgbottom [fixedsize=true,width=8,height=0.01,style=invis,label=""]
cgtop -> cgbegin [style=invis]
gpuzen -> cgbottom [style=invis]
}
subgraph cluster_audio {
fillcolor="#eceef9"
label=<<TABLE BORDER="0" CELLPADDING="10"><TR><TD>8. Game Audio</TD></TR></TABLE>>
{
node [shape="box", style="rounded,filled", color="#c5cbed"]
audiobegin [label="Game Audio Programming"]
}
gameaudioprogramming [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/gameaudioprogramming.jpg"/></TD></TR><TR><TD>Game Audio<br/>Programming (2016)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/149874673X/"]
gettingstartedcppaudio [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/gettingstartedcppaudio.jpg"/></TD></TR><TR><TD>Getting Started<br/>with C++ Audio Programming<br/>for Game Development (2013)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/1849699097/"]
audiobegin -> { gameaudioprogramming; gettingstartedcppaudio }
audiotop [fixedsize=true,width=8,height=0.01,style=invis,label=""]
audiobottom [fixedsize=true,width=8,height=0.01,style=invis,label=""]
audiotop -> audiobegin [style=invis]
{ gameaudioprogramming; gettingstartedcppaudio } -> audiobottom [style=invis]
}
subgraph cluster_physics {
fillcolor="#f2ecf9"
label=<<TABLE BORDER="0" CELLPADDING="10"><TR><TD>9. Game Physics and Animation</TD></TR></TABLE>>
{
node [shape="box", style="rounded,filled",color="#d7c5ed"]
animbegin [label="Beginning Game Animation Programming"]
animadvanced [label="Advanced Game Animation Programming"]
phybegin [label="Beginning Game Physics Programming"]
phyadvanced [label="Advanced Game Physics Programming"]
fluid [label="Fluid Animation/Simulation"]
}
natureofcode [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/natureofcode.jpg"/></TD></TR><TR><TD>The Nature of Code<br/>(2012)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/0985930802/"]
characteranimation [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/characteranimation.jpg"/></TD></TR><TR><TD>Character Animation<br/>with Direct3D (2011)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/1584505702/"]
rt3dcharacteranimation [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/rt3dcharacteranimation.jpg"/></TD></TR><TR><TD>Real-time 3D<br/>Character Animation<br/>with Visual C++ (2001)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/0240516648/"]
computeranimation3 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/computeranimation3.jpg"/></TD></TR><TR><TD>Computer Animation<br/>3rd Ed (2012)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/0124158420/"]
gameik [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/gameik.jpg"/></TD></TR><TR><TD>Game Inverse<br/>Kinematics (2013)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/1484922328/"]
physicsbasedanimation [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/physicsbasedanimation.jpg"/></TD></TR><TR><TD>Physics Based<br/>Animation (2005)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/1584503807/"]
rtcameras [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/rtcameras.jpg"/></TD></TR><TR><TD>Real-Time Cameras<br/>(2009)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/0123116341/"]
physicsforgameprogrammers [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/physicsforgameprogrammers.jpg"/></TD></TR><TR><TD>Physics for Game<br/>Programmers (2003)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/159059472X/"]
physicsforgamedevelopers2 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/physicsforgamedevelopers2.jpg"/></TD></TR><TR><TD>Physics for Game<br/>Developers 2nd Ed (2013)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/1449392512/"]
physicsmodeling [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/physicsmodeling.jpg"/></TD></TR><TR><TD>Physics Modeling<br/>for Game Programmers (2004)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/1592000932/"]
fpbma [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/fpbma.jpg"/></TD></TR><TR><TD>Foundations of Physically<br/>Based Modeling and<br/>Animation (2017)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/1482234602/"]
gamephysicsenginedev2 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/gamephysicsenginedev2.jpg"/></TD></TR><TR><TD>Game Physics Engine<br/>Development 2nd Ed (2010)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/0123819768/"]
gamephysics2 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/gamephysics2.jpg"/></TD></TR><TR><TD>Game Physics 2nd Ed (2010)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/0123749034/"]
collisiondetection3denv [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/collisiondetection3denv.jpg"/></TD></TR><TR><TD>Collision Detection<br/>in Interactive 3D<br/>Environments (2003)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/155860801X/"]
rtcollisiondetection [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/rtcollisiondetection.jpg"/></TD></TR><TR><TD>Real-Time Collision<br/>Detection (2004)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/1558607323/"]
gamephysicspearls [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/gamephysicspearls.jpg"/></TD></TR><TR><TD>Game Physics Pearls<br/>(2010)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/1568814747/"]
fluidenginedev [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/fluidenginedev.jpg"/></TD></TR><TR><TD>Fluid Engine Development (2016)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/1498719929/"]
taofluidanimation [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/taofluidanimation.jpg"/></TD></TR><TR><TD>The Art of<br/>Fluid Animation (2015)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/1498700209/"]
fluidsimulationforcg2 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/fluidsimulationforcg2.jpg"/></TD></TR><TR><TD>Fluid Simulation<br/>for Computer Graphics<br/>2nd Ed (2015)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/1482232839/"]
animbegin -> { characteranimation; rt3dcharacteranimation } -> computeranimation3 -> animadvanced
animadvanced -> { gameik; physicsbasedanimation; rtcameras}
gameik -> rtcameras [style=invis]
phybegin -> physicsforgameprogrammers
phybegin -> physicsforgamedevelopers2
physicsforgameprogrammers -> physicsforgamedevelopers2 -> phyadvanced
physicsforgameprogrammers -> physicsmodeling -> phyadvanced
{ animbegin; phybegin } -> natureofcode
phyadvanced -> fpbma -> gamephysicspearls
gamephysicspearls -> collisiondetection3denv -> rtcollisiondetection
gamephysicspearls -> gamephysicsenginedev2 -> gamephysics2
{ animadvanced; phyadvanced } -> fluid -> fluidenginedev -> taofluidanimation -> fluidsimulationforcg2
phytop [fixedsize=true,width=8,height=0.01,style=invis,label=""]
phybottom [fixedsize=true,width=8,height=0.01,style=invis,label=""]
phytop -> { animbegin; phybegin } [style=invis]
fluidsimulationforcg2 -> phybottom [style=invis]
}
subgraph cluster_ai {
fillcolor="#f9ecf9"
label=<<TABLE BORDER="0" CELLPADDING="10"><TR><TD>10. Game Artificial Intelligence (AI)</TD></TR></TABLE>>
{
node [shape="box", style="rounded,filled" color="#edc5ed"]
aibegin [label="Beginning Game AI"]
aiintermediate [label="Intermediate Game AI"]
aimisc [label="Game AI Articles"]
}
aiforgames2 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/aiforgames2.jpg"/></TD></TR><TR><TD>Artificial Intelligence<br/>for Games 2nd Ed (2009)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/0123747317/"]
aiforgd [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/aiforgd.jpg"/></TD></TR><TR><TD>AI for Game<br/>Developers (2004)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/0596005555/"]
proggameaibyexample [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/proggameaibyexample.jpg"/></TD></TR><TR><TD>Programming Game<br/>AI By Example (2004)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/1556220782/"]
unityaigp2 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/unityaigp2.jpg"/></TD></TR><TR><TD>Unity AI Game<br/>Programming 2nd Ed (2015)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/178528827X/"]
aima3 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/aima3.jpg"/></TD></TR><TR><TD>Artificial Intelligence<br/>Modern Approach<br/>(AIMA) 3rd Ed (2009)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/0136042597/"]
behavioralmathforgameai [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/behavioralmathforgameai.jpg"/></TD></TR><TR><TD>Behavioral Mathematics<br/>for Game AI (2009)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/1584506849/"]
{
rank=same
aigpwisdom [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/aigpwisdom.jpg"/></TD></TR><TR><TD>AI Game Programming<br/>Wisdom (2002)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/1584500778/"]
aigpwisdom2 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/aigpwisdom2.jpg"/></TD></TR><TR><TD>AI Game Programming<br/>Wisdom 2 (2003)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/1584502894/"]
aigpwisdom3 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/aigpwisdom3.jpg"/></TD></TR><TR><TD>AI Game Programming<br/>Wisdom 3 (2006)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/1584504579/"]
aigpwisdom4 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/aigpwisdom4.jpg"/></TD></TR><TR><TD>AI Game Programming<br/>Wisdom 4 (2008)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/1584505230/"]
}
{
rank=same
gameaipro [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/gameaipro.jpg"/></TD></TR><TR><TD>Game AI Pro (2013)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/1466565969/"]
gameaipro2 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/gameaipro2.jpg"/></TD></TR><TR><TD>Game AI Pro 2 (2015)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/1482254794/"]
gameaipro3 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/gameaipro3.jpg"/></TD></TR><TR><TD>Game AI Pro 3 (2017)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/1482254794/"]
}
aibegin -> aiforgames2 -> aiintermediate -> aima3 [arrowhead=normal, style=solid]
aibegin -> { aiforgd; proggameaibyexample; unityaigp2 } -> aiintermediate
aiintermediate -> behavioralmathforgameai -> aimisc
aima3 -> aimisc
aimisc -> aigpwisdom
aigpwisdom -> aigpwisdom2 -> aigpwisdom3 -> aigpwisdom4
aigpwisdom4 -> gameaipro -> gameaipro2 -> gameaipro3
aitop [fixedsize=true,width=8,height=0.01,style=invis,label=""]
aibottom [fixedsize=true,width=8,height=0.01,style=invis,label=""]
aitop -> aibegin [style=invis]
gameaipro3 -> aibottom [style=invis]
}
subgraph cluster_multiplayer {
fillcolor="#f9ebf2"
label=<<TABLE BORDER="0" CELLPADDING="10"><TR><TD>11. Multiplayer Game Programming</TD></TR></TABLE>>
{
node [shape="box", style="rounded,filled" color="#edc5d7"]
multiplayerbegin [label="Beginning Multiplayer Game Programming"]
multiplayermisc [label="Multiplayer Game Articles"]
serverprog [label="Server Programming"]
networkprotocol [label="Network Protocol"]
networkprog [label="Network Programming"]
}
multiplayergp [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/multiplayergp.jpg"/></TD></TR><TR><TD>Multiplayer Game<br/>Programming (2015)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/0134034309/"]
massivelymultiplayergd [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/massivelymultiplayergd.jpg"/></TD></TR><TR><TD>Massively Multiplayer<br/>Game Development<br/>(2003)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/1584502436/"]
massivelymultiplayergd2 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/massivelymultiplayergd2.jpg"/></TD></TR><TR><TD>Massively Multiplayer<br/>Game Development 2<br/>(2005)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/1584503904/"]
progposixthreads [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/progposixthreads.jpg"/></TD></TR><TR><TD>Programming with<br/>POSIX Threads (1997)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/0201633922/"]
advancedprogunixenv3 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/advancedprogunixenv3.jpg"/></TD></TR><TR><TD>Advanced Programming<br/>in the UNIX Environment<br/>3rd Ed (2013)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/0321637739/"]
linuxsystemprog2 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/linuxsystemprog2.jpg"/></TD></TR><TR><TD>Linux System<br/>Programming<br/>2nd Ed (2013)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/1449339530/"]
tcpipillustratedv1_2 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/tcpipillustratedv1_2.jpg"/></TD></TR><TR><TD>TCP/IP Illustrated<br/>Vol 1 2nd Ed (2011)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/0321336313/"]
tcpipillustratedv2 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/tcpipillustratedv2.jpg"/></TD></TR><TR><TD>TCP/IP Illustrated<br/>Vol 2 (1995)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/020163354X/"]
tcpipillustratedv3 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/tcpipillustratedv3.jpg"/></TD></TR><TR><TD>TCP/IP Illustrated<br/>Vol 3 (1996)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/0201634953/"]
unixnetworkprogv1_3 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/unixnetworkprogv1_3.jpg"/></TD></TR><TR><TD>Unix Network<br/>Programming<br/>Vol 1 3rd Ed (2003)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/0131411551/"]
unixnetworkprogv2_2 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/unixnetworkprogv2_2.jpg"/></TD></TR><TR><TD>Unix Network<br/>Programming<br/>Vol 2 2nd Ed (1998)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/0130810819/"]
linuxnetworkinternals [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images/linuxnetworkinternals.jpg"/></TD></TR><TR><TD>Understanding Linux<br/>Network Internals<br/>(2006)</TD></TR></TABLE>> URL="https://www.amazon.com/dp/0596002556/"]
multiplayerbegin -> multiplayergp [arrowhead=normal, style=solid]
multiplayergp -> serverprog
multiplayergp -> networkprotocol
multiplayergp -> networkprog
multiplayergp -> multiplayermisc
serverprog -> progposixthreads -> advancedprogunixenv3 -> linuxsystemprog2
networkprotocol -> tcpipillustratedv1_2 -> tcpipillustratedv2 -> tcpipillustratedv3
networkprog -> unixnetworkprogv1_3 -> unixnetworkprogv2_2 -> linuxnetworkinternals
multiplayermisc -> massivelymultiplayergd -> massivelymultiplayergd2
multiplayertop [fixedsize=true,width=8,height=0.01,style=invis,label=""]
multiplayerbottom [fixedsize=true,width=8,height=0.01,style=invis,label=""]
multiplayertop -> multiplayerbegin [style=invis]
{ linuxsystemprog2; tcpipillustratedv3; linuxnetworkinternals } -> multiplayerbottom [style=invis]
}
ccsa [fontcolor=white,fontsize=8,label=<<TABLE BORDER="0">
<TR><TD><IMG SCALE="TRUE" SRC="images/CC-BY-SA_icon.png"/></TD></TR>
<TR><TD>This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.</TD></TR>
</TABLE>>
URL = "https://creativecommons.org/licenses/by-sa/4.0/"]
{
edge [style=invis]
tocbottom -> legendtop
legendbottom -> kidtop
kidbottom -> cstop
csbottom -> progtop
progbottom -> setop
sebottom -> mathtop
mathbottom -> gametop
gamebottom -> getop
gebottom -> cgtop
cgbottom -> audiotop
audiobottom -> phytop
phybottom -> aitop
aibottom -> multiplayertop
multiplayerbottom -> ccsa
}
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。