thedocruby / resounding

A New Minecraft mod that provides realistic audio physics using parallel wave tracing and an improved physics algorithm.
https://thedocruby.dev/resounding
GNU Lesser General Public License v3.0
85 stars 4 forks source link

Room resonance #63

Closed MPCTgit closed 2 years ago

MPCTgit commented 2 years ago

Is your feature request related to a problem? Please describe. Not that I can think of.

Describe the solution you'd like Resonance or reverb could be affected on how empty a room/cave is. If there are obstructions in the room (blocks) or holes in the wall, the reverb would be changed accordingly to fit the room. This could create a more realistic feeling in the game. The reverb could also be affected by different amounts depending on the blocks present in the room (wool would be noise cancelling while iron would give more reverb).

Describe alternatives you've considered Only adding the block controlled reverb could prove to be an interesting concept to play with while building a room in-game. People would make combinations of blocks to place in/around the room to make the best reverb they like.

Describe any compatibility requirements There would need to be ray casting around the player to all blocks in the room to detect the obstructions/holes and their types (could become laggy).

Additional context This feature could become really performance hungry for bigger rooms and caves where there are tunnels branching off. Maybe not a good idea for the early stages of resounding to focus on other features first.

thedocruby commented 2 years ago

I almost regret adding this comment since you clearly put a lot of thought and effort into this, but the great thing about using ray tracing and real physics to calculate the reverb is that the things you described happen automatically, without the need yo program them in manually. It's like using simple shaders versus path-traced shaders. In the end, the path traced shaders use a lot more computing power, but they are easier to code, much more realistic, and you get stuff like reflection, refraction, and global illumination for free. This is what Chronos shader is, which is obviously not for gameplay. However, shaders like Molly VX, Noble RT, Apollo RT, and KappaPT have the best of both worlds, because the parts like global illumination and world space reflections are path traced for maximum realism, whereas simple things like bloom are done using traditional methods. Resounding is more like an RT shader in this way: not completely accurate like Chronos (which costs a lot of performance and limits config options) but also not as simple as a shader like Sildurs Vibrant (where nearly everything is rendered using a handmade approximation of the physics for that particular effect: more config and performance, less realism). Dynamic Sound Filters and others are like Sildurs Vibrant in this way, whereas Resounding is more like Apollo RT. Sound Physics Fabric was just an early attempt at the same thing, what sets Resounding appart is that I am rewriting it all from the ground up with clear goals and no time limit.

Hope that helps!

Also, let me know if you think that explanation would help other people as well, and i will spend some time to tweak it and put it on the FAQ or something

MPCTgit commented 2 years ago

Thanks, I'm new to mods and modding so I'm kind of a noob. I think this would definitely help others understand the mod aswell since I understood what you meant by reading it once (not meaning to be an english teacher of course)!