A head-mounted device (102, 1600), comprising: a depth camera (1612A, 1612B) configured to make an image of a physical environment; one or more motion sensors configured to measure one or more motion parameters; a left ear speaker and a right ear speaker; a processing system; and a storage system holding instructions executable by the processing system to generate a virtual model of the physical environment based upon one or more depth images from the depth camera (1612A, 1612B); determine a pose of the head-mounted device (102, 1600) in the physical environment based upon the one or more motion parameters from the one or more motion sensors; cast an array of rays at specified angles from a position derived from the pose of the head-mounted device (102, 1600); identify a plurality of intersection points of the rays with the virtual model; for each intersection point of the plurality of intersection points, modify an input audio signal based on a head related transfer function, HRTF, corresponding to the intersection point to produce a spatialized audio signal corresponding to the intersection point; for each spatialized audio signal of a plurality of spatialized audio signals corresponding to the plurality of intersection points, determine a time-of-flight adjustment based upon a distance between the corresponding intersection point and the position from which the rays were cast; and for each spatialized audio signal of the plurality of spatialized audio signals, output the spatialized audio signal to one or more of the left ear speaker and the right ear speaker with a delay corresponding to the time-of-flight adjustment for the spatialized audio signal. a depth camera (1612A, 1612B) configured to make an image of a physical environment; one or more motion sensors configured to measure one or more motion parameters; a left ear speaker and a right ear speaker; a processing system; and a storage system holding instructions executable by the processing system to generate a virtual model of the physical environment based upon one or more depth images from the depth camera (1612A, 1612B); determine a pose of the head-mounted device (102, 1600) in the physical environment based upon the one or more motion parameters from the one or more motion sensors; cast an array of rays at specified angles from a position derived from the pose of the head-mounted device (102, 1600); identify a plurality of intersection points of the rays with the virtual model; for each intersection point of the plurality of intersection points, modify an input audio signal based on a head related transfer function, HRTF, corresponding to the intersection point to produce a spatialized audio signal corresponding to the intersection point; for each spatialized audio signal of a plurality of spatialized audio signals corresponding to the plurality of intersection points, determine a time-of-flight adjustment based upon a distance between the corresponding intersection point and the position from which the rays were cast; and for each spatialized audio signal of the plurality of spatialized audio signals, output the spatialized audio signal to one or more of the left ear speaker and the right ear speaker with a delay corresponding to the time-of-flight adjustment for the spatialized audio signal.