Open4

「RustではじめるOpenGL」の2025年でのパッケージメモ

ゆうきゆうき

第4章のパッケージ

[dependencies]
sdl2 = "0.36.0"
gl = "0.14.0"
cgmath = "0.18.0"
c_str_macro = "1.0.3"
imgui = "0.11.0"
imgui-sdl2 = "0.15.3"
imgui-opengl-renderer = "0.12.1"

現状sdl20.38.0が最新。
imgui-sdl2の最新パッケージの0.15.3sdl2>=0.34,<0.37に紐づいているので(dependencies)、sdl2は0.36.0まで上げられる。
というのをimguiでもimgui-opengl-rendererでもやる。

4.2.3のコード部分

            let ui = imgui_context.frame();
            // imgui::Window::new(im_str!("Information")) // ここを
            ui.window("Information") // こうする
                .size([300.0,200.0], imgui::Condition::FirstUseEver)
                .build(||{});
            imgui_sdl2_context.prepare_render(&ui, &window);
            // renderer.render(ui); // ここを
            renderer.render(&mut imgui_context); // こうする
ゆうきゆうき

5.1.1のコード部分

imguiのカメラ位置のslider設定

ここの部分を

                    #[rustfmt::skip]
                    imgui::Slider::new(im_str!("Camera X"), -5.0..=5.0)
                        .build(&ui, &mut camera_x);
                    #[rustfmt::skip]
                    imgui::Slider::new(im_str!("Camera Y"), -5.0..=5.0)
                        .build(&ui, &mut camera_y);
                    #[rustfmt::skip]
                    imgui::Slider::new(im_str!("Camera Z"), -5.0..=5.0)
                        .build(&ui, &mut camera_z);

こうする

                    ui.slider("Camera X", -5.0,5.0, &mut camera_x);
                    ui.slider("Camera Y", -5.0, 5.0, &mut camera_y);
                    ui.slider("Camera Z", -5.0, 5.0, &mut camera_z);

render

ここを

            renderer.render(ui);

こうする

            renderer.render(&mut imgui_context); // ここも