Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GLEW and FreeGLUT refactor and cleanup #441

Merged
merged 15 commits into from
Jan 31, 2024

Conversation

a740g
Copy link
Contributor

@a740g a740g commented Jan 29, 2024

This PR is a refactoring effort to cleanup and consolidate GLEW and FreeGLUT dependencies. The goal is to improve code organization and simplify the handling of GLEW and FreeGLUT dependencies.

Major Changes

  • Updated FreeGLUT to version 2.8.1 (latest 2.x version).
  • Updated GLEW to version 2.2.0.
  • Decoupled GLEW from libqb.
  • Removed dead code and unnecessary directories.
  • Clearly marked all custom changes to FreeGLUT with comments (starting with QB64-PE: ...).

Notes

While the pull request indicates 1135 files changed, a majority of these modifications involve the removal of dead and redundant files. This significantly streamlines the content in internal/c/parts/core. The compilation structure for FreeGLUT and GLEW remains consistent, utilizing flat-directory compilation. Several non-critical custom changes to FreeGLUT were reversed, achieving the same functionality through makefile logic where possible.

What's Next?

This refactoring sets the stage for a smoother transition to FreeGLUT version 3.x or alternative libraries such as GLFW version 3.x.

  • FreeGLUT 3.x:

    • Most custom changes made to the 2.x version can be replicated using newer callbacks in FreeGLUT 3.x.
    • Note: FreeGLUT 3.x lacks a callback for file drag-and-drop, necessitating investigation if transitioning to 3.x without altering library code.
  • GLFW:

    • Transitioning to GLFW demands more effort, as it does not control the event loop. However, this offers precise timing and lower latency.

@a740g a740g added enhancement New feature or request libqb-refactor Separating out libqb.cpp labels Jan 29, 2024
@a740g a740g self-assigned this Jan 29, 2024
@a740g a740g merged commit 57abdc7 into QB64-Phoenix-Edition:main Jan 31, 2024
4 checks passed
@a740g a740g deleted the core-refactor branch January 31, 2024 06:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request libqb-refactor Separating out libqb.cpp
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants