GLFW

Screenshot Software:
GLFW
Detalii soft:
Versiune: 3.1.2 Actualizat
Incarca data: 9 Dec 15
Producător: GLFW team
Licenţă: Gratuit
Popularitate: 50

Rating: 2.0/5 (Total Votes: 1)

GLFW is an open source, cross-platform, portable and freely distributed library software that has been designed from the ground up to act as a framework for OpenGL and OpenGL ES application development under Linux, BSD and Microsoft Windows and Mac OS X operating systems.

Features at a glance

It is a very easy to use API that provides various functions for accessing OpenGL extensions, opening an OpenGL window, reading mouse, keyboard, joystick and time input, as wel as to synchronize and create reading textures and threads from files.

Supports a wide range of compilers

GLFW comes with built-in support for numerous compilers, including GCC, Cygwin, DJGPP, Borland C++ Builder, Apple Developer Tools, Geek Gadgets, LCC-Win32, MinGW32, Microsoft Visual C++, OpenWatcom, VBCC, and Pelles C.

Gettings started with GLFW

If you want to install this program on your GNU/Linux system, you will have to download the latest archive from Softoware, extract it on a location of your choice, open a terminal emulator, navigate to the location of the extracted file and compile the code.

Detailed documentation about how to compile the GLFW library from sources, as well as some examples on how to build programs using this software, is officially provided to developers on the project’s homepage (see link below).

Under the hood, supported OSes and availability

The GLFW library is written entirely in the C and Pascal programming languages, and its target audience are developers who want to develop applications based on the OpenGL and OpenGL ES technologies. Check out the requirements section below to see what software you need to get started with GLFW.

While for GNU/Linux, BSD and Mac OS X, the software is available for download as tarballs, which include the source code of the project, it is distributed as pre-built binary archives for the Microsoft Windows operating system, supporting both 32-bit (x86) and 64-bit (x86_64) hardware platforms.

What is new in this release:

  • This release adds fixes for a large number of bugs that together affect all supported platforms, as well as dynamic loading work that simplifies compilation and linking.

What is new in version 3.1.1:

  • This release adds fixes for a number of bugs that together affect all supported platforms, most notably workarounds for bugs in some popular window managers.

What is new in version 3.1:

  • Added GLFWcursor custom system cursor handle
  • Added glfwCreateCursor, glfwCreateStandardCursor, glfwDestroyCursor and glfwSetCursor for managing system cursor images
  • Added GLFWimage struct for passing 32-bit RGBA images
  • Added monitor and adapter identifier access to native API
  • Added glfwSetDropCallback and GLFWdropfun for receiving dropped files
  • Added glfwPostEmptyEvent for allowing secondary threads to cause glfwWaitEvents to return
  • Added empty test program for verifying posting of empty events
  • Added glfwSetCharModsCallback for receiving character events with modifiers
  • Added glfwGetWindowFrameSize for retrieving the size of the frame around the client area of a window
  • Added GLFW_AUTO_ICONIFY for controlling whether full screen windows automatically iconify (and restore the previous video mode) on focus loss
  • Added GLFW_DONT_CARE for indicating that any value is acceptable
  • Added GLFW_DOUBLEBUFFER for controlling whether to use double buffering
  • Added GLFW_CONTEXT_RELEASE_BEHAVIOR and values GLFW_ANY_RELEASE_BEHAVIOR, GLFW_RELEASE_BEHAVIOR_FLUSH and GLFW_RELEASE_BEHAVIOR_NONE for GL_KHR_context_flush_control support
  • Added GLFW_INCLUDE_ES31 for including the OpenGL ES 3.1 header
  • Added GLFW_FLOATING for creating always-on-top windowed mode windows
  • Added GLFW_FOCUSED window hint for controlling initial input focus
  • Added partial and experimental support for Wayland
  • Added partial and experimental support for Mir
  • Changed the window state attributes (focused, iconified and visible) to query the system directly
  • Changed the default of GLFW_REFRESH_RATE to GLFW_DONT_CARE to maintain the default behavior
  • Changed static library to build as position independent code for easier use from the Rust language
  • Changed glfwGetCursorPos to query the system directly for all cursor modes except captured mode
  • Bugfix: The debug context attribute was set from GL_ARB_debug_output even when a debug context had not been requested
  • Bugfix: The particles example was not linked against the threading library
  • Bugfix: The cursor was not positioned over newly created full screen windows
  • Bugfix: The queried cursor position was not always up-to-date
  • Bugfix: glfwExtensionSupported always failed for OpenGL ES 3.0 and later if the library was compiled for OpenGL ES
  • [Cocoa] Added _GLFW_USE_RETINA to control whether windows will use the full resolution on Retina displays
  • [Cocoa] Made content view subclass of NSOpenGLView
  • [Cocoa] Bugfix: Using a 1x1 cursor for hidden mode caused some screen recorders to fail
  • [Cocoa] Bugfix: Some Core Foundation objects were leaked during joystick enumeration and termination
  • [Cocoa] Bugfix: One copy of each display name string was leaked
  • [Cocoa] Bugfix: Monitor enumeration caused a segfault if no NSScreen was found for a given CGDisplay
  • [Cocoa] Bugfix: Modifier key events were lost if the corresponding modifier bit field was unchanged
  • [Cocoa] Bugfix: Joystick enumeration took hundreds of ms on some systems
  • [Cocoa] Bugfix: The cursor was hidden when the user resized a GLFW window
  • [Cocoa] Bugfix: The 10.10 Yosemite OpenGL 4.1 profile token was not used
  • [Cocoa] Bugfix: The generic software OpenGL renderer could be selected under certain conditions
  • [Cocoa] Bugfix: The virtual cursor jumped unpredictably when entering disabled cursor mode
  • [Win32] Enabled generation of pkg-config file for MinGW
  • [Win32] Removed option to require explicitly linking against winmm.dll
  • [Win32] Bugfix: Failure to load winmm or its functions was not reported to the error callback
  • [Win32] Bugfix: Some keys were reported based on the current layout instead of their physical location
  • [Win32] Bugfix: Maximized hidden windows were restored by glfwShowWindow
  • [Win32] Bugfix: Context re-creation was not triggered by sRGB hint
  • [Win32] Bugfix: Full screen windows were incorrectly sized and placed on some systems
  • [Win32] Bugfix: Gamma ramp functions acted on entire desktop instead of the specified monitor
  • [Win32] Bugfix: The wrong incorrect physical size was returned for non-primary monitors
  • [Win32] Bugfix: X-axis scroll offsets were inverted
  • [Win32] Bugfix: The Optimus HPG forcing variable was not correctly exported
  • [Win32] Bugfix: The iconified window state attribute was not always updated
  • [Win32] Bugfix: Previously focused windows with disabled cursor mode and that had been iconified by Win+D were not visible when restored
  • [Win32] Bugfix: The virtual cursor jumped unpredictably when entering disabled cursor mode
  • [X11] Added run-time support for systems lacking the XKB extension
  • [X11] Made GLX 1.3 the minimum supported version
  • [X11] Replaced XRRGetScreenResources with XRRGetScreenResourcesCurrent for monitor property retrieval
  • [X11] Bugfix: The case of finding no usable CRTCs was not detected
  • [X11] Bugfix: Detection of broken Nvidia RandR gamma support did not verify that at least one CRTC was present
  • [X11] Bugfix: A stale _NET_SUPPORTING_WM_CHECK root window property would cause an uncaught BadWindow error
  • [X11] Bugfix: No check was made for the presence of GLX 1.3 when GLX_SGIX_fbconfig was unavailable
  • [X11] Bugfix: The message type of ICCCM protocol events was not checked
  • [X11] Bugfix: glfwDestroyWindow did not flush the output buffer
  • [X11] Bugfix: Window frame interactions were reported as focus events
  • [X11] Bugfix: Workaround for legacy Compiz caused flickering during resize
  • [X11] Bugfix: The name pointer of joysticks were not cleared on disconnection
  • [X11] Bugfix: Video mode resolutions and monitor physical sizes were not corrected for rotated CRTCs
  • [X11] Bugfix: Unicode character input ignored dead keys
  • [X11] Bugfix: X-axis scroll offsets were inverted
  • [X11] Bugfix: Full screen override redirect windows were not always positioned over the specified monitor
  • [X11] Bugfix: Character input did not work for the default "C" locale
  • [X11] Bugfix: Joysticks connected after glfwInit were not detected (temporary inotify solution until proper libudev solution)

What is new in version 3.0.4:

  • Added the GLFW_BUILD_DOCS CMake option for controlling whether the documentation is built
  • Added the _GLFW_USE_CONFIG_H configuration macro for controlling whether to include the configuration header
  • Moved version number macro to internal.h for easier manual compilation
  • Renamed configuration header to glfw_config.h to avoid conflicts
  • Bugfix: The glfw3.pc file did not respect the LIB_SUFFIX CMake option
  • Bugfix: The joysticks test would segfault if a controller had no axes
  • [Win32] Allowed swap interval to be explicitly set to zero on DWM systems
  • [Win32] Bugfix: Removed joystick axis value negation left over from GLFW 2
  • [Win32] Bugfix: Restoring windows using the Win+D hot key did not trigger the focus callback
  • [Win32] Bugfix: The disabled cursor mode clip rectangle was updated for unfocused windows
  • [Win32] Bugfix: Cursor was not properly re-centered over odd-sized windows
  • [Win32] Bugfix: Negative window positions were reported incorrectly
  • [Win32] Bugfix: The iconify callback was not triggered when switching away from a full screen window using Alt+Tab
  • [Win32] Bugfix: Resizing a window with glfwSetWindowSize gave it focus
  • [Cocoa] Added dependency on CoreVideo framework for refresh rate retrieval
  • [Cocoa] Enabled Lion full screen for resizable windowed mode windows
  • [Cocoa] Moved to Cocoa API for application transformation and activation
  • [Cocoa] Bugfix: The GLFW_KEY_GRAVE_ACCENT key was reported as GLFW_KEY_WORLD_1 and vice versa
  • [Cocoa] Bugfix: The GLFW_KEY_F13 key was reported as GLFW_KEY_PRINT_SCREEN
  • [Cocoa] Bugfix: Implicit conversion from NSUInteger to int caused warnings with Xcode 5
  • [Cocoa] Bugfix: Use of undeclared selectors with @selector caused warnings with Xcode 5
  • [Cocoa] Bugfix: The cursor remained visible if moved onto client area after having been set to hidden outside it
  • [Cocoa] Bugfix: The refresh rate was zero for all modes of certain monitors
  • [Cocoa] Bugfix: The install_name field of the dynamic library was not set
  • [Cocoa] Bugfix: Full screen windows were never reported as having focus
  • [Cocoa] Bugfix: A superfluous I/O flag test prevented video modes from being listed for Thunderbolt monitor
  • [Cocoa] Bugfix: Retrieving the name of some external displays caused segfault
  • [Cocoa] Bugfix: The 10.9 SDK defines GLintptrARB and GLsizeiptrARB differently from the Khronos glext.h
  • [Cocoa] Bugfix: Creating hidden windows would steal application focus
  • [Cocoa] Bugfix: Controllers were reported as having zero buttons and axes
  • [Cocoa] Bugfix: Removed joystick axis value negation left over from GLFW 2
  • [X11] Added setting of the WM_CLASS property to the initial window title
  • [X11] Added support for _NET_WM_BYPASS_COMPOSITOR
  • [X11] Bugfix: Removed joystick axis value negation left over from GLFW 2
  • [X11] Bugfix: The position of hidden windows was ignored by Metacity and Compiz
  • [X11] Bugfix: The pthread.h header was not included by the GLX platform header.

What is new in version 3.0:

  • This version removes deprecated features and adds a new API supporting multiple windows and monitors, sRGB, robustness, OpenGL ES, high-DPI, gamma ramps, callbacks for more events, clipboard text I/O, an error description callback, layout-independent keyboard input, UTF-8 for all strings, and more.

What is new in version 2.7.9:

  • This version adds fixes for multiple cursor motion bugs on Windows and fixes support for the LFLAGS environment variable on OS X.

What is new in version 2.7.8:

  • This version fixed a few minor bugs on each platform, most notably the flashing window on Windows and a workaround for a bug in Mesa 9.x.

What is new in version 2.7.7:

  • This release adds fixes for a few minor bugs on each platform, support for more swap interval methods on X11 and Visual C++ 2012 project files.
  • [Cocoa] Bugfix: The cursor positioning code used NSPoint in place of CGPoint
  • [Cocoa] Bugfix: The detection of setRestorable: used the wrong selector signature
  • [Cocoa] Bugfix: The test for whether glfwTerminate had been called from the main thread was missing
  • [Win32] Added Visual C++ 2012 project files for the static library, DLL and all test and example programs
  • [Win32] Bugfix: The GLFW_OPENGL_DEBUG_CONTEXT hint did not trigger context re-creation when WGL_ARB_create_context was available
  • [Win32] Bugfix: The GLFW_OPENGL_DEBUG_CONTEXT window parameter was not set after debug context creation
  • [X11] Added support for the GLX_EXT_swap_control and GLX_MESA_swap_control extensions as alternatives to GLX_SGI_swap_control
  • [X11] Bugfix: The GLFW_OPENGL_DEBUG_CONTEXT window parameter was not set after debug context creation
  • [X11] Bugfix: The window size hints were not updated when calling glfwSetWindowSize on a non-resizable window
  • [X11] Bugfix: The detected link flags for clock_gettime were not added to the pkg-config file

What is new in version 2.7.6:

  • This version adds support for joysticks on Mac OS X, a graphical joystick test, support for 64-bit builds using MinGW-w64, and fixes for a number of (primarily input) bugs.

What is new in version 2.7.5:

  • This version fixes a compilation error for certain versions of Mac OS X and adds support for monotonic time input on Cocoa.

What is new in version 2.7.4:

  • This version adds bugfixes for a few minor issues in 2.7.3, most notably the missing -lrt on X11 and removal of the non-interactive menu bar created by glfwInit on Mac OS X.

Requirements:

  • Khronos extension headers for API extension symbols used by GLFW
  • getopt_port for examples with command-line options
  • TinyCThread for threaded examples
  • An OpenGL 3.2 core loader generated by glad for examples using modern OpenGL

Comentarii la GLFW

Comentariile nu a fost găsit
Adauga comentarii
Porniţi pe imagini!