You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
If I build the examples from v0.4.0 I can run the aviator example. When I build 07e47da (current tip of the master branch) the examples build but the window opens and is automatically closed immediately. The same is true if I compile and run a basic program based on the introductory instructions:
extern crate three;
use three::{Factory, Object, template::Template};
fn main() {
let title = "MyGame";
let mut window = three::Window::new(title);
let center = [0.0, 0.0];
let yextent = 1.0;
let zrange = -1.0 .. 1.0;
let camera = window.factory.orthographic_camera(center, yextent, zrange);
while window.update() {
window.render(&camera);
}
}
It seems window.update() returns false as soon as the window appears on screen. Unfortunately the three-rs v0.4.0 depends on gltf v0.11.3, which does not compile when I enable the feature:
error[E0597]: `buf` does not live long enough
--> /home/dvogel/.cargo/registry/src/jackfan.us.kg-1ecc6299db9ec823/gltf-0.11.3/src/binary.rs:225:35
|
119 | impl<'a> Glb<'a> {
| -- lifetime `'a` defined here
...
225 | Self::from_v2(&buf)
| --------------^^^^-
| | |
| | borrowed value does not live long enough
| argument requires that `buf` is borrowed for `'a`
...
233 | }
| - `buf` dropped here while still borrowed
error: aborting due to previous error
For more information about this error, try `rustc --explain E0597`.
error: could not compile `gltf`.
Git bisect points at commit 57b2ba8 as when the aviator example broke on my system (linux, x11) but I haven't had time to dig into it yet.
The text was updated successfully, but these errors were encountered:
Thank you for filing this!
Just wanted to note that the library is no longer being developed. If you want to fix things, I'll be happy to review the PRs.
Thanks for the info @kvark. I dug into this a little tonight. I don't have the time or rust expertise to make a fix. Here's my breadcrumbs in case anyone else would like to pick this up:
There's some upstream bugs in glutin and winit that could be involved.
Both of those crates went through a significant re-organization. In particular:
All structs and enums are namespaced. e.g. glutin::EventsLoop is now glutin::event_loop::EventLoop (plural vs singular intended).
The winit crate has removed the poll_events method and now expects users to call run to run forever.
three-rs uses gfx_window_glutin, which has been discontinued upstream. The most recent version is tied to the prior glutin crate layout.
If I build the examples from v0.4.0 I can run the aviator example. When I build 07e47da (current tip of the
master
branch) the examples build but the window opens and is automatically closed immediately. The same is true if I compile and run a basic program based on the introductory instructions:It seems
window.update()
returns false as soon as the window appears on screen. Unfortunately the three-rs v0.4.0 depends on gltf v0.11.3, which does not compile when I enable the feature:Git bisect points at commit 57b2ba8 as when the aviator example broke on my system (linux, x11) but I haven't had time to dig into it yet.
The text was updated successfully, but these errors were encountered: