three-rs / three

[abandoned] Totally not inspired Rust 3D library
Apache License 2.0
555 stars 46 forks source link

Port to wgpu-rs #222

Open kvark opened 5 years ago

kvark commented 5 years ago

This is a conflicting proposal with #175

Pros:

Cons: NONE

vitvakatu commented 5 years ago

@kvark any progress on this? If not, I might give it a try, possibly in several iterations.

kvark commented 5 years ago

@vitvakatu glad to see you here!

I haven't started that port, been very busy with gfx-rs/portability, wgpu-rs, and vange-rs. For the near future, I'll be occupied with work as well as trying to integrate wgpu-rs into Gecko, so I'll not have time to do any three-rs work. Speaking of which, I'm sure it's it would be lots of run to port!

However, I can think of one thing that would be more important for the project at this stage than porting to wgpu-rs. This is - evaluation of how well the current approach worked out, a sort of mid-mortem. Obviously, it's not ideal: three.js is a JS API that doesn't always map nicely to Rust, the hidden node tree wasn't obvious for users to consider (it doesn't map to Rust owning/borrowing mechanic), and overall the model seems quite restricted in what you can do without modifying three-rs itself.

So, if you have some bandwidth to work on it, try to evaluate if three-rs turned out to be the right API to begin with. If a different project needs to be born on the ashes of it, instead, and what it would look like. Or not, and we just need to port it to wgpu-rs and simply get more cool stuff built on it!

vitvakatu commented 5 years ago

Seems reasonable. A long time ago I tried to use Three as an engine for pretty simple Asteroids game - and some things were hard to make using current API.

So I need to look into our current API and also learn new ideas in Rust gamedev ecosystem to make a conclusion.

Nazariglez commented 5 years ago

run on the Web

Just a question, wgpu supports web? In the readme of the wgpu says that they don't support it.

kvark commented 5 years ago

It doesn't target the web yet. Once gfx-rs WebGL backend becomes available, we'll enable it here. Another path will open once the browsers start supporting WebGPU.

On Apr 15, 2019, at 17:37, Nazarí González notifications@github.com wrote:

r Just a question, wgpu supports web? In the readme of the wgpu says that don't support it.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.

Nazariglez commented 5 years ago

I'm working on a Cross Platform Layer (Audio, Inputs, Graphics) to use as a foundation for apps or games, and I'm looking to wgpu.rs as an alternative to webgl/opengl. Maybe in a few months. Thanks!

dreammaker commented 4 years ago

Hi. First of all, thanks for creating this library! It's pretty awesome that it exists!

Basically, I'm looking to start a new project using something that favors ergonomics, and it seems that the Rust library ecosystem is in flux. Gfx pre-ll changing to gfx-hal is a big part of that. I'm wondering if there have been any updates related to this issue and the likelihood that three-rs will continue to be updated. Thanks.

kvark commented 4 years ago

@dreammaker it's not clear if three-rs will be upgraded, much depends on the contributions.

For me, it was an experiment. And the conclusion is that Rust requires its own paths to be paved and can't follow existing trails... I've been collecting some research here - https://gist.github.com/kvark/20bf1b14b04d2bc1344081a2b0d57a70

Would appreciate the discussion on how to build a new 3D engine that is good for prototyping. This would need to happen elsewhere (my preference is - on the Matrix, e.g. in #wgpu:matrix.org).