PortableGL: An implementation of OpenGL 3.x-ish in clean C

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • SonarLint - Clean code begins in your IDE with SonarLint
  • Mergify - Updating dependencies is time-consuming.
  • InfluxDB - Collect and Analyze Billions of Data Points in Real Time
  • PortableGL

    An implementation of OpenGL 3.x-ish in clean C

    Not entirely related to the subject of OpenGL, but I really like how the author has decided to lay out this project. It's pretty hard to beat the convenience of a single header (or single header/single source) distribution for C libraries, but library development gets progressively harder as the project gets bigger as more code is added to the (usually hard to navigate) header file. Here, the author does their development with multiple files as one normally would, but when a new version is released they run the generate_gl_h[1] script that concatenates everything into a .h file for distribution. Simple yet flexible! This is also how SQLite[2] distributes its builds. It's a pattern that I'm using myself in some unreleased projects.

    [1] https://github.com/rswinkle/PortableGL/blob/master/src/gener...

  • learn-wgpu

    Guide for using gfx-rs's wgpu library.

    > Has anyone built a library on top of Vulkan, targeted roughly around the abstraction level of OpenGL, but with a better design?

    WebGPU more or less fills this gap. It's built on top Vulkan/Metal/DirectX12 primarily, and targeted as a WebGL2 replacement, but there's also major interest (and right now, better support) around using it natively for games and other programs. Thereare bindings for Rust, C++, and Javascript (either through the browser, or using deno for native).

    Here's an excellent tutorial that uses Rust, although the API is more or less identical across langiages https://sotrh.github.io/learn-wgpu/.

  • SonarLint

    Clean code begins in your IDE with SonarLint. Up your coding game and discover issues early. SonarLint is a free plugin that helps you find & fix bugs and security issues from the moment you start writing code. Install from your favorite IDE marketplace today.

  • tinygl

    The penultimate portable graphics library

  • tinygl

    TinyGL : a Small, Free and Fast Subset of OpenGL* (by ska80)

  • cgltf

    :diamond_shape_with_a_dot_inside: Single-file glTF 2.0 loader and writer written in C99

    I recently discovered this pattern in cgltf (https://github.com/jkuhlmann/cgltf), and I agree, it makes deployment so much nicer.

  • Mergify

    Updating dependencies is time-consuming.. Solutions like Dependabot or Renovate update but don't merge dependencies. You need to do it manually while it could be fully automated! Add a Merge Queue to your workflow and stop caring about PR management & merging. Try Mergify for free.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts