if (!bgf_init(¶ms)) printf("Failed to initialize BGF\n"); return -1;
find_package(bgf 2.14.2 REQUIRED) target_link_libraries(my_app PRIVATE bgf::bgf) To demonstrate the clarity of BGF 2.14.2, here’s a complete "clear screen and draw a red rectangle" program. Note that window creation is left to the user (e.g., GLFW, SDL). bgf 2.14.2
#include <bgf/bgf.h> #include <stdio.h> int main() bgf_init_params params = 0; params.backend = BGF_BACKEND_AUTO; params.debug = true; BGF is available via multiple package managers and
In CPU-bound scenarios (e.g., thousands of small draw calls), the new batching logic provides even more significant gains. BGF is available via multiple package managers and as source code. Here’s how to get version 2.14.2. Option 1: vcpkg (Windows/Linux/macOS) git clone https://github.com/Microsoft/vcpkg.git cd vcpkg ./bootstrap-vcpkg.sh ./vcpkg install bgf:x64-windows # or :x64-linux, :x64-osx Ensure your manifest file pins version 2.14.2 . Option 2: Conan conan install bgf/2.14.2@ Option 3: Build from Source git clone https://github.com/bgf-render/bgf.git cd bgf git checkout tags/2.14.2 mkdir build && cd build cmake -DBGF_BUILD_SHARED=ON -DBGF_BUILD_TOOLS=ON .. cmake --build . --config Release After installation, linking against BGF in your CMake project is straightforward: Option 2: Conan conan install bgf/2
// Main loop while (!should_close) bgf_begin_frame(); // Set clear color to dark gray bgf_clear(BGF_CLEAR_COLOR, 0x222222FF); // Draw a red rectangle bgf_color(0xFF0000FF); bgf_rect_filled(100, 100, 200, 150); bgf_end_frame(); bgf_present();
// Assume we have a native window handle (platform-specific) void* window_handle = /* get from GLFW/SDL */; bgf_attach_window(window_handle, 1280, 720);