代码拉取完成,页面将自动刷新
同步操作将从 Alert/game-programmer 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
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">游戏程序员的</FONT></TD></TR><TR><TD><FONT FACE="Futura" POINT-SIZE="40">学习之路</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. 编程学前班>]
cs [color="#edc5c5", label=" 1. 计算机科学"]
proglang [color="#eddac5", label=" 2. 编程语言"]
softwaredev [color="#ebebc6", label=" 3. 软件开发"]
math [color="#d9ebc6", label=< 4. 游戏程序员的数学课>]
gameprog [color="#c5edc5", label=" 5. 游戏编程"]
gameengine [color="#c5ede1", label=< 6. 游戏引擎开发>]
cg [color="#c5e1ed", label=" 7. 计算机图形学(CG)"]
audio [color="#c5cbed", label=" 8. 游戏音效"]
phyanim [color="#d7c5ed", label=< 9. 游戏物理和动画>]
ai [color="#edc5ed", label=< 10. 游戏人工智能(AI)>]
multiplayer [color="#edc5d7", label=< 11. 多人游戏编程>]
}
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="推荐路线"]
legendB1 [label="可选路线"]
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. 编程学前班</TD></TR></TABLE>>
{
node [shape="box", style="rounded,filled" color="#edc5ce"]
{
rank=same
age5 [label="从5岁开始"]
age8 [label="从8岁开始"]
}
kidintermediate [label="中级孩童游戏编程"]
}
scratchjr [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images-zh-cn/scratchjr.jpg"/></TD></TR><TR><TD>动手玩转ScratchJr编程 (2016)</TD></TR></TABLE>> URL="https://book.douban.com/subject/26906848/"]
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-zh-cn/superscratchprogadv.jpg"/></TD></TR><TR><TD>Scratch超人漫游记 (2017)</TD></TR></TABLE>> URL="https://book.douban.com/subject/27072003/"]
learntoprogramwithscratch [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images-zh-cn/learntoprogramwithscratch.jpg"/></TD></TR><TR><TD>动手玩转Scratch2.0编程 (2015)</TD></TR></TABLE>> URL="https://book.douban.com/subject/26658602/"]
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-zh-cn/adventuresinminecraft.jpg"/></TD></TR><TR><TD>零基础学Minecraft编程<br/>(2015)</TD></TR></TABLE>> URL="https://book.douban.com/subject/26613247/"]
"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. 计算机科学</TD></TR></TABLE>>
{
node [shape="box", style="rounded,filled" color="#edc5c5"]
rank=same
foundation [label="计算机基础"]
algorithm [label="算法"]
csmath [label="计算机数学"]
}
sicp2 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="./images-zh-cn/sicp2.jpg"/></TD></TR><TR><TD>计算机程序的构造和解释<br/>(2004)</TD></TR></TABLE>> URL="https://book.douban.com/subject/1148282/"]
csapp3 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="./images-zh-cn/csapp3.jpg"/></TD></TR><TR><TD>深入理解计算机系统<br/>(原书第3版)<br/>(2016)</TD></TR></TABLE>> URL="https://book.douban.com/subject/26912767/"]
caaqa5 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="./images-zh-cn/caaqa5.jpg"/></TD></TR><TR><TD>计算机体系结构<br/>(2012)</TD></TR></TABLE>> URL="https://book.douban.com/subject/20452387/"]
mos4 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="./images-zh-cn/mos4.jpg"/></TD></TR><TR><TD>现代操作系统(第3版)<br/>(2009)</TD></TR></TABLE>> URL="https://book.douban.com/subject/3852290/"]
clrs3 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="./images-zh-cn/clrs3.jpg"/></TD></TR><TR><TD>算法导论(原书第3版)<br/>(2012)</TD></TR></TABLE>> URL="https://book.douban.com/subject/20432061/"]
algorithms4 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="./images-zh-cn/algorithms4.jpg"/></TD></TR><TR><TD>算法(第4版)<br/>(2012)</TD></TR></TABLE>> URL="https://book.douban.com/subject/19952400/"]
concretemaths2 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="./images-zh-cn/concretemaths2.jpg"/></TD></TR><TR><TD>具体数学<br/>(2013)</TD></TR></TABLE>> URL="https://book.douban.com/subject/21323941/"]
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. 编程语言</TD></TR></TABLE>>
{
node [shape="box", style="rounded,filled" color="#eddac5"]
{
rank=same
cbegin [label="C"]
lua [label="Lua"]
csharp [label="C#"]
}
cppbegin [label="C++ 新手"]
cpppractice [label="C++ 实践"]
cpplibrary [label="C++ 标准库"]
cppadvance [label="C++ 进阶"]
}
tcpl2 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="./images-zh-cn/tcpl2.jpg"/></TD></TR><TR><TD>C程序设计语言<br/>(2004)</TD></TR></TABLE>> URL="https://book.douban.com/subject/1139336/"]
cppprimer5 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="./images-zh-cn/cppprimer5.jpg"/></TD></TR><TR><TD>C++ Primer 中文版<br/>(第 5 版)<br/>(2013)</TD></TR></TABLE>> URL="https://book.douban.com/subject/25708312/"]
tcpppl4 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="./images-zh-cn/tcpppl4.jpg"/></TD></TR><TR><TD>C++ 程序设计语言(原书第 4 版)<br/>(2016)</TD></TR></TABLE>> URL="https://book.douban.com/subject/26857943/"]
cppstandardlibrary2 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="./images-zh-cn/cppstandardlibrary2.jpg"/></TD></TR><TR><TD>C++标准库(第2版)<br/>(2015)</TD></TR></TABLE>> URL="https://book.douban.com/subject/26419721/"]
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-zh-cn/cppconcurrencyinaction.jpg"/></TD></TR><TR><TD>C++并发编程实战<br/>(2015)</TD></TR></TABLE>> URL="https://book.douban.com/subject/26386925/"]
effectivestl [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="./images-zh-cn/effectivestl.jpg"/></TD></TR><TR><TD>Effective STL中文版<br/>(2013)</TD></TR></TABLE>> URL="https://book.douban.com/subject/24534868/"]
exceptionalcpp [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="./images-zh-cn/exceptionalcpp.jpg"/></TD></TR><TR><TD>Exceptional C++(中文版)<br/>(2012)</TD></TR></TABLE>> URL="https://book.douban.com/subject/10785602/"]
moreexceptionalcpp [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="./images-zh-cn/moreexceptionalcpp.jpg"/></TD></TR><TR><TD>More Exceptional C++<br/>中文版<br/>(2002)</TD></TR></TABLE>> URL="https://book.douban.com/subject/1244943/"]
exceptionalcppstyle [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="./images-zh-cn/exceptionalcppstyle.jpg"/></TD></TR><TR><TD>Exceptional C++ Style<br/>中文版<br/>(2006)</TD></TR></TABLE>> URL="https://book.douban.com/subject/1470842/"]
cppcodingstandard [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="./images-zh-cn/cppcodingstandard.jpg"/></TD></TR><TR><TD>C++编程规范<br/>(2010)</TD></TR></TABLE>> URL="https://book.douban.com/subject/5348095/"]
effectivecpp3 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="./images-zh-cn/effectivecpp3.jpg"/></TD></TR><TR><TD>Effective C++<br/>(2006)</TD></TR></TABLE>> URL="https://book.douban.com/subject/1842426/"]
moreeffectivecpp3 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="./images-zh-cn/moreeffectivecpp3.jpg"/></TD></TR><TR><TD>More Effective C++<br/>(中文版)<br/>(2011)</TD></TR></TABLE>> URL="https://book.douban.com/subject/5908727/"]
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-zh-cn/insidecppobjectmodel.jpg"/></TD></TR><TR><TD>深度探索C++对象模型<br/>(2012)</TD></TR></TABLE>> URL="https://book.douban.com/subject/10427315/"]
imperfectcpp [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="./images-zh-cn/imperfectcpp.jpg"/></TD></TR><TR><TD>Imperfect C++中文版<br/>(2006)</TD></TR></TABLE>> URL="https://book.douban.com/subject/1470838/"]
cpptemplates [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="./images-zh-cn/cpptemplates.jpg"/></TD></TR><TR><TD>C++ Templates中文版<br/>(2013)</TD></TR></TABLE>> URL="https://book.douban.com/subject/23780707/"]
elementsofprogramming [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="./images-zh-cn/elementsofprogramming.jpg"/></TD></TR><TR><TD>编程原本<br/>(2012)</TD></TR></TABLE>> URL="https://book.douban.com/subject/7564093/"]
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-zh-cn/moderncppdesign.jpg"/></TD></TR><TR><TD>C++设计新思维<br/>(2003)</TD></TR></TABLE>> URL="https://book.douban.com/subject/1103566/"]
programminginlua4 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="./images-zh-cn/programminginlua4.jpg"/></TD></TR><TR><TD>LUA程序设计(第2版)<br/>(2008)</TD></TR></TABLE>> URL="https://book.douban.com/subject/3076942/"]
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-zh-cn/mvcsharpstepbystep8.jpg"/></TD></TR><TR><TD>Visual C#从入门到精通(第8版) <br/>(2016)</TD></TR></TABLE>> URL="https://book.douban.com/subject/26937762/"]
csharpindepth3 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="./images-zh-cn/csharpindepth3.jpg"/></TD></TR><TR><TD>深入理解C#(第3版)<br/>(2014)</TD></TR></TABLE>> URL="https://book.douban.com/subject/25843328/"]
clrviacsharp4 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="./images-zh-cn/clrviacsharp4.jpg"/></TD></TR><TR><TD>CLR via C#(第4版)<br/>(2015)</TD></TR></TABLE>> URL="https://book.douban.com/subject/26285940/"]
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; cpptemplates }
insidecppobjectmodel -> imperfectcpp
cpptemplates -> 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. 软件开发</TD></TR></TABLE>>
{
node [shape="box", style="rounded,filled", color="#ebebc6"]
sebegin [label="软件开发新手"]
sepractice [label="实践"]
dp [label="设计模式"]
uml [label="UML"]
}
mythicalmanmonth2 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="./images-zh-cn/mythicalmanmonth2.jpg"/></TD></TR><TR><TD>人月神话<br/>(2007)</TD></TR></TABLE>> URL="https://book.douban.com/subject/2230248/"]
codecomplete2 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="./images-zh-cn/codecomplete2.jpg"/></TD></TR><TR><TD>代码大全<br/>(2007)</TD></TR></TABLE>> URL="https://book.douban.com/subject/2208626/"]
apidesignforcpp [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="./images-zh-cn/apidesignforcpp.jpg"/></TD></TR><TR><TD>C++ API设计<br/>(2013)</TD></TR></TABLE>> URL="https://book.douban.com/subject/24869855/"]
agilesoftwaredev [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="./images-zh-cn/agilesoftwaredev.jpg"/></TD></TR><TR><TD>敏捷软件开发<br/>(2008)</TD></TR></TABLE>> URL="https://book.douban.com/subject/2347790/"]
designpatterns [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="./images-zh-cn/designpatterns.jpg"/></TD></TR><TR><TD>设计模式<br/>(2007)</TD></TR></TABLE>> URL="https://book.douban.com/subject/2111801/"]
headfirstdesignpatterns [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="./images-zh-cn/headfirstdesignpatterns.jpg"/></TD></TR><TR><TD>Head First 设计模式(中文版)<br/>(2007)</TD></TR></TABLE>> URL="https://book.douban.com/subject/2243615/"]
practiceofprogramming [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="./images-zh-cn/practiceofprogramming.jpg"/></TD></TR><TR><TD>程序设计实践<br/>(2011)</TD></TR></TABLE>> URL="https://book.douban.com/subject/6524000/"]
cleancode [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="./images-zh-cn/cleancode.jpg"/></TD></TR><TR><TD>编码整洁之道<br/>(2012)</TD></TR></TABLE>> URL="https://book.douban.com/subject/11602008/"]
refactoring [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="./images-zh-cn/refactoring.jpg"/></TD></TR><TR><TD>重构<br/>(2010)</TD></TR></TABLE>> URL="https://book.douban.com/subject/4262627/"]
workingeffectivelylegacycode [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="./images-zh-cn/workingeffectivelylegacycode.jpg"/></TD></TR><TR><TD>修改代码的艺术<br/>(2014)</TD></TR></TABLE>> URL="https://book.douban.com/subject/25904007/"]
umldistilled3 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="./images-zh-cn/umldistilled3.jpg"/></TD></TR><TR><TD>UML精粹<br/>(2012)</TD></TR></TABLE>> URL="https://book.douban.com/subject/10798193/"]
umluserguide2 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="./images-zh-cn/umluserguide2.jpg"/></TD></TR><TR><TD>UML用户指南<br/>(2006)</TD></TR></TABLE>> URL="https://book.douban.com/subject/1837454/"]
ooadwa3 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="./images-zh-cn/ooadwa3.jpg"/></TD></TR><TR><TD>面向对象分析与设计<br/>(2012)</TD></TR></TABLE>> URL="https://book.douban.com/subject/11509672/"]
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. 游戏程序员的数学课</TD></TR></TABLE>>
{
node [shape="box", style="rounded,filled", color="#d9ebc6"]
mathbegin [label="游戏编程数学初阶"]
mathadvanced [label="游戏编程数学进阶"]
}
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-zh-cn/math3dcpcg3.jpg"/></TD></TR><TR><TD>3D游戏与计算机图形学<br/>中的数学方法(第3版)<br/>(2016)</TD></TR></TABLE>> URL="https://book.douban.com/subject/26864861/"]
"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-zh-cn/geometrictools.jpg"/></TD></TR><TR><TD>计算机图形学<br/>几何工具算法详解<br/>(2005)</TD></TR></TABLE>> URL="https://book.douban.com/subject/1224798/"]
computationalgeometry [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="./images-zh-cn/computationalgeometry.jpg"/></TD></TR><TR><TD>计算几何<br/>(2009)</TD></TR></TABLE>> URL="https://book.douban.com/subject/3893574/"]
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-zh-cn/divgradcurl4.jpg"/></TD></TR><TR><TD>散度、旋度、梯度释义<br/>(2015)</TD></TR></TABLE>> URL="https://book.douban.com/subject/26688502/"]
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. 游戏编程</TD></TR></TABLE>>
{
node [shape="box", style="rounded,filled", color="#c5edc5"]
gpbegin [label="开始游戏编程"]
scratch [label="使用Windows/DirectX"]
unity [label="使用Unity"]
unreal [label="使用Unreal"]
cocos2dx [label="使用Cocos2d-X"]
gpintermediate [label="中级游戏编程"]
gpmisc [label="游戏编程文选"]
}
windowsgp2 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="./images-zh-cn/windowsgp2.jpg"/></TD></TR><TR><TD>Windows游戏编程大师技巧<br/>(2012)</TD></TR></TABLE>> URL="https://book.douban.com/subject/20282993/"]
gamecodingcomplete4 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="./images-zh-cn/gamecodingcomplete4.jpg"/></TD></TR><TR><TD>游戏编程权威指南<br/>(2016)</TD></TR></TABLE>> URL="https://book.douban.com/subject/26787109/"]
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-zh-cn/unityinaction.jpg"/></TD></TR><TR><TD>Unity5实战<br/>(2016)</TD></TR></TABLE>> URL="https://book.douban.com/subject/26877872/"]
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-zh-cn/gpalgorithmstechniques.jpg"/></TD></TR><TR><TD>游戏编程算法与技巧<br/>(2016)</TD></TR></TABLE>> URL="https://book.douban.com/subject/26906838/"]
gameprogrammingpatterns [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="./images-zh-cn/gameprogrammingpatterns.jpg"/></TD></TR><TR><TD>游戏编程模式<br/>(2016)</TD></TR></TABLE>> URL="https://book.douban.com/subject/26880704/"]
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-zh-cn/gpgems.jpg"/></TD></TR><TR><TD>游戏编程精粹 1<br/>(2004)</TD></TR></TABLE>> URL="https://book.douban.com/subject/1231195/"]
gpgems2 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="./images-zh-cn/gpgems2.jpg"/></TD></TR><TR><TD>游戏编程精粹2<br/>(2003)</TD></TR></TABLE>> URL="https://book.douban.com/subject/1146281/"]
gpgems3 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="./images-zh-cn/gpgems3.jpg"/></TD></TR><TR><TD>游戏编程精粹3<br/>(2003)</TD></TR></TABLE>> URL="https://book.douban.com/subject/1125738/"]
gpgems4 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="./images-zh-cn/gpgems4.jpg"/></TD></TR><TR><TD>游戏编程精粹4<br/>(2005)</TD></TR></TABLE>> URL="https://book.douban.com/subject/1435923/"]
}
{
rank=same
gpgems5 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="./images-zh-cn/gpgems5.jpg"/></TD></TR><TR><TD>游戏编程精粹5<br/>(2007)</TD></TR></TABLE>> URL="https://book.douban.com/subject/2248414/"]
gpgems6 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="./images-zh-cn/gpgems6.jpg"/></TD></TR><TR><TD>游戏编程精粹6<br/>(2007)</TD></TR></TABLE>> URL="https://book.douban.com/subject/2305250/"]
gpgems7 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="./images-zh-cn/gpgems7.jpg"/></TD></TR><TR><TD>游戏编程精粹7<br/>(2010)</TD></TR></TABLE>> URL="https://book.douban.com/subject/4903976/"]
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. 游戏引擎开发</TD></TR></TABLE>>
{
node [shape="box", style="rounded,filled", color="#c5ede1"]
gebegin [label="游戏引擎开发新手"]
gearticles [label="游戏引擎文选"]
gescript [label="脚本引擎"]
geoptimization [label="优化"]
getool [label="工具开发"]
}
{
rank=same
gameenginearchitecture2 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="./images-zh-cn/gameenginearchitecture2.jpg"/></TD></TR><TR><TD>游戏引擎架构<br/>(2014)</TD></TR></TABLE>> URL="https://book.douban.com/subject/25815142/"]
"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-zh-cn/gamescriptingmastery.jpg"/></TD></TR><TR><TD>游戏脚本高级编程<br/>(2006)</TD></TR></TABLE>> URL="https://book.douban.com/subject/1927405/"]
languageimplpatterns [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="./images-zh-cn/languageimplpatterns.jpg"/></TD></TR><TR><TD>编程语言实现模式<br/>(2012)</TD></TR></TABLE>> URL="https://book.douban.com/subject/10482195/"]
garbagecollectionhandbook [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="./images-zh-cn/garbagecollectionhandbook.jpg"/></TD></TR><TR><TD>垃圾回收算法手册:<br/>自动内存管理的艺术<br/>(2016)</TD></TR></TABLE>> URL="https://book.douban.com/subject/26740958/"]
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-zh-cn/hackersdelight2.jpg"/></TD></TR><TR><TD>算法心得:高效算法的奥秘(原书第2版)<br/>(2014)</TD></TR></TABLE>> URL="https://book.douban.com/subject/25837031/"]
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. 计算机图形学(CG)</TD></TR></TABLE>>
{
node [shape="box", style="rounded,filled", color="#c5e1ed"]
cgbegin [label="游戏图形学初级"]
cgtheory [label="图形学理论初级"]
cgadvanced [label="图形学进阶"]
realtimerendering [label="实时渲染"]
offlinerendering [label="离线渲染"]
d3d [label="Direct3D"]
ogl [label="OpenGL"]
cgtech [label="图形学技术"]
cgmisc [label="图形学文选"]
}
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-zh-cn/3dgpdx12.jpg"/></TD></TR><TR><TD>DirectX 9.0 3D游戏开发编程基础<br/>(2007)</TD></TR></TABLE>> URL="https://book.douban.com/subject/2111771/"]
oglguide9 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="./images-zh-cn/oglguide9.jpg"/></TD></TR><TR><TD>OpenGL编程指南(原书第8版)<br/>(2014)</TD></TR></TABLE>> URL="https://book.douban.com/subject/26220248/"]
fundamentalscg4 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="./images-zh-cn/fundamentalscg4.jpg"/></TD></TR><TR><TD>计算机图形学<br/>(2007)</TD></TR></TABLE>> URL="https://book.douban.com/subject/2116178/"]
cgpp3 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="./images-zh-cn/cgpp3.jpg"/></TD></TR><TR><TD>计算机图形学原理及实践:<br/>C语言描述(原书第2版)<br/>(2004)</TD></TR></TABLE>> URL="https://book.douban.com/subject/1230412/"]
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-zh-cn/digitalimageprocessing3.jpg"/></TD></TR><TR><TD>数字图像处理<br/>(2010)</TD></TR></TABLE>> URL="https://book.douban.com/subject/4285832/"]
graphicsshaders2 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="./images-zh-cn/graphicsshaders2.jpg"/></TD></TR><TR><TD>图形着色器<br/>(2013)</TD></TR></TABLE>> URL="https://book.douban.com/subject/23858154/"]
glsl3 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="./images-zh-cn/glsl3.jpg"/></TD></TR><TR><TD>OpenGL着色语言<br/>(2006)</TD></TR></TABLE>> URL="https://book.douban.com/subject/1911849/"]
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-zh-cn/ogles3guide2.jpg"/></TD></TR><TR><TD>OpenGL ES 3.0编程指南<br/>(2015)</TD></TR></TABLE>> URL="https://book.douban.com/subject/26414014/"]
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-zh-cn/rtr3.jpg"/></TD></TR><TR><TD>实时计算机图形学<br/>(2004)</TD></TR></TABLE>> URL="https://book.douban.com/subject/1231141/"]
tricks3dgpgurus [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="./images-zh-cn/tricks3dgpgurus.jpg"/></TD></TR><TR><TD>3D游戏编程大师技巧<br/>(2005)</TD></TR></TABLE>> URL="https://book.douban.com/subject/1321769/"]
realtimeshadows [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="./images-zh-cn/realtimeshadows.jpg"/></TD></TR><TR><TD>实时阴影技术<br/>(2013)</TD></TR></TABLE>> URL="https://book.douban.com/subject/25908680/"]
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-zh-cn/gpugems.jpg"/></TD></TR><TR><TD>GPU精粹<br/>(2006)</TD></TR></TABLE>> URL="https://book.douban.com/subject/1480239/"]
gpugems2 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="./images-zh-cn/gpugems2.jpg"/></TD></TR><TR><TD>GPU精粹2<br/>(2007)</TD></TR></TABLE>> URL="https://book.douban.com/subject/2144796/"]
gpugems3 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="./images-zh-cn/gpugems3.jpg"/></TD></TR><TR><TD>GPU精粹3<br/>(2010)</TD></TR></TABLE>> URL="https://book.douban.com/subject/4851196/"]
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-zh-cn/raytracingfromgroundup.jpg"/></TD></TR><TR><TD>光线跟踪算法技术<br/>(2011)</TD></TR></TABLE>> URL="https://book.douban.com/subject/6028258/"]
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. 游戏音效</TD></TR></TABLE>>
{
node [shape="box", style="rounded,filled", color="#c5cbed"]
audiobegin [label="游戏音频编程"]
}
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. 游戏物理和动画</TD></TR></TABLE>>
{
node [shape="box", style="rounded,filled",color="#d7c5ed"]
animbegin [label="游戏动画初阶"]
animadvanced [label="游戏动画进阶"]
phybegin [label="游戏物理初阶"]
phyadvanced [label="游戏物理进阶"]
fluid [label="流体动画/模拟"]
}
natureofcode [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="./images-zh-cn/natureofcode.jpg"/></TD></TR><TR><TD>代码本色:用编程模拟自然系统<br/>(2014)</TD></TR></TABLE>> URL="https://book.douban.com/subject/26264736/"]
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-zh-cn/physicsforgamedevelopers2.jpg"/></TD></TR><TR><TD>游戏开发物理学 第2版<br/>(2015)</TD></TR></TABLE>> URL="https://book.douban.com/subject/26394564/"]
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-zh-cn/gamephysicsenginedev2.jpg"/></TD></TR><TR><TD>游戏物理引擎开发<br/>(2013)</TD></TR></TABLE>> URL="https://book.douban.com/subject/25821830/"]
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-zh-cn/rtcollisiondetection.jpg"/></TD></TR><TR><TD>实时碰撞检测算法技术<br/>(2010)</TD></TR></TABLE>> URL="https://book.douban.com/subject/4861957/"]
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. 游戏人工智能(AI)</TD></TR></TABLE>>
{
node [shape="box", style="rounded,filled" color="#edc5ed"]
aibegin [label="游戏AI初阶"]
aiintermediate [label="中级游戏AI"]
aimisc [label="游戏AI文选"]
}
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-zh-cn/aiforgd.jpg"/></TD></TR><TR><TD>游戏开发中的人工智能<br/>(2006)</TD></TR></TABLE>> URL="https://book.douban.com/subject/1899340/"]
proggameaibyexample [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="./images-zh-cn/proggameaibyexample.jpg"/></TD></TR><TR><TD>游戏人工智能编程<br/>案例精粹<br/>(2012)</TD></TR></TABLE>> URL="https://book.douban.com/subject/19930152/"]
unityaigp2 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="./images-zh-cn/unityaigp2.jpg"/></TD></TR><TR><TD>Unity人工智能游戏开发(第2版) <br/>(2016)</TD></TR></TABLE>> URL="https://book.douban.com/subject/26911454/"]
aima3 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="./images-zh-cn/aima3.jpg"/></TD></TR><TR><TD>人工智能<br/>(2004)</TD></TR></TABLE>> URL="https://book.douban.com/subject/1230487/"]
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-zh-cn/gameaipro.jpg"/></TD></TR><TR><TD>游戏人工智能(2017)</TD></TR></TABLE>> URL="https://book.douban.com/subject/27154117/"]
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. 多人游戏编程</TD></TR></TABLE>>
{
node [shape="box", style="rounded,filled" color="#edc5d7"]
multiplayerbegin [label="多人游戏编程初阶"]
multiplayermisc [label="多人游戏编程文选"]
serverprog [label="服务器编程"]
networkprotocol [label="网络协议"]
networkprog [label="网络编程"]
}
multiplayergp [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="images-zh-cn/multiplayergp.jpg"/></TD></TR><TR><TD>网络多人游戏架构与编程<br/>(2017)</TD></TR></TABLE>> URL="https://book.douban.com/subject/27135506/"]
massivelymultiplayergd [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="./images-zh-cn/massivelymultiplayergd.jpg"/></TD></TR><TR><TD>大型多人在线游戏开发<br/>(2006)</TD></TR></TABLE>> URL="https://book.douban.com/subject/1940567/"]
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-zh-cn/progposixthreads.jpg"/></TD></TR><TR><TD>POSIX多线程程序设计<br/>(2003)</TD></TR></TABLE>> URL="https://book.douban.com/subject/1236825/"]
advancedprogunixenv3 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="./images-zh-cn/advancedprogunixenv3.jpg"/></TD></TR><TR><TD>UNIX环境高级编程(第3版)<br/>(2014)</TD></TR></TABLE>> URL="https://book.douban.com/subject/25900403/"]
linuxsystemprog2 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="./images-zh-cn/linuxsystemprog2.jpg"/></TD></TR><TR><TD>Linux 系统编程(第二版)<br/>(2014)</TD></TR></TABLE>> URL="https://book.douban.com/subject/25828773/"]
tcpipillustratedv1_2 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="./images-zh-cn/tcpipillustratedv1_2.jpg"/></TD></TR><TR><TD>TCP/IP详解<br/> 卷1:协议<br/>(2016)</TD></TR></TABLE>> URL="https://book.douban.com/subject/26825411/"]
tcpipillustratedv2 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="./images-zh-cn/tcpipillustratedv2.jpg"/></TD></TR><TR><TD>TCP/IP详解<br/> 卷2:实现<br/>(2004)</TD></TR></TABLE>> URL="https://book.douban.com/subject/1087767/"]
tcpipillustratedv3 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="./images-zh-cn/tcpipillustratedv3.jpg"/></TD></TR><TR><TD>TCP/IP详解<br/> 卷3:TCP事务协议、<br/>HTTP、NNTP<br/>和UNIX域协议<br/>(2000)</TD></TR></TABLE>> URL="https://book.douban.com/subject/1058634/"]
unixnetworkprogv1_3 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="./images-zh-cn/unixnetworkprogv1_3.jpg"/></TD></TR><TR><TD>UNIX网络编程<br/> 卷1:套接字联网API(第3版)<br/>(2014)</TD></TR></TABLE>> URL="https://book.douban.com/subject/26434583/"]
unixnetworkprogv2_2 [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="./images-zh-cn/unixnetworkprogv2_2.jpg"/></TD></TR><TR><TD>UNIX网络编程<br/> 卷2:进程间通信(第2版)<br/>(2015)</TD></TR></TABLE>> URL="https://book.douban.com/subject/26434599/"]
linuxnetworkinternals [label=<<TABLE BORDER="0" CELLSPACING="0"><TR><TD WIDTH="100" HEIGHT="100" FIXEDSIZE="TRUE"><IMG SCALE="TRUE" SRC="./images-zh-cn/linuxnetworkinternals.jpg"/></TD></TR><TR><TD>深入理解<br/>LINUX网络技术内幕<br/>(2009)</TD></TR></TABLE>> URL="https://book.douban.com/subject/4015134/"]
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
}
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。