GLFW
Skia
Our great sponsors
- InfluxDB - Access the most powerful time series database as a service
- ONLYOFFICE ONLYOFFICE Docs — document collaboration in your environment
- SonarQube - Static code analysis for 29 languages.
GLFW | Skia | |
---|---|---|
70 | 50 | |
10,668 | 7,539 | |
1.3% | 1.2% | |
8.3 | 9.9 | |
about 1 month ago | 10 days ago | |
C | C++ | |
zlib License | BSD 3-clause "New" or "Revised" License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
GLFW
-
OpenGL (GLFW and GLAD) not linking with cmake
There is a pattern to it which is usable with every GitHub repository. For example, GLFW v3.3.8 can be fetched from: https://github.com/glfw/glfw/archive/refs/tags/3.3.8.tar.gz
What exactly would I fetch with this method? He's fetching a raylib url, but I don't really see a pattern in it I can follow when fetching glfw. I assume I can use this repository? https://github.com/glfw/glfw
-
Curseforge Minecraft running on M2?
I'm not sure how to fix it, sorry. I searched for some of the messages and found this bug: . I think overriding the LWJGL library might fix the issue, but I don't see any way to do that with the CurseForge launcher.
- GLFW has merged proper support for client-side window decorations on Wayland!
-
Newbie questions about how to start
To go multiplatform with OpenGL / Vulkan (harder for a beginner) you can use a simple window library like GLFW and Dear ImGui for UI. I use these for Avoyd, along with a few other libraries.
-
CMake can't find GLEW
cmake_minimum_required(VERSION 3.16) project(P1_PR) add_executable(P1_PR src/main.cpp ) find_package(GLFW QUIET) if(NOT GLFW_FOUND) message(STATUS "GLFW not found, fetching from GitHub...") include(FetchContent) FETCHCONTENT_DECLARE( GLFW GIT_REPOSITORY https://github.com/glfw/glfw/ GIT_TAG 3.3.8 ) FetchContent_GetProperties(GLFW) if (NOT GLFW_POPULATED) set(FETCHCONTENT_QUIET NO) FetchContent_Populate(GLFW) set(BUILD_EXAMPLES OFF CACHE BOOL "" FORCE) set(BUILD_GAMES OFF CACHE BOOL "" FORCE) add_subdirectory(${glfw_SOURCE_DIR} ${glfw_BINARY_DIR}) endif() endif() find_package(GLEW QUIET) if(NOT GLEW_FOUND) message(STATUS "GLEW not found, fetching from GitHub...") include(FetchContent) FETCHCONTENT_DECLARE( GLEW GIT_REPOSITORY https://github.com/Perlmint/glew-cmake GIT_TAG glew-cmake-2.2.0 ) FetchContent_GetProperties(GLEW) if (NOT GLEW_POPULATED) set(FETCHCONTENT_QUIET NO) FetchContent_Populate(GLEW) set(BUILD_EXAMPLES OFF CACHE BOOL "" FORCE) set(BUILD_GAMES OFF CACHE BOOL "" FORCE) add_subdirectory(${glew_SOURCE_DIR} ${glew_BINARY_DIR}) endif() endif() target_include_directories(${PROJECT_NAME} PRIVATE ${GLFW_SOURCE_DIR} PRIVATE ${GLEW_SOURCE_DIR} ) target_link_libraries(${PROJECT_NAME} glfw glew32 opengl32 gdi32 glm ) target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_20)
- ayuda OpengL
-
Cursor scaling on Wayland is not there yet
I recently started following the Learn OpenGL tutorial and noticed that when I create a window with GLFW in the Wayland GNOME session the cursor becomes much larger when hovering over the window. This is because a Wayland client is expected to define its own pointer (cursor) and that seems to lead to inconsistencies between implementations. I do not have a problem with CSD being default on Wayland (I even prefer it when done really well, like Telegram Desktop, or any GTK app with GtkHeaderBar) but the cursor switching scale while moving it over surfaces (windows) is much more jarring.
- Ayuda con OpenGL
-
I have trouble creating window In Ubuntu
I recall an issue specific to Wayland where windows only appear after the first command buffer is submitted. https://github.com/glfw/glfw/issues/1398
Skia
-
Widely-used graphics library
Skia is pretty great if you can get it running.
- Vivaldi 6.0 Web Browser Introduces Tab Workspaces and Custom Icons
- Leveraging Rust and the GPU to render user interfaces at 120 FPS
- How important is avoiding Blink/Chromium to you? And if not at all, why?
-
Graphic Library for C
There’s also Skia by Google. Used by Android and Google Chrome.
-
Ask HN: Is WASM (WebAssembly) getting adoption in real use cases?
Not specially something that you cannot do without WASM but at $WORK we are using a WASM build of Skia [0] to render canvas from nodejs.
Why use WASM ? Because we wanted to stay close to our stack (ie. calling wasm from nodejs). Do it work ? Yes, memory consumption is quite heavy though (each WASM module have its own heap that can quickly grow).
However we are looking to directly use Skia now and avoid the overhead of WASM so i think its a nice solution in the beginning but you might want to ditch it later on.
[0]: https://github.com/google/skia/tree/main/modules/canvaskit
-
SIMD intrinsics and the possibility of a standard library solution
I use SkVx from Skia. It uses compilers' vector extensions and few platform-specific intrinsics. If no vector extension available (e.g. msvc), a scalar implementation is provided in the hope that compiler can vectorize it.
-
Can you develop any type of desktop app with Flutter?
Regarding compiling to JS, you can compile dart to JS however when running Flutter on mobile platforms such as iOS or Android, you're not compiling to JS but instead you're using Dart to draw widgets on the screen via Flutter engine which uses a cross-platform graphics engine under the hood called Skia. If you're running on web on the other hand, your dart code would compile to vector graphics rendered within a canvas element in pure HTML.
-
Build desktop applications with JetBrains' new UI style and Compose Desktop
It built on a render framework named skia, JetBrains create a kotlin mapping which named skiko for it.
-
In One Minute : Flutter
Flutter applications are written in the Dart programming language, and can connect to platform languages such as Java, Kotlin, Swift, and Objective-C. Also, thanks to ffi support, it is possible to interact with the C code directly . Flutter itself is built with C, C++, Dart, and Skia (a 2D rendering engine).
What are some alternatives?
SDL - Simple Directmedia Layer
bgfx - Cross-platform, graphics API agnostic, "Bring Your Own Engine/Framework" style rendering library.
glad - Multi-Language Vulkan/GL/GLES/EGL/GLX/WGL Loader-Generator based on the official specs.
nanovg - Antialiased 2D vector drawing library on top of OpenGL for UI and visualizations.
Atomic Game Engine - The Atomic Game Engine is a multi-platform 2D and 3D engine with a consistent API in C++, C#, JavaScript, and TypeScript
Ogre 3D - scene-oriented, flexible 3D engine (C++, Python, C#, Java)
imgui - Dear ImGui: Bloat-free Graphical User interface for C++ with minimal dependencies
OpenSceneGraph - OpenSceneGraph git repository
Open-Source Vulkan C++ API - Open-Source Vulkan C++ API