GLFW 是一个开源的多平台库,适用于 OpenGL、OpenGL ES 和 Vulkan
应用程序开发。它提供了一个简单的、独立于平台的 API
创建窗口、上下文和图面、读取输入、处理事件等。
GLFW 原生支持 Windows、macOS 和 Linux 以及其他类 Unix 系统。上
Linux 支持 Wayland 和 X11。
GLFW 在 zlib/libpng 下获得许可
许可证。
你可以下载最新的稳定版本
作为源或 Windows 二进制文件。从 3.0 开始的每个版本还具有
一个相应的带注释的标签
源和二进制存档。
该文档可在线获取,并且是
包含在所有源和二进制存档中。查看新闻稿
有关新功能、注意事项和
最新版本中的弃用。有关更多详细信息,请参阅版本
历史。
该分支是稳定的集成分支,应始终编译
并在所有支持的平台上运行,尽管新添加的功能的详细信息可能
更改,直到它们包含在版本中。新功能和许多错误
修复程序存在于其他分支中,直到
它们足够稳定,可以合并。
master
如果你不熟悉 GLFW,你可能会发现 GLFW 3 教程很有用。如果
你过去使用过 GLFW 2,有一个过渡
移至 GLFW 的指南
3 API。
GLFW 之所以存在,是因为世界各地许多人的贡献,无论是通过报告错误、提供社区支持还是添加
功能、审查或测试代码、调试、校对文档、建议
功能或修复错误。
GLFW 主要用 C99 编写,部分 macOS 支持是用
目标-C。GLFW 本身只需要操作系统的标头和库
和窗口系统。它不需要任何额外的标头来创建上下文
API(WGL、GLX、EGL、NSGL、OSMesa)或渲染 API(OpenGL、OpenGL ES、Vulkan)
以启用对它们的支持。
GLFW 支持在 Windows 上使用 Visual C++ 2013 及更高版本、MinGW 和
MinGW-w64,在带有 Clang 的 macOS 上,以及在带有 GCC 的 Linux 和其他类 Unix 系统上
和叮当声。它也可能在其他环境中编译,但这是
未定期测试。
有预编译的二进制文件可用
适用于 Windows 和 macOS 上所有受支持的编译器。
请参阅编译指南
有关如何自己编译 GLFW 的更多信息。
有关教程、指南,请参阅文档
和 API 参考。
查看贡献
指南
更多信息。
GLFW 支持 Windows XP 及更高版本以及 macOS 10.8 及更高版本。Linux 和其他
即使没有
桌面环境或新式扩展,尽管某些功能需要
正在运行的窗口或剪贴板管理器。OSMesa 后端需要 Mesa 6.3。
有关详细信息,请参阅文档中的兼容性指南。
GLFW 本身只需要 CMake 3.1 或更高版本以及
操作系统和窗口系统。
示例和测试程序依赖于许多微小的库。这些是
位于目录中。
deps/
如果 CMake 可以,则使用 Doxygen 生成文档
找到那个工具。
错误将报告给我们的问题跟踪器。
请检查贡献
指南
有关报告错误时应包含的内容的信息。
- 添加了用于运行时平台选择的初始化提示 (#1958)
GLFW_PLATFORM
- 添加了 、 、 和 符号
指定所需的平台 (#1958)
GLFW_ANY_PLATFORM
GLFW_PLATFORM_WIN32
GLFW_PLATFORM_COCOA
GLFW_PLATFORM_WAYLAND
GLFW_PLATFORM_X11
GLFW_PLATFORM_NULL
- 新增查询所选平台功能 (#1655,#1958)
glfwGetPlatform
- 新增查询平台是否受支持的功能
(#1655,#1958)
glfwPlatformSupported
- 添加了用于设置自定义内存分配器的功能 (#544,#1628,#1947)
glfwInitAllocator
- 添加了 struct 和 , 以及类型 (#544,#1628,#1947)
GLFWallocator
GLFWallocatefun
GLFWreallocatefun
GLFWdeallocatefun
- 新增窗口标题查询功能(#1448,#1909,#2482)
glfwGetWindowTitle
- 添加了使用非默认 Vulkan 加载程序 (#1374,#1890)
glfwInitVulkanLoader
- 添加了 、 和光标形状 (#427)
GLFW_RESIZE_NWSE_CURSOR
GLFW_RESIZE_NESW_CURSOR
GLFW_RESIZE_ALL_CURSOR
GLFW_NOT_ALLOWED_CURSOR
- 添加了别名 (#427)
GLFW_RESIZE_EW_CURSOR
GLFW_HRESIZE_CURSOR
- 添加了别名 (#427)
GLFW_RESIZE_NS_CURSOR
GLFW_VRESIZE_CURSOR
- 添加了别名 (#427)
GLFW_POINTING_HAND_CURSOR
GLFW_HAND_CURSOR
- 添加了允许鼠标输入通过的窗口提示
透过窗户 (#1236,#1568)
GLFW_MOUSE_PASSTHROUGH
- 添加了光标模式以将光标限制在窗口内
内容区 (#58)
GLFW_CURSOR_CAPTURED
- 添加了初始位置的窗口提示
(#1603,#1747)
GLFW_POSITION_X
GLFW_POSITION_Y
- 添加了 Wayland 和 macOS 缩放的窗口提示 (#2457)
GLFW_SCALE_FRAMEBUFFER
- 添加了让窗口管理器选择的提示值 (#1603,#1747)
GLFW_ANY_POSITION
- 添加了平台检测失败的错误 (#1958)
GLFW_PLATFORM_UNAVAILABLE
- 添加了平台限制错误 (#1692)
GLFW_FEATURE_UNAVAILABLE
- 添加了不完整后端的错误 (#1692)
GLFW_FEATURE_UNIMPLEMENTED
- 为 Wayland app_id选择添加了窗口提示字符串
(#2121,#2122)
GLFW_WAYLAND_APP_ID
- 添加了 init 提示和值以选择 ANGLE 后端 (#1380)
GLFW_ANGLE_PLATFORM_TYPE
GLFW_ANGLE_PLATFORM_TYPE_*
- 添加了用于选择 X11 Vulkan 的初始化提示
表面延伸 (#1793)
GLFW_X11_XCB_VULKAN_SURFACE
- 添加了用于启用对窗口菜单的访问的窗口提示
GLFW_WIN32_KEYBOARD_MENU
- 添加了用于应用父进程的窗口提示
show 命令 (#2359)
GLFW_WIN32_SHOWDEFAULT
- 添加了用于禁用本机标头的包含 (#1348)
GLFW_NATIVE_INCLUDE_NONE
- 添加了用于启用 Win32 支持的 CMake 选项 (#1958)
GLFW_BUILD_WIN32
- 添加了用于启用 Cocoa 支持的 CMake 选项 (#1958)
GLFW_BUILD_COCOA
- 添加了用于启用 X11 支持的 CMake 选项 (#1958)
GLFW_BUILD_X11
- 添加了用于覆盖库类型的 CMake 变量
(#279,#1307,#1497,#1574,#1928)
GLFW_LIBRARY_TYPE
- 添加了对环境变量的支持
XDG_SESSION_TYPE
- 添加和 CMake
暴露 pkg-config 依赖项的变量 (#1307)
GLFW_PKG_CONFIG_REQUIRES_PRIVATE
GLFW_PKG_CONFIG_LIBS_PRIVATE
- 使操纵杆子系统在首次使用时初始化 (#1284,#1646)
- 制作了只读窗口属性
GLFW_DOUBLEBUFFER
- 如果两者都可用,则使 Wayland 成为 X11 的首选平台 (#2035)
- 将所需的最低 CMake 版本更新为 3.4
- 从上游更新了游戏手柄映射
- 将 CMake 选项重命名为 (#1958)
GLFW_USE_WAYLAND
GLFW_BUILD_WAYLAND
- 默认情况下,当构建为 CMake 子目录时禁用了测试和示例
- 删除了启用 Null 平台的 CMake 选项 (#1958)
GLFW_USE_OSMESA
- 删除了 CMake 生成的配置标头
- Bugfix:出错时返回无效模式 (#1292)
glfwGetVideoMode
- [Win32的]向 GLFW DLL 添加了版本信息资源
- [Win32的]使隐藏的帮助程序窗口使用自己的窗口类
- [Win32的]Bugfix:前台锁定超时被覆盖,忽略用户
- [可可]新增原生访问功能 (#2235)
glfwGetCocoaView
- [可可]将主菜单创建移至 GLFW 初始化时间 (#1649)
- [可可]Bugfix:在主线程之前从辅助线程接触事件队列
会中止 (#1649)
- [韦兰]添加了对 (#2287) 的支持
glfwRequestWindowAttention
- [韦兰]添加了对以下内容的支持
glfwFocusWindow
- [韦兰]添加了对 (#2203) 的支持
GLFW_RESIZABLE
- [韦兰]添加了对窗口内容的分数缩放的支持
- [韦兰]添加了所有 Wayland 库的动态加载
- [韦兰]Bug修复:未正确启用
CLOCK_MONOTONIC
- [韦兰]错误修复:当光标位于任何
后备窗口装饰
GLFW_HOVERED
- [韦兰]Bugfix:允许将回退修饰调整为无效大小
(#2204)
- [X11]Bugfix:如果 IM 被销毁,终止将导致段错误
- [X11]Bug修复:不会检测到初始化后启动的任何 IM
- [Linux操作系统]错误修复:操纵杆 evdev fds 在分叉中保持打开状态 (#2446)
- [POSIX的]删除了已弃用函数的使用
gettimeofday
- [POSIX的]Bugfix:未正确测试或启用
CLOCK_MONOTONIC
- [WGL]禁用了 Windows 8 及更高版本的 DWM 交换间隔黑客 (#1072)
- [国家政府关系]删除了对核心上下文的向前兼容标志的强制执行
- [国家政府关系]错误修复:如果 3.2+ 返回核心配置文件 OpenGL 上下文
已请求兼容性配置文件
- [EGL]通过扩展添加了平台选择
(#442)
EGL_EXT_platform_base
- [EGL]通过扩展添加了 ANGLE 后端选择
(#1380)
EGL_ANGLE_platform_angle
- 添加了用于禁用 libdecor 支持的初始化提示 (#1639,#1693)
GLFW_WAYLAND_LIBDECOR
- Bugfix:CMake 配置文件包使用了绝对路径,但不是
可重定位 (#1470)
- Bugfix:丢弃了具有重复屏幕区域的视频模式 (#1555,#1556)
- Bugfix:使用 -Wextra-semi 编译导致警告 (#1440)
- Bugfix:由于某些 OEM 重复使用了 VID/PID,内置映射失败 (#1583)
- Bugfix:某些扩展加载器标头未阻止默认的 OpenGL 标头
包容 (#1695)
- Bugfix:在单缓冲窗口上创建缓冲区时交换了缓冲区 (#1873)
- Bugfix:由于以下原因,游戏手柄映射更新可能会发送垃圾邮件
不兼容的控制器共享硬件 ID (#1763)
GLFW_INVALID_VALUE
- Bugfix:上下文句柄的本机访问函数未检查 API 是否匹配
- Bug修复:在初始化前会访问TLS插槽
glfwMakeContextCurrent
- Bug修复:初始化前可能会发出
glfwSetGammaRamp
GLFW_INVALID_VALUE
- 错误修复:断开连接时返回 (#2092)
glfwGetJoystickUserPointer
NULL
- Bugfix:初始化时错误返回,而不是
glfwGetKeyScancode
0
-1
- Bugfix:无法使新创建的上下文为当前可能会导致段错误 (#2327)
- [Win32的]当 DWM 窗口
不透明 (#1512)
- [Win32的]错误修复:加致
符号重新定义 (#1524)
GLFW_INCLUDE_VULKAN
VK_USE_PLATFORM_WIN32_KHR
- [Win32的]Bug修复:光标位置事件在光标进入之前发出
事件 (#1490)
- [Win32的]Bugfix:窗口提示未移动或调整
窗口 (#1499)
GLFW_MAXIMIZED
- [Win32的]Bugfix:禁用光标模式干扰了某些非客户端操作
- [Win32的]Bugfix:Win+V 热键后未释放超级键 (#1622)
- [Win32的]Bugfix:可以越界访问并返回一个
指针无效
glfwGetKeyName
- [Win32的]Bugfix:一些合成密钥事件被报告为 (#1623)
GLFW_KEY_UNKNOWN
- [Win32的]错误修复:非 BMP Unicode 代码点输入被报告为 UTF-16
- [Win32的]Bug修复:监视函数可能在以下时间返回无效值
配置更改 (#1761)
- [Win32的]错误修复:初始化会在 Windows 8(非 8.1)上出现段错误 (#1775)
- [Win32的]Bugfix:未过滤重复大小事件 (#1610)
- [Win32的]错误修复:DPI 更改错误地调整了全屏窗口的大小
(#1582)
- [Win32的]错误修复:对早于以下日期的系统没有影响
Windows 10 版本 1703 (#1511)
GLFW_SCALE_TO_MONITOR
- [Win32的]Bugfix:对 CMake 3.15 没有影响或
后来 (#1783,#1796)
USE_MSVC_RUNTIME_LIBRARY_DLL
- [Win32的]错误修复:使用 LLVM for Windows 编译失败 (#1807,#1824,#1874)
- [Win32的]Bugfix:内容规模查询可能会以静默方式失败 (#1615)
- [Win32的]Bugfix:如果最近监视器,内容规模可能具有垃圾值
断开连接 (#1615)
- [Win32的]Bugfix:最大化和未修饰的窗口将覆盖整个窗口
监视器 (#1806)
- [Win32的]Bugfix:创建最大化的默认还原窗口位置丢失
窗
- [Win32的]Bugfix:会使隐藏的窗口可见
glfwMaximizeWindow
- [Win32的]错误修复:会发出不同的
扫描码比 (#1993)
Alt+PrtSc
GLFW_KEY_UNKNOWN
PrtSc
- [Win32的]Bug修复:扫描代码未
匹配事件扫描码 (#1993)
GLFW_KEY_PAUSE
glfwGetKeyScancode
- [Win32的]Bugfix:实例本地操作使用可执行实例 (#469,#1296,#1395)
- [Win32的]Bugfix:终止时未卸载 OSMesa 库
- [Win32的]Bugfix:使用 CJK 输入法时发出右移 (#2050)
GLFW_KEY_UNKNOWN
- [Win32的]Bugfix:某些已发送消息未返回 (#2408)
glfwWaitEventsTimeout
- [Win32的]Bugfix: 修复 Windows 上动态库的 pkg-config (#2386, #2420)
- [Win32的]Bugfix:据报告,XInput 可能会提供无效的 DPad 位掩码 (#2291)
- [Win32的]Bugfix:快速剪贴板调用可能因剪贴板历史记录而失败
- [Win32的]Bugfix:通过 RDP 连接时,禁用的光标模式无法正常工作 (#1276,#1279,#2431)
- [可可]添加了对 (#1619) 的支持
VK_EXT_metal_surface
- [可可]添加了在应用程序捆绑包中查找运行时的 Vulkan 加载程序
- [可可]从更改为 (#1169)
EGLNativeWindowType
NSView
CALayer
- [可可]更改了 F13 键以报告打印屏幕以实现跨平台一致性
(#1786)
- [可可]当为 false 时禁用 macOS 全屏
GLFW_RESIZABLE
- [可可]删除了对 CoreVideo 框架的依赖
- [可可]Bugfix:使用了左下角的锚点 (#1553)
glfwSetWindowSize
- [可可]Bugfix:窗口在销毁后一直保留在屏幕上,直到事件轮询
(#1412)
- [可可]Bugfix:在创建窗口之前处理事件会断言 (#1543)
- [可可]Bugfix:在最近的 macOS 上无法图标化未修饰的窗口
- [可可]错误修复:非 BMP Unicode 代码点输入被报告为 UTF-16
(#1635)
- [可可]Bug修复:无法检索内置显示器的刷新率
可能会泄漏内存
- [可可]Bugfix: Objective-C 文件使用 CMake 3.19 编译为 C 语言 (#1787)
- [可可]Bugfix:未过滤掉重复的视频模式 (#1830)
- [可可]Bugfix:菜单栏在macOS 10.15+上无法点击,直到它丢失并
重新获得焦点 (#1648,#1802)
- [可可]错误修复:监视器名称查询可能会在 macOS 11 上出现段错误 (#1809,#1833)
- [可可]Bugfix:已安装的 dylib 的安装名称是相对的 (#1504)
- [可可]Bugfix:MoltenVK 图层内容比例仅在以下时间更新
发出了相关事件
- [可可]Bugfix:以编程方式移动光标会将其冻结
几分之一秒 (#1962)
- [可可]错误修复:在 macOS 12.0 中已弃用 (#1980)
kIOMasterPortDefault
- [可可]错误修复:在 macOS 12.0 中已弃用 (#2003)
kUTTypeURL
- [可可]错误修复:连接的 Apple AirPlay 会发出无用的错误 (#1791)
- [可可]错误修复:终止时未卸载 EGL 和 OSMesa 库
- [可可]错误修复:当为假时总是为 true
GLFW_MAXIMIZED
GLFW_RESIZABLE
- [可可]Bugfix:在macOS全屏中更改会中止
应用程序 (#1886)
GLFW_DECORATED
- [可可]Bugfix:从 macOS 全屏设置显示器会中止
应用程序 (#2110)
- [可可]Bugfix:Vulkan 加载程序未从捆绑包中加载
子目录 (#2113,#2120)
Frameworks
- [可可]Bugfix:由于无条件使用 10.9+,OS X 10.8 上的编译失败
符号 (#2161)
- [可可]Bugfix:据报道,在macOS上查询操纵杆元素可能会出现段错误
13 文图拉 (#2320)
- [X11]Bugfix: CMake 文件未检查 XInput 标头 (#1480)
- [X11]Bugfix:键盘布局更改时,键名未更新
(#1462,#1528)
- [X11]Bugfix:创建窗口后无法启用装饰 (#1566)
- [X11]Bugfix:内容缩放回退值可能不一致 (#1578)
- [X11]错误修复:对隐藏的窗口没有影响
glfwMaximizeWindow
- [X11]Bugfix:清除隐藏窗口导致读取无效
GLFW_FLOATING
- [X11]Bugfix:在隐藏窗口上进行更改可能会以静默方式失败
GLFW_FLOATING
- [X11]Bug修复:禁用的光标模式被指示器窗口打断
- [X11]Bugfix:显示器物理尺寸可能报告为零毫米
- [X11]Bugfix:调整大小期间未发出窗口位置事件 (#1613)
- [X11]错误修复:可能会在较旧的 WM 上终止或没有 WM
glfwFocusWindow
- [X11]Bugfix:查询断开连接的监视器可能会出现段错误 (#1602)
- [X11]错误修复:CJK 的 IME 输入因“C”区域设置而损坏 (#1587,#1636)
- [X11]Bugfix: Xlib 错误可能是由应用程序的其他部分引起的
报告为 GLFW 错误
- [X11]Bugfix:句柄争用条件可能导致错误 (#1633)
BadWindow
- [X11]Bugfix:XKB 路径使用键符号而不是物理位置
不可打印的密钥 (#1598)
- [X11]Bugfix:功能键已映射到某些布局
组合 (#1598)
GLFW_KEY_UNKNOWN
- [X11]Bugfix:与其他键同时按下的键并不总是如此
已报告 (#1112,#1415,#1472,#1616)
- [X11]Bugfix:离开全屏时未应用某些窗口属性
(#1863)
- [X11]Bugfix:更改可能会泄漏内存
GLFW_FLOATING
- [X11]Bug修复:图标像素格式转换只是偶然起作用,依赖于
未定义的行为 (#1986)
- [X11]Bugfix: OpenBSD 上的动态加载由于 soname 差异而失败
- [X11]Bugfix:如果文件描述符太大,等待事件会失败
(#2024)
- [X11]Bugfix:操纵杆事件可能导致等待繁忙 (#1872)
- [X11]Bugfix:操纵杆事件没有继续
glfwWaitEvents*
- [X11]Bugfix:由于竞争条件,可能会被忽略
(#379,#1281,#1285,#2033)
glfwPostEmptyEvent
- [X11]Bugfix: 由于 soname 差异,NetBSD 上的动态加载失败
- [X11]Bugfix: int 常量的左移依赖于未定义的行为 (#1951)
- [X11]Bugfix:终止时未卸载 OSMesa libray
- [X11]Bug修复:选择传输过程中的响应格式错误可能导致段错误
- [X11]Bugfix: 某些调用会将 Xlib 重置为默认错误处理程序 (#2108)
- [韦兰]通过 libdecor 添加了改进的回退窗口装饰 (#1639,#1693)
- [韦兰]通过 xkbcommon 添加了对密钥名称的支持
- [韦兰]添加了对文件路径删除事件的支持 (#2040)
- [韦兰]添加了对更多人类可读监视器名称(如果可用)的支持
- [韦兰]在缺少的系统上禁用了不透明窗口的 alpha 通道 (#1895)
EGL_EXT_present_opaque
- [韦兰]删除了对 (#1443) 的支持
wl_shell
- [韦兰]Bugfix: The shape use wrong image (#1432)
GLFW_HAND_CURSOR
- [韦兰]Bugfix: 重复的键可能会被窗口报告 (#1704)
NULL
- [韦兰]Bugfix:检索部分帧缓冲区大小会出错
- [韦兰]修正:与其他平台相比,滚动偏移量是反转的
(#1463)
- [韦兰]Bugfix:客户端装饰以错误的顺序销毁
(#1798)
- [韦兰]错误修复:监视器物理大小可能报告零 (#1784,#1792)
- [韦兰]Bugfix: Some keys are not repeat in Wayland (#1908)
- [韦兰]Bugfix:非箭头光标偏离热点 (#1706,#1899)
- [韦兰]修正: FreeBSD 上没有定义该标志
O_CLOEXEC
- [韦兰]Bugfix:密钥重复可能导致争用条件 (#1710)
- [韦兰]Bug修复:激活窗口会发出两个输入焦点事件
- [韦兰]Bugfix:当窗口失去输入焦点时禁用按键重复机制
- [韦兰]错误修复:窗口隐藏和显示不起作用 (#1492,#1731)
- [韦兰]Bug修复:当窗口失去焦点时,重复的键未释放
- [韦兰]Bugfix:显示隐藏的窗口未发出窗口刷新事件
- [韦兰]Bugfix:全屏窗口创建未忽略
GLFW_VISIBLE
- [韦兰]Bugfix:某些密钥被报告为错误的密钥或
GLFW_KEY_UNKNOWN
- [韦兰]Bugfix:文本输入未与按键重复一起重复
- [韦兰]Bugfix:有时没有效果 (#1520,#1521)
glfwPostEmptyEvent
- [韦兰]Bugfix:如果设置为
glfwSetClipboardString
glfwGetClipboardString
- [韦兰]Bugfix:数据源创建错误会导致终止时双重释放
- [韦兰]Bug修复:剪贴板字符串的部分写入会导致开始重复
- [韦兰]Bug修复:某些错误会导致剪贴板字符串传输挂起
- [韦兰]错误修复:拖放数据被误读为剪贴板字符串
- [韦兰]Bugfix:未对剪贴板字符串执行 MIME 类型匹配
- [韦兰]Bugfix:终止时未卸载 OSMesa 库
- [韦兰]Bugfix:可能会发出
glfwCreateWindow
GLFW_FEATURE_UNAVAILABLE
- [韦兰]Bug修复:仅在按下锁定键时设置锁定键修饰符位
- [韦兰]Bugfix:离开全屏模式的窗口将被图标化 (#1995)
- [韦兰]Bugfix:离开全屏模式的窗口忽略了其所需大小
- [韦兰]Bugfix:未更新窗口模式大小
glfwSetWindowMonitor
- [韦兰]Bugfix:会使全屏窗口窗口窗口化
glfwRestoreWindow
- [韦兰]Bugfix:用户最大化或恢复的窗口将输入
不一致的状态
- [韦兰]Bugfix:未发出窗口最大化事件
- [韦兰]错误修复:假设它始终处于窗口模式
glfwRestoreWindow
- [韦兰]错误修复:会调整全屏窗口的大小
glfwSetWindowSize
- [韦兰]Bugfix:每次都会发出窗口内容缩放事件
窗口大小调整
- [韦兰]错误修复:如果失败,它将关闭 stdin
glfwInit
- [韦兰]Bugfix:使用后备装饰的手动调整大小行为异常
(#1991,#2115,#2127)
- [韦兰]Bugfix:尺寸限制包括后备装饰的框架大小
- [韦兰]Bugfix:更新对服务器端没有影响
装饰品
GLFW_DECORATED
- [韦兰]Bugfix:如果监视器的规模扩大,则监视器将再次报告为已连接
改变
- [韦兰]Bugfix:如果任何监视器已更改,则会出现段错误
规模
glfwTerminate
- [韦兰]Bugfix:监视时未发出窗口内容缩放事件
规模已更改
- [韦兰]Bug修复:报错而不是
应用指定的比率
glfwSetWindowAspectRatio
- [韦兰]Bug修复:窗口提示无效
GLFW_MAXIMIZED
- [韦兰]修正:首次显示前没有效果
glfwRestoreWindow
- [韦兰]Bugfix:隐藏然后显示导致程序中止的窗口
wlroots 合成器 (#1268)
- [韦兰]Bugfix:显示带有 XDG 的窗口时被忽略
装饰品
GLFW_DECORATED
- [韦兰]Bugfix:连接鼠标后会出现段错误 (#1450)
glfwInit
- [韦兰]Bugfix:未检测到连接后的操纵杆 (#2198)
glfwInit
- [韦兰]Bugfix:回退修饰发出错误
GLFW_CURSOR_UNAVAILABLE
- [Linux操作系统]Bugfix:没有按钮的操纵杆被忽略 (#2042,#2043)
- [Linux操作系统]Bugfix:初始化失败时可能会泄漏少量内存 (#2229)
- [国家政府关系]错误修复:对较新的没有影响
macOS 版本 (#1442)
GLFW_COCOA_RETINA_FRAMEBUFFER
- [国家政府关系]错误修复:10.14 上的交换间隔的解决方法在 10.12 中断 (#1483)
- [国家政府关系]Bugfix: 定义外部原因
重复定义警告 (#1840)
GL_SILENCE_DEPRECATION
- [EGL]添加了可用于 OpenGL 的 glvnd 加载
libOpenGL.so.0
- [EGL]Bugfix: context 属性被忽略 (#1843)
GLFW_DOUBLEBUFFER
- [EGL]Bugfix:设置导致创建失败 (#2348)
GLFW_CONTEXT_DEBUG
- [GLX]在可用的情况下添加了 glvnd 的加载
libGLX.so.0
- [GLX]错误修复:如果 GLX 库未导出 GLX 1.4,则上下文创建失败
在 glfw.org 上,你可以找到最新版本的 GLFW,因为
以及有关该项目的新闻、文档和其他信息。
如果你对GLFW的使用有疑问,我们有一个论坛。
如果你有 bug 要报告、要提交补丁或想要的功能
请求,请将其提交到 GitHub 上的问题跟踪器中。
最后,如果你有兴趣帮助开发 GLFW 或
将其移植到你喜欢的平台,请加入我们的论坛或 GitHub。