Skip to content

Shift + Left Mouse Button camera panning is laggy, and does not work when F3D is embedded into a custom GUI #2777

@CV-Tan

Description

@CV-Tan

Description

I noticed an issue with camera panning behavior in F3D, especially when embedding F3D into a custom GUI application.

  • When using Shift + Left Mouse Button to pan the camera, the movement is very laggy / stuttery.
  • When using Middle Mouse Button (press and drag) to pan the camera, the movement is smooth and responsive.
  • When integrating libf3d into a custom GUI application (e.g. using an external OpenGL context), Shift + Left Mouse Button panning does not work at all, while middle mouse panning still works correctly.

This makes camera interaction inconsistent and difficult to use in embedded scenarios.


Expected Behavior

  • Camera panning using Shift + Left Mouse Button should be smooth and responsive.
  • The behavior should be consistent between:
    • standalone F3D usage
    • embedded / integrated usage inside a custom GUI
  • Shift + Left Mouse Button panning should work correctly when mouse and modifier events are forwarded from the host application.

Actual Behavior

  • Shift + Left Mouse Button panning is significantly laggier than middle mouse panning.
  • When F3D is embedded into a custom GUI, Shift + Left Mouse Button panning does not trigger camera translation at all.
  • Middle mouse panning works correctly in all cases.

Environment

  • F3D version: v3.4.0-RC1
  • Platform: Windows
  • Integration: Embedded into a custom GUI application
  • Rendering backend: OpenGL (external context)

Additional Notes

  • Mouse move and button events are forwarded correctly (rotation and middle mouse panning work as expected).
  • Modifier keys (Shift) are correctly detected by the host application.
  • The issue seems specific to how Shift + Left Mouse Button interactions are handled in embedded/integrated scenarios.

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    Status

    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions