# 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 is supported.
GLFW is licensed under the [zlib/libpng
license](http://www.glfw.org/license.html).
You can [download](http://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](http://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](http://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](http://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](http://www.glfw.org/docs/latest/moving.html) for moving to the GLFW
3 API.
## 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](http://www.glfw.org/download.html)
available for all supported compilers.
See the [compilation guide](http://www.glfw.org/docs/latest/compile.html) for
more information about how to compile GLFW yourself.
## Using GLFW
See the [documentation](http://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](http://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 generated 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/vurtun/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](http://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
- Added `glfwGetError` function for querying the last error code and its
description (#970)
- Added `glfwUpdateGamepadMappings` function for importing gamepad mappings in
SDL\_GameControllerDB format (#900)
- Added `glfwJoystickIsGamepad` function for querying whether a joystick has
a gamepad mapping (#900)
- Added `glfwGetJoystickGUID` function for querying the SDL compatible GUID of
a joystick (#900)
- Added `glfwGetGamepadName` function for querying the name provided by the
gamepad mapping (#900)
- Added `glfwGetGamepadState` function, `GLFW_GAMEPAD_*` and `GLFWgamepadstate`
for retrieving gamepad input state (#900)
- Added `glfwGetWindowContentScale`, `glfwGetMonitorContentScale` and
`glfwSetWindowContentScaleCallback` for DPI-aware rendering
(#235,#439,#677,#845,#898)
- Added `glfwRequestWindowAttention` function for requesting attention from the
user (#732,#988)
- Added `glfwGetMonitorWorkarea` function for retrieving the monitor work area
(#920,#989,#1322)
- Added `glfwGetKeyScancode` function that allows retrieving platform dependent
scancodes for keys (#830)
- Added `glfwSetWindowMaximizeCallback` and `GLFWwindowmaximizefun` for
receiving window maximization events (#778)
- Added `glfwSetWindowAttrib` function for changing window attributes (#537)
- Added `glfwGetJoystickHats` function for querying joystick hats
(#889,#906,#934)
- Added `glfwInitHint` for setting initialization hints
- Added `glfwWindowHintString` for setting string type window hints (#893,#1139)
- Added `glfwGetWindowOpacity` and `glfwSetWindowOpacity` for controlling whole
window transparency (#1089)
- Added `glfwSetMonitorUserPointer` and `glfwGetMonitorUserPointer` for
per-monitor user pointers
- Added `glfwSetJoystickUserPointer` and `glfwGetJoystickUserPointer` for
per-joystick user pointers
- Added `glfwGetX11SelectionString` and `glfwSetX11SelectionString`
functions for accessing X11 primary selection (#894,#1056)
- Added `glfwRawMouseMotionSupported` function for querying raw motion support
(#125,#1400,#1401)
- Added headless [OSMesa](http://mesa3d.org/osmesa.html) backend (#850)
- Added definition of `GLAPIENTRY` to public header
- Added `GLFW_TRANSPARENT_FRAMEBUFFER` window hint and attribute for controlling
per-pixel framebuffer transparency (#197,#663,#715,#723,#1078)
- Added `GLFW_HOVERED` window attribute for polling cursor hover state (#1166)
- Added `GLFW_CENTER_CURSOR` window hint for controlling cursor centering
(#749,#842)
- Added `GLFW_FOCUS_ON_SHOW` window hint and attribute to control input focus
on calling show window (#1189)
- Added `GLFW_SCALE_TO_MONITOR` window hint for automatic window resizing
(#676,#1115)
- Added `GLFW_JOYSTICK_HAT_BUTTONS` init hint (#889)
- Added `GLFW_LOCK_KEY_MODS` input mode and `GLFW_MOD_*_LOCK` mod bits (#946)
- Added `GLFW_RAW_MOUSE_MOTION` input mode for selecting raw motion input
(#125,#1400,#1401)
- Added macOS specific `GLFW_COCOA_RETINA_FRAMEBUFFER` window hint
- Added macOS specific `GLFW_COCOA_FRAME_NAME` window hint (#195)
- Added macOS specific `GLFW_COCOA_GRAPHICS_SWITCHING` window hint (#377,#935)
- Added macOS specific `GLFW_COCOA_CHDIR_RESOURCES` init hint
- Added macOS specific `GLFW_COCOA_MENUBAR` init hint
- Added X11 specific `GLFW_X11_CLASS_NAME` and `GLFW_X11_INSTANCE_NAME` window
hints (#893,#1139)
- Added `GLFW_INCLUDE_ES32` for including the OpenGL ES 3.2 header
- Added `GLFW_OSMESA_CONTEXT_API` for creating OpenGL contexts with
[OSMesa](https://www.mesa3d.org/osmesa.html) (#281)
- Added
没有合适的资源?快使用搜索试试~ 我知道了~
vulkan-engine:Vulkan渲染引擎和游戏。 我最近的业余爱好项目
共1631个文件
h:962个
hpp:139个
cpp:123个
5星 · 超过95%的资源 需积分: 50 7 下载量 121 浏览量
2021-04-10
08:47:53
上传
评论
收藏 32.26MB ZIP 举报
温馨提示
引擎路线图: 骨附件 自上而下的射击游戏演示 正确删除从资源加载的实体 从fbx导出默认材质(带有纹理路径) 从fbx导出纹理 在fbx导出器中正确导出动画 物理渲染插值 修复日志记录,从多个线程进行日志记录 修复照明,贴花,阴影贴图并将其迁移到ECS 处理所有引擎资源 直接使用管道 着色器重装 多线程渲染 GUI库集成 动作拼图演示的效果 查看: 后处理,更改了HLSL纹理绑定,但C ++方面未看到更改 - 完全的 - - - - - - - - - - - - - - - - - - 优化平铺照明或实现群集 基于图像的照明支持 资源句柄的其他参数(例如,纹理srgb) HLSL include必须包含在哈希中 FBX网格导出 修复法线贴图 新的蒙皮动画系统 正确对齐ECS组件 动作拼图演示 添加对单例组件的支持(通过指针存储在Entit
资源详情
资源评论
资源推荐
收起资源包目录
vulkan-engine:Vulkan渲染引擎和游戏。 我最近的业余爱好项目 (1631个子文件)
assets 25B
run.bat 453B
glad_gl.c 107KB
x11_window.c 95KB
win32_window.c 67KB
wl_window.c 57KB
texture.c 56KB
vkloader.c 55KB
wl_init.c 45KB
x11_init.c 42KB
glloader.c 40KB
input.c 36KB
glad_vulkan.c 36KB
window.c 32KB
wgl_context.c 26KB
writer_v1.c 26KB
win32_joystick.c 26KB
context.c 25KB
egl_context.c 24KB
win32_init.c 22KB
xkb_unicode.c 22KB
glx_context.c 22KB
x11_monitor.c 19KB
writer.c 16KB
memstream.c 16KB
win32_monitor.c 16KB
monitor.c 14KB
tinycthread.c 13KB
linux_joystick.c 12KB
vulkan.c 11KB
osmesa_context.c 11KB
hashlist.c 10KB
filestream.c 9KB
init.c 9KB
getopt.c 8KB
null_window.c 8KB
wl_monitor.c 7KB
checkheader.c 5KB
vk_funcs.c 5KB
posix_thread.c 3KB
win32_thread.c 3KB
hashtable.c 3KB
posix_time.c 3KB
errstr.c 3KB
win32_time.c 2KB
null_monitor.c 2KB
cocoa_time.c 2KB
null_init.c 2KB
null_joystick.c 2KB
swap.c 1KB
gltf2ozz.cc 32KB
fbx_animation.cc 28KB
skinning_job.cc 24KB
options.cc 20KB
import2ozz_config.cc 20KB
sampling_job.cc 19KB
blending_job.cc 19KB
ik_two_bone_job.cc 16KB
import2ozz_anim.cc 16KB
animation_builder.cc 14KB
import2ozz_track.cc 13KB
fbx.cc 13KB
animation_optimizer.cc 12KB
ik_aim_job.cc 9KB
track_builder.cc 8KB
import2ozz_skel.cc 8KB
import2ozz.cc 8KB
animation.cc 7KB
stream.cc 7KB
raw_animation_archive.cc 7KB
fbx_skeleton.cc 7KB
raw_animation_utils.cc 7KB
track_triggering_job.cc 7KB
skeleton_builder.cc 6KB
additive_animation_builder.cc 6KB
skeleton.cc 6KB
track.cc 6KB
soa_math_archive.cc 6KB
math_archive.cc 6KB
fbx2ozz_anim.cc 6KB
track_optimizer.cc 5KB
local_to_model_job.cc 5KB
raw_track.cc 5KB
track_sampling_job.cc 4KB
allocator.cc 4KB
raw_animation.cc 4KB
raw_skeleton_archive.cc 4KB
simd_math_archive.cc 4KB
dump2ozz.cc 4KB
string_archive.cc 3KB
box.cc 3KB
log.cc 3KB
skeleton_utils.cc 3KB
simd_math.cc 3KB
animation_utils.cc 3KB
archive.cc 3KB
fbx2ozz.cc 3KB
fbx2ozz_skel.cc 3KB
raw_skeleton.cc 3KB
platform.cc 3KB
共 1631 条
- 1
- 2
- 3
- 4
- 5
- 6
- 17
乘风破浪的海伦
- 粉丝: 28
- 资源: 4546
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于matlab实现说话人语音识别源码+项目说明+PPT+报告(高分项目).zip
- VSc++编程助手1.0 - 1
- 基于matlab的说话人语音识别源码+PPT+报告(优质项目).zip
- 语音识别基于matlab说话人识别系统源码+报告PPT(高分优质项目).zip
- 毕业设计: 校园失物招领小程序的设计与实现论文(源码 + 数据库 + 说明文档)
- 美易ME-DUI自绘模块3.3-易语言模块
- 毕业设计:小程序消防知识每天学(源码 + 数据库 + 说明文档)
- 2024-NEW.zip
- 软件.zip
- 华为FPGA设计技巧FPGA设计规范设计经验设计流程指南华为面经硬件工程师手册等资料(15个).zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论1