Mercurial > cortex
changeset 508:c11d3fc3e6f0
inspecting cortex section.
author | Robert McIntyre <rlm@mit.edu> |
---|---|
date | Sun, 30 Mar 2014 01:07:19 -0400 |
parents | f2f029e1a6a9 |
children | 81c845a91378 |
files | thesis/cortex.bib thesis/cortex.org thesis/images/diagram_rendermanager2.png thesis/images/goldeneye-4-player.png |
diffstat | 4 files changed, 23 insertions(+), 9 deletions(-) [+] |
line wrap: on
line diff
1.1 --- a/thesis/cortex.bib Sun Mar 30 00:53:14 2014 -0400 1.2 +++ b/thesis/cortex.bib Sun Mar 30 01:07:19 2014 -0400 1.3 @@ -12,7 +12,10 @@ 1.4 year = 2013, 1.5 addendum = {\why{All complicated creatures in {\tt CORTEX} are 1.6 described using Blender's extensive 3D modeling 1.7 - capabilities.}} 1.8 + capabilities. Blender is a very sophistaced 3D 1.9 + modeling environment and has been used to create a 1.10 + short movie called Sintel 1.11 + \url{http://www.sintel.org/}}} 1.12 } 1.13 1.14 @inproceedings{winston-directed-perception,
2.1 --- a/thesis/cortex.org Sun Mar 30 00:53:14 2014 -0400 2.2 +++ b/thesis/cortex.org Sun Mar 30 01:07:19 2014 -0400 2.3 @@ -641,11 +641,11 @@ 2.4 #+ATTR_LaTeX: :width 10cm 2.5 [[./images/empty-sense-nodes.png]] 2.6 2.7 -** COMMENT Bodies are composed of segments connected by joints 2.8 +** Bodies are composed of segments connected by joints 2.9 2.10 Blender is a general purpose animation tool, which has been used in 2.11 the past to create high quality movies such as Sintel 2.12 - \cite{sintel}. Though Blender can model and render even complicated 2.13 + \cite{blender}. Though Blender can model and render even complicated 2.14 things like water, it is crucual to keep models that are meant to 2.15 be simulated as creatures simple. =Bullet=, which =CORTEX= uses 2.16 though jMonkeyEngine3, is a rigid-body physics system. This offers 2.17 @@ -957,7 +957,7 @@ 2.18 #+ATTR_LaTeX: :width 15cm 2.19 [[./images/physical-hand.png]] 2.20 2.21 -** COMMENT Eyes reuse standard video game components 2.22 +** Eyes reuse standard video game components 2.23 2.24 Vision is one of the most important senses for humans, so I need to 2.25 build a simulated sense of vision for my AI. I will do this with 2.26 @@ -991,9 +991,9 @@ 2.27 #+caption: =ViewPorts= are cameras in the world. During each frame, 2.28 #+caption: the =RenderManager= records a snapshot of what each view 2.29 #+caption: is currently seeing; these snapshots are =FrameBuffer= objects. 2.30 - #+name: name 2.31 + #+name: rendermanagers 2.32 #+ATTR_LaTeX: :width 10cm 2.33 - [[../images/diagram_rendermanager2.png]] 2.34 + [[./images/diagram_rendermanager2.png]] 2.35 2.36 Each =ViewPort= can have any number of attached =SceneProcessor= 2.37 objects, which are called every time a new frame is rendered. A 2.38 @@ -1165,6 +1165,7 @@ 2.39 #+caption: information from the simulation. 2.40 #+name: vision-kernel 2.41 #+begin_listing clojure 2.42 + #+BEGIN_SRC clojure 2.43 (defn vision-kernel 2.44 "Returns a list of functions, each of which will return a color 2.45 channel's worth of visual information when called inside a running 2.46 @@ -1205,6 +1206,7 @@ 2.47 (.getRGB @vision-image x y)))))) 2.48 register-eye!))) 2.49 retinal-map)))) 2.50 + #+END_SRC 2.51 #+end_listing 2.52 2.53 Note that since each of the functions generated by =vision-kernel= 2.54 @@ -1224,6 +1226,7 @@ 2.55 #+caption: eyes. 2.56 #+name: vision! 2.57 #+begin_listing clojure 2.58 + #+BEGIN_SRC clojure 2.59 (defn vision! 2.60 "Returns a list of functions, each of which returns visual sensory 2.61 data when called inside a running simulation." 2.62 @@ -1232,6 +1235,7 @@ 2.63 concat 2.64 (for [eye (eyes creature)] 2.65 (vision-kernel creature eye)))) 2.66 + #+END_SRC 2.67 #+end_listing 2.68 2.69 #+caption: Simulated vision with a test creature and the 2.70 @@ -1254,7 +1258,7 @@ 2.71 community and is now (in modified form) part of a system for 2.72 capturing in-game video to a file. 2.73 2.74 -** COMMENT Hearing is hard; =CORTEX= does it right 2.75 +** Hearing is hard; =CORTEX= does it right 2.76 2.77 At the end of this section I will have simulated ears that work the 2.78 same way as the simulated eyes in the last section. I will be able to 2.79 @@ -1375,6 +1379,7 @@ 2.80 #+caption: listeners via context copying/switching. 2.81 #+name: sync-openal-sources 2.82 #+begin_listing C 2.83 + #+BEGIN_SRC C 2.84 void syncSources(ALsource *masterSource, ALsource *slaveSource, 2.85 ALCcontext *masterCtx, ALCcontext *slaveCtx){ 2.86 ALuint master = masterSource->source; 2.87 @@ -1438,6 +1443,7 @@ 2.88 // Restore whatever context was previously active. 2.89 alcMakeContextCurrent(current); 2.90 } 2.91 + #+END_SRC 2.92 #+end_listing 2.93 2.94 With this special context-switching device, and some ugly JNI 2.95 @@ -1449,6 +1455,7 @@ 2.96 #+caption: all sensory data to a continuation function. 2.97 #+name: add-ear 2.98 #+begin_listing clojure 2.99 + #+BEGIN_SRC clojure 2.100 (defn add-ear! 2.101 "Create a Listener centered on the current position of 'ear 2.102 which follows the closest physical node in 'creature and 2.103 @@ -1464,8 +1471,8 @@ 2.104 (update-listener-velocity! target lis) 2.105 (.addListener audio-renderer lis) 2.106 (.registerSoundProcessor audio-renderer lis sp))) 2.107 + #+END_SRC 2.108 #+end_listing 2.109 - 2.110 2.111 The =Send= device, unlike most of the other devices in =OpenAL=, 2.112 does not render sound unless asked. This enables the system to 2.113 @@ -1478,6 +1485,7 @@ 2.114 #+caption: Program to enable arbitrary hearing in =CORTEX= 2.115 #+name: hearing 2.116 #+begin_listing clojure 2.117 +#+BEGIN_SRC clojure 2.118 (defn hearing-kernel 2.119 "Returns a function which returns auditory sensory data when called 2.120 inside a running simulation." 2.121 @@ -1504,6 +1512,7 @@ 2.122 [#^Node creature] 2.123 (for [ear (ears creature)] 2.124 (hearing-kernel creature ear))) 2.125 + #+END_SRC 2.126 #+end_listing 2.127 2.128 Armed with these functions, =CORTEX= is able to test possibly the 2.129 @@ -1515,6 +1524,7 @@ 2.130 #+caption: goes over a threshold. 2.131 #+name: sound-test 2.132 #+begin_listing java 2.133 + #+BEGIN_SRC java 2.134 /** 2.135 * Respond to sound! This is the brain of an AI entity that 2.136 * hears its surroundings and reacts to them. 2.137 @@ -1539,6 +1549,7 @@ 2.138 else { 2.139 entity.getMaterial().setColor("Color", ColorRGBA.Gray); 2.140 } 2.141 + #+END_SRC 2.142 #+end_listing 2.143 2.144 #+caption: First ever simulation of multiple listerners in =CORTEX=. 2.145 @@ -2358,7 +2369,7 @@ 2.146 #+ATTR_LaTeX: :width 16cm 2.147 [[./images/integration.png]] 2.148 2.149 -** COMMENT =CORTEX= enables many possiblities for further research 2.150 +** =CORTEX= enables many possiblities for further research 2.151 2.152 Often times, the hardest part of building a system involving 2.153 creatures is dealing with physics and graphics. =CORTEX= removes
3.1 Binary file thesis/images/diagram_rendermanager2.png has changed
4.1 Binary file thesis/images/goldeneye-4-player.png has changed