steam-audio: Crashing iplSimulatorRunReflections with baking
System Information
- Steam Audio version: 4.5.2
- Operating System and version: Windows 11
Issue Description
Reflections work fine in my project but it’s compute-heavy, so I want to bake my reflections. I have one source that moves around in a circle. My listener is in the middle of circle. I want to perform a static listener bake for the reflections. I’ve generally followed the programmer’s guide for baking, but changed it up a bit to use static listener instead of static sources. However, when I call iplSimulatorRunReflections after baking, it crashes with an “Access violation reading location 0x0000000000000000.” error.
Steps To Reproduce
- I have one probe array, one probe batch, and one identifier.
- When I run the simulation, I set the simulator inputs baked flag and baked data identifier to the same one I used to initially bake.
- Crashes when I call
iplSimulatorRunReflections
One thing I noticed is that my call to iplReflectionsBakerBake is instantaneous. In the Steam Audio docs, it says that this function will block, so I assumed that it would take a while to simulate the reflections. However, that doesn’t seem to be the case for me. I’m wondering if this may be the reason why running reflections is crashing after I bake.
I have also tested with the static source variation but I still get the exact same crash.
About this issue
- Original URL
- State: closed
- Created 2 months ago
- Comments: 16
Are you trying to place probes on that thin edge? Your down vector is -Y and if there is a just a thin plane, no probe is going to land on that thin edge.
You can manually add probes using
iplProbeBatchAddProbeto a probe batch before baking reflections ifiplProbeArrayGenerateProbesdoes not generate probes that you want.A 4 x 4 matrix basically can represent - scaling, rotation, and transform. This link has some basic information that might be helpful on specifying translation in a matrix.
To answer your questions.
Below are three main causes when no probes are generated:
All that said, we should probably do graceful failure here.