# GLFW
[![Build status](https://github.com/glfw/glfw/actions/workflows/build.yml/badge.svg)](https://github.com/glfw/glfw/actions)
[![Build status](https://ci.appveyor.com/api/projects/status/0kf0ct9831i5l6sp/branch/master?svg=true)](https://ci.appveyor.com/project/elmindreda/glfw)
## Introduction
GLFW is an Open Source, multi-platform library for OpenGL, OpenGL ES and Vulkan
application development. It provides a simple, platform-independent API for
creating windows, contexts and surfaces, reading input, handling events, etc.
GLFW natively supports Windows, macOS and Linux and other Unix-like systems. On
Linux both X11 and Wayland are supported.
GLFW is licensed under the [zlib/libpng
license](https://www.glfw.org/license.html).
You can [download](https://www.glfw.org/download.html) the latest stable release
as source or Windows binaries, or fetch the `latest` branch from GitHub. Each
release starting with 3.0 also has a corresponding [annotated
tag](https://github.com/glfw/glfw/releases) with source and binary archives.
The [documentation](https://www.glfw.org/docs/latest/) is available online and is
included in all source and binary archives. See the [release
notes](https://www.glfw.org/docs/latest/news.html) for new features, caveats and
deprecations in the latest release. For more details see the [version
history](https://www.glfw.org/changelog.html).
The `master` branch is the stable integration branch and _should_ always compile
and run on all supported platforms, although details of newly added features may
change until they have been included in a release. New features and many bug
fixes live in [other branches](https://github.com/glfw/glfw/branches/all) until
they are stable enough to merge.
If you are new to GLFW, you may find the
[tutorial](https://www.glfw.org/docs/latest/quick.html) for GLFW 3 useful. If
you have used GLFW 2 in the past, there is a [transition
guide](https://www.glfw.org/docs/latest/moving.html) for moving to the GLFW
3 API.
GLFW exists because of the contributions of [many people](CONTRIBUTORS.md)
around the world, whether by reporting bugs, providing community support, adding
features, reviewing or testing code, debugging, proofreading docs, suggesting
features or fixing bugs.
## Compiling GLFW
GLFW itself requires only the headers and libraries for your OS and window
system. It does not need the headers for any context creation API (WGL, GLX,
EGL, NSGL, OSMesa) or rendering API (OpenGL, OpenGL ES, Vulkan) to enable
support for them.
GLFW supports compilation on Windows with Visual C++ 2010 and later, MinGW and
MinGW-w64, on macOS with Clang and on Linux and other Unix-like systems with GCC
and Clang. It will likely compile in other environments as well, but this is
not regularly tested.
There are [pre-compiled Windows binaries](https://www.glfw.org/download.html)
available for all supported compilers.
See the [compilation guide](https://www.glfw.org/docs/latest/compile.html) for
more information about how to compile GLFW yourself.
## Using GLFW
See the [documentation](https://www.glfw.org/docs/latest/) for tutorials, guides
and the API reference.
## Contributing to GLFW
See the [contribution
guide](https://github.com/glfw/glfw/blob/master/docs/CONTRIBUTING.md) for
more information.
## System requirements
GLFW supports Windows XP and later and macOS 10.8 and later. Linux and other
Unix-like systems running the X Window System are supported even without
a desktop environment or modern extensions, although some features require
a running window or clipboard manager. The OSMesa backend requires Mesa 6.3.
See the [compatibility guide](https://www.glfw.org/docs/latest/compat.html)
in the documentation for more information.
## Dependencies
GLFW itself depends only on the headers and libraries for your window system.
The (experimental) Wayland backend also depends on the `extra-cmake-modules`
package, which is used to generate Wayland protocol headers.
The examples and test programs depend on a number of tiny libraries. These are
located in the `deps/` directory.
- [getopt\_port](https://github.com/kimgr/getopt_port/) for examples
with command-line options
- [TinyCThread](https://github.com/tinycthread/tinycthread) for threaded
examples
- [glad2](https://github.com/Dav1dde/glad) for loading OpenGL and Vulkan
functions
- [linmath.h](https://github.com/datenwolf/linmath.h) for linear algebra in
examples
- [Nuklear](https://github.com/Immediate-Mode-UI/Nuklear) for test and example UI
- [stb\_image\_write](https://github.com/nothings/stb) for writing images to disk
The documentation is generated with [Doxygen](https://doxygen.org/) if CMake can
find that tool.
## Reporting bugs
Bugs are reported to our [issue tracker](https://github.com/glfw/glfw/issues).
Please check the [contribution
guide](https://github.com/glfw/glfw/blob/master/docs/CONTRIBUTING.md) for
information on what to include when reporting a bug.
## Changelog
- Bugfix: `glfwGetKeyName` emitted `GLFW_INVALID_VALUE` for scancodes with no
key token (#1785,#2214)
- [Wayland] Bugfix: Terminating the library before showing a window could segfault
- [Wayland] Bugfix: Compilation failed on FreeBSD (#2445)
- [Linux] Bugfix: `regfree´ was called on invalid data (#2464)
- [WGL] Bugfix: Context creation failed in Parallels VM (#2191,#2406,#2467)
## Contact
On [glfw.org](https://www.glfw.org/) you can find the latest version of GLFW, as
well as news, documentation and other information about the project.
If you have questions related to the use of GLFW, we have a
[forum](https://discourse.glfw.org/).
If you have a bug to report, a patch to submit or a feature you'd like to
request, please file it in the
[issue tracker](https://github.com/glfw/glfw/issues) on GitHub.
Finally, if you're interested in helping out with the development of GLFW or
porting it to your favorite platform, join us on the forum or GitHub.
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
glfw源码包 供大家下载 (157个子文件)
glad_gl.c 107KB
x11_window.c 101KB
wl_window.c 92KB
triangle-vulkan.c 79KB
win32_window.c 74KB
glad_vulkan.c 47KB
x11_init.c 47KB
input.c 37KB
particles.c 35KB
glfwinfo.c 34KB
window.c 32KB
wl_init.c 31KB
wgl_context.c 27KB
egl_context.c 26KB
win32_joystick.c 26KB
context.c 25KB
win32_init.c 23KB
xkb_unicode.c 22KB
glx_context.c 22KB
events.c 21KB
x11_monitor.c 19KB
boing.c 19KB
win32_monitor.c 16KB
heightmap.c 16KB
splitview.c 15KB
monitor.c 15KB
cursor.c 14KB
tinycthread.c 13KB
linux_joystick.c 12KB
osmesa_context.c 12KB
wave.c 12KB
vulkan.c 12KB
init.c 11KB
joysticks.c 11KB
gears.c 10KB
inputlag.c 9KB
wl_monitor.c 8KB
iconify.c 8KB
null_window.c 8KB
getopt.c 8KB
monitors.c 7KB
tearing.c 7KB
sharing.c 7KB
reopen.c 7KB
msaa.c 6KB
gamma.c 6KB
offscreen.c 5KB
simple.c 5KB
windows.c 4KB
threads.c 4KB
icon.c 4KB
clipboard.c 4KB
empty.c 3KB
posix_thread.c 3KB
win32_thread.c 3KB
opacity.c 3KB
posix_time.c 3KB
timeout.c 3KB
null_monitor.c 2KB
win32_time.c 2KB
cocoa_time.c 2KB
title.c 2KB
null_init.c 2KB
null_joystick.c 2KB
GenerateMappings.cmake 2KB
FindXKBCommon.cmake 1KB
FindWaylandProtocols.cmake 915B
FindEpollShim.cmake 747B
x86_64-w64-mingw32-clang.cmake 606B
x86_64-w64-mingw32.cmake 598B
i686-w64-mingw32-clang.cmake 596B
i686-w64-mingw32.cmake 588B
FindOSMesa.cmake 445B
CODEOWNERS 147B
extra.css 6KB
window.dox 54KB
input.dox 33KB
news.dox 32KB
moving.dox 20KB
intro.dox 17KB
build.dox 16KB
compat.dox 14KB
compile.dox 14KB
context.dox 12KB
quick.dox 12KB
vulkan.dox 9KB
monitor.dox 8KB
internal.dox 4KB
main.dox 2KB
nuklear.h 958KB
vulkan.h 279KB
mappings.h 251KB
glfw3.h 212KB
gl.h 201KB
dinput.h 110KB
stb_image_write.h 70KB
internal.h 27KB
wl_platform.h 23KB
glfw3native.h 20KB
x11_platform.h 16KB
共 157 条
- 1
- 2
资源评论
穿林打叶丶亮
- 粉丝: 58
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 如何在C++中使用 vector 的引用语义
- 上市公司-环境绩效数据(EP)(2008-2022年)含dta数据
- QT中QSettings的使用系列之一:初步使用
- 最新版: PowerShell-7.4.3-win-x64.msi
- 小程序版python语言pytorch框架训练识别非机动车骑行有无佩戴安全帽-不含数据集图片-含逐行注释和说明文档.zip
- 上市公司-管理层治理能力(2000-2023年)数据合集,超全变量 权威详细
- 小程序版图像分类算法对墙体裂缝识别-不含数据集图片-含逐行注释和说明文档.zip
- QT中QSettings的使用系列之二:保存和恢复应用程序主窗口
- 小程序版深度学习CNN训练识别图片中是否含有行人-不含数据集图片-含逐行注释和说明文档.zip
- 小程序版python语言pytorch框架的图像分类玻璃是否破碎识别-不含数据集图片-含逐行注释和说明文档.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功