Mercurial > cortex
comparison org/hearing.org @ 472:516a029e0be9
complete first draft of hearing.
author | Robert McIntyre <rlm@mit.edu> |
---|---|
date | Fri, 28 Mar 2014 18:14:04 -0400 |
parents | 4f5a5d5f1613 |
children |
comparison
equal
deleted
inserted
replaced
471:f14fa9e5b67f | 472:516a029e0be9 |
---|---|
24 ** Brief Description of jMonkeyEngine's Sound System | 24 ** Brief Description of jMonkeyEngine's Sound System |
25 | 25 |
26 jMonkeyEngine's sound system works as follows: | 26 jMonkeyEngine's sound system works as follows: |
27 | 27 |
28 - jMonkeyEngine uses the =AppSettings= for the particular application | 28 - jMonkeyEngine uses the =AppSettings= for the particular application |
29 to determine what sort of =AudioRenderer= should be used. | 29 to determine what sort of =AudioRenderer= should be used. |
30 - Although some support is provided for multiple AudioRendering | 30 - Although some support is provided for multiple AudioRendering |
31 backends, jMonkeyEngine at the time of this writing will either | 31 backends, jMonkeyEngine at the time of this writing will either |
32 pick no =AudioRenderer= at all, or the =LwjglAudioRenderer=. | 32 pick no =AudioRenderer= at all, or the =LwjglAudioRenderer=. |
33 - jMonkeyEngine tries to figure out what sort of system you're | 33 - jMonkeyEngine tries to figure out what sort of system you're |
34 running and extracts the appropriate native libraries. | 34 running and extracts the appropriate native libraries. |
35 - The =LwjglAudioRenderer= uses the [[http://lwjgl.org/][=LWJGL=]] (LightWeight Java Game | 35 - The =LwjglAudioRenderer= uses the [[http://lwjgl.org/][=LWJGL=]] (LightWeight Java Game |
76 the only point in the sound rendering process where this data is | 76 the only point in the sound rendering process where this data is |
77 available. | 77 available. |
78 | 78 |
79 Therefore, in order to support multiple listeners, and get the sound | 79 Therefore, in order to support multiple listeners, and get the sound |
80 data in a form that the AIs can use, it is necessary to create a new | 80 data in a form that the AIs can use, it is necessary to create a new |
81 Device which supports this features. | 81 Device which supports this feature. |
82 | 82 |
83 ** The Send Device | 83 ** The Send Device |
84 Adding a device to OpenAL is rather tricky -- there are five separate | 84 Adding a device to OpenAL is rather tricky -- there are five separate |
85 files in the =OpenAL= source tree that must be modified to do so. I've | 85 files in the =OpenAL= source tree that must be modified to do so. I've |
86 documented this process [[../../audio-send/html/add-new-device.html][here]] for anyone who is interested. | 86 documented this process [[../../audio-send/html/add-new-device.html][here]] for anyone who is interested. |
821 ** Physical Ears | 821 ** Physical Ears |
822 | 822 |
823 Together, these three functions define how ears found in a specially | 823 Together, these three functions define how ears found in a specially |
824 prepared blender file will be translated to =Listener= objects in a | 824 prepared blender file will be translated to =Listener= objects in a |
825 simulation. =ears= extracts all the children of to top level node | 825 simulation. =ears= extracts all the children of to top level node |
826 named "ears". =add-ear!= and =update-listener-velocity!= use | 826 named "ears". =add-ear!= and =update-listener-velocity!= use |
827 =bind-sense= to bind a =Listener= object located at the initial | 827 =bind-sense= to bind a =Listener= object located at the initial |
828 position of an "ear" node to the closest physical object in the | 828 position of an "ear" node to the closest physical object in the |
829 creature. That =Listener= will stay in the same orientation to the | 829 creature. That =Listener= will stay in the same orientation to the |
830 object with which it is bound, just as the camera in the [[http://aurellem.localhost/cortex/html/sense.html#sec-4-1][sense binding | 830 object with which it is bound, just as the camera in the [[http://aurellem.localhost/cortex/html/sense.html#sec-4-1][sense binding |
831 demonstration]]. =OpenAL= simulates the Doppler effect for moving | 831 demonstration]]. =OpenAL= simulates the Doppler effect for moving |
832 listeners, =update-listener-velocity!= ensures that this velocity | 832 listeners, =update-listener-velocity!= ensures that this velocity |
833 information is always up-to-date. | 833 information is always up-to-date. |
834 | 834 |
835 #+name: hearing-ears | 835 #+name: hearing-ears |
836 #+begin_src clojure | 836 #+begin_src clojure |