Comments (5)
Hi. Thanks a lot! :) And great you want to use three-d.
No work has gone into audio I'm afraid, basically I know very little about audio, but I think it would be immensely cool and definitely should be supported at some point. If you want to add audio support please go ahead and do so, it will be greatly appreciated. I will of course assist as much as possible. Otherwise I will try to do it at some point but I don't know when I have the time.
Also if you make something with three-d please share it if you want and can :)
from three-d.
Thanks for the answer!
For what is worth I gave a shot at translating the MDN example about audio spatialization using the bindings made available by wasm-bindgen
and it seems to work great. The only tricky part for web is that Chrome forbid to add audio to a web page prior to an user action. But since I have a html UI made with Yew this is fairly trivial to do. I just create the 3d renderer and audio stuff once the user clicked on a button that starts the whole thing.
It might be a bit more difficult on desktop as there is no de-facto API. After a quick look at crates.io, Ambisonic which add features on top of Rodio might be the best bet for a pure Rust solution. Alternatives would be using a wrapper of OpenAL (for instance alto ) or FMOD Rust wrapper. Their quality as well as their features set might need to be analyzed in details to make sure the audio is somewhat consistent between the Web and native.
from three-d.
That sounds surprisingly simple. Great you got it to work and thanks for sharing your experience. I'm not yet sure what to do, maybe it is better to leave audio out of three-d or maybe it is better make a simple support to make it easy for people to add audio. If choosing the latter it will be an optional dependency for desktop and wasm-bindgen for web as you also suggest.
from three-d.
As I can move on with my current solution I will close the issue. If I got something to showcase or anything meaningful to say I will post it here. Thanks again for the help!
from three-d.
No problem and thank for your input :)
from three-d.
Related Issues (20)
- Uncaught runtime errors
- "You forgot to call destroy() on the egui glow painter. Resources will leak!" HOT 3
- Centering the camera on a model HOT 4
- `Camera` is trying to do too much - not compatible with custom camera implementations HOT 2
- Headless on windows HOT 2
- Weird stretching when rendering finite terrain HOT 2
- Converting between ui space and screen space? HOT 2
- How to control occlusion for 2D shapes? HOT 7
- InstancedMesh but with different material for each instance HOT 5
- Run three-d from egui app HOT 1
- Camera position_at_pixel() is missing window_scale_factor on HiDPI displays HOT 2
- Any plans to support custom buffer element types for interleaved data? HOT 1
- ColorMaterial Transparency breaks when renderered at negative Y position? HOT 2
- Upgrading V0.16.1 => V0.17 breaks loading a 1x1 pixel white texture HOT 2
- Some kind of blend/alpha issue with some models (inside-out models) HOT 1
- Trying to use PhysicalMaterial without lights crashes the program HOT 1
- Warning when running on the browser / crash in debug mode HOT 3
- InstancedMesh Individual Animations HOT 2
- `egui` links don't work? HOT 1
- How would other shadow algorithms slot in?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from three-d.