diff --git a/game-programmer.dot b/game-programmer.dot
index da84c3f..2d0649a 100644
--- a/game-programmer.dot
+++ b/game-programmer.dot
@@ -27,7 +27,7 @@ digraph {
A STUDY PATH FOR |
GAME PROGRAMMER |
- Milo Yip 2016/12/20 |
+ Milo Yip 2017/7/26 |
https://github.com/miloyip/game-programmer |
> URL="https://github.com/miloyip/game-programmer"]
@@ -519,6 +519,7 @@ digraph {
gpupro5 [label=< |
GPU Pro 5 (2014) |
> URL="https://www.amazon.com/dp/1482208636/"]
gpupro6 [label=< |
GPU Pro 6 (2015) |
> URL="https://www.amazon.com/dp/1482264617/"]
gpupro7 [label=< |
GPU Pro 7 (2016) |
> URL="https://www.amazon.com/dp/149874253X/"]
+ gpuzen [label=< |
GPU Zen (2017) |
> URL="https://www.amazon.com/dp/0998822892/"]
pbrt3 [label=< |
Physically Based Rendering (PBRT) 3rd Ed (2016) |
> URL="https://www.amazon.com/dp/0128006455/"]
raytracingfromgroundup [label=< |
Ray Tracing from the Ground Up (2007) |
> URL="https://www.amazon.com/dp/1568812728/"]
@@ -562,7 +563,7 @@ digraph {
realtimerendering -> rtr3 [arrowhead=normal, style=solid]
realtimerendering -> tricks3dgpgurus
- rtr3 -> graphicsprogrammingmethods -> gpugems -> gpugems2 -> gpugems3 -> gpupro -> gpupro2 -> gpupro3 -> gpupro4 -> gpupro5 -> gpupro6 -> gpupro7
+ rtr3 -> graphicsprogrammingmethods -> gpugems -> gpugems2 -> gpugems3 -> gpupro -> gpupro2 -> gpupro3 -> gpupro4 -> gpupro5 -> gpupro6 -> gpupro7 -> gpuzen
{ rank=same;rtr3; rtvolumegraphics }
rtr3 -> { realtimeshadows; rtvolumegraphics }
realtimeshadows -> graphicsprogrammingmethods [style=invis]
@@ -596,7 +597,7 @@ digraph {
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]
- glassenernotebook2 -> cgbottom [style=invis]
+ gpuzen -> cgbottom [style=invis]
}
subgraph cluster_audio {
@@ -644,12 +645,14 @@ digraph {
physicsforgamedevelopers2 [label=< |
Physics for Game Developers 2nd Ed (2013) |
> URL="https://www.amazon.com/dp/1449392512/"]
physicsmodeling [label=< |
Physics Modeling for Game Programmers (2004) |
> URL="https://www.amazon.com/dp/1592000932/"]
+ fpbma [label=< |
Foundations of Physically Based Modeling and Animation (2017) |
> URL="https://www.amazon.com/dp/1482234602/"]
gamephysicsenginedev2 [label=< |
Game Physics Engine Development 2nd Ed (2010) |
> URL="https://www.amazon.com/dp/0123819768/"]
gamephysics2 [label=< |
Game Physics 2nd Ed (2010) |
> URL="https://www.amazon.com/dp/0123749034/"]
collisiondetection3denv [label=< |
Collision Detection in Interactive 3D Environments (2003) |
> URL="https://www.amazon.com/dp/155860801X/"]
rtcollisiondetection [label=< |
Real-Time Collision Detection (2004) |
> URL="https://www.amazon.com/dp/1558607323/"]
gamephysicspearls [label=< |
Game Physics Pearls (2010) |
> URL="https://www.amazon.com/dp/1568814747/"]
+ fluidenginedev [label=< |
Fluid Engine Development (2016) |
> URL="https://www.amazon.com/dp/1498719929/"]
taofluidanimation [label=< |
The Art of Fluid Animation (2015) |
> URL="https://www.amazon.com/dp/1498700209/"]
fluidsimulationforcg2 [label=< |
Fluid Simulation for Computer Graphics 2nd Ed (2015) |
> URL="https://www.amazon.com/dp/1482232839/"]
@@ -664,11 +667,11 @@ digraph {
{ animbegin; phybegin } -> natureofcode
- phyadvanced -> gamephysicspearls
+ phyadvanced -> fpbma -> gamephysicspearls
gamephysicspearls -> collisiondetection3denv -> rtcollisiondetection
gamephysicspearls -> gamephysicsenginedev2 -> gamephysics2
- { animadvanced; phyadvanced } -> fluid -> taofluidanimation -> fluidsimulationforcg2
+ { 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=""]
@@ -706,6 +709,7 @@ digraph {
rank=same
gameaipro [label=< |
Game AI Pro (2013) |
> URL="https://www.amazon.com/dp/1466565969/"]
gameaipro2 [label=< |
Game AI Pro 2 (2015) |
> URL="https://www.amazon.com/dp/1482254794/"]
+ gameaipro3 [label=< |
Game AI Pro 3 (2017) |
> URL="https://www.amazon.com/dp/1482254794/"]
}
aibegin -> aiforgames2 -> aiintermediate -> aima3 [arrowhead=normal, style=solid]
@@ -714,12 +718,12 @@ digraph {
aima3 -> aimisc
aimisc -> aigpwisdom
aigpwisdom -> aigpwisdom2 -> aigpwisdom3 -> aigpwisdom4
- aigpwisdom4 -> gameaipro -> gameaipro2
+ 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]
- gameaipro2 -> aibottom [style=invis]
+ gameaipro3 -> aibottom [style=invis]
}
subgraph cluster_multiplayer {
diff --git a/game-programmer.jpg b/game-programmer.jpg
index 83797f6..3b128b1 100644
Binary files a/game-programmer.jpg and b/game-programmer.jpg differ
diff --git a/game-programmer.pdf b/game-programmer.pdf
index 55e7578..11329c3 100644
Binary files a/game-programmer.pdf and b/game-programmer.pdf differ
diff --git a/game-programmer.png b/game-programmer.png
index c12ab45..56a4b70 100644
Binary files a/game-programmer.png and b/game-programmer.png differ
diff --git a/game-programmer.svg b/game-programmer.svg
index 173af80..b9d7f22 100644
--- a/game-programmer.svg
+++ b/game-programmer.svg
@@ -1,198 +1,236 @@
-
-