CedricGuillemet / ImGuizmo

Immediate mode 3D gizmo for scene editing and other controls based on Dear Imgui
MIT License
3.11k stars 877 forks source link

The vertical scrollbar of ImSequencer is not displayed #208

Open qoyooo opened 2 years ago

qoyooo commented 2 years ago

When drag the mouse on the right edge, the items can be scrolled, but scrollbar is not shown. please refer to the video attached below:

https://user-images.githubusercontent.com/10323618/138114221-1e14e0e5-cf3e-4ab6-82d1-7b47363d0395.mov

moebiussurfing commented 2 years ago

Hello @qoyooo , Sorry to invade your topic... but, Do you have some code to help a bit on ImSequencer? I am super stuck and I don't know where to start from to make something reusable…

qoyooo commented 2 years ago

@moebiussurfing please refer to https://github.com/qoyooo/gltfViewer.

moebiussurfing commented 2 years ago

Thanks @qoyooo , I compiled your code and it works.

But I dont know how to see the curves or to read the code to learn how to read the frame values for each param...

I can edit e.g the position in a frame, but can't see the curves or keyframes..

It's maybe here where you read the current frame values for each parameter?

       if (selectedEntry >= 0 && selectedEntry < mySequence.GetItemCount()) {
            uint32_t index = mySequence.animation->channels[selectedEntry].samplerIndex;
            // switch (mCurrentGizmoOperation) {
            // case ImGuizmo::OPERATION::TRANSLATE:
                ImGui::SameLine();
                ImGui::InputFloat3(ICON_MDI_ARROW_ALL "Location", glm::value_ptr(mySequence.animation->samplers[index].outputsVec4[currentFrame]));
            //     break;
            // case ImGuizmo::OPERATION::ROTATE:
                ImGui::SameLine();
                ImGui::InputFloat4(ICON_MDI_ROTATE_ORBIT "Rotation", glm::value_ptr(mySequence.animation->samplers[index].outputsVec4[currentFrame]));
            //     break;
            // case ImGuizmo::OPERATION::SCALE:
                ImGui::SameLine();
                ImGui::InputFloat3(ICON_MDI_ARROW_EXPAND_ALL "Scale", glm::value_ptr(mySequence.animation->samplers[index].outputsVec4[currentFrame]));
            //     break;
            // default:
            //     break;
            // }
        }

BTW, Maybe it could be nice to make a pull to the main repo example, no? To move/rotate the cube. On the @CedricGuillemet example, curves are not linked to move the scene.