PortableGL VS incbin

Compare PortableGL vs incbin and see what are their differences.

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
PortableGL incbin
7 9
922 912
- -
9.0 0.0
about 1 month ago 4 months ago
C C
MIT License The Unlicense
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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.

PortableGL

Posts with mentions or reviews of PortableGL. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-09-21.
  • Olive.c: a simple graphics library that does not have any dependencies
    14 projects | news.ycombinator.com | 21 Sep 2022
    Yeah PortableGL will never be completely fully featured, not even for OpenGL 3.3 since I'll definitely never do the geometry shader and probably not the transform feedback. But specifically it'll never have the earlier immediate mode stuff, or some of the big 4.0 stuff like the tessellation shaders. I have been meaning to add the DSA functions where they make sense. They'd be really simple to implement.

    Actually a few days ago someone sent me a pull request adding an interesting project to my README

    https://github.com/rswinkle/PortableGL/commit/e0652b4dff266d...

    So now if I were to try to sum up all the OpenGL software implementations I can think of,

    TinyGL (and modern improved forks) = OpenGL 1.1-1.3 ish

  • Hacker News top posts: Dec 31, 2021
    4 projects | /r/hackerdigest | 31 Dec 2021
    PortableGL: An implementation of OpenGL 3.x-ish in clean C\ (23 comments)
  • PortableGL: An implementation of OpenGL 3.x-ish in clean C
    1 project | /r/hackernews | 31 Dec 2021
    6 projects | news.ycombinator.com | 30 Dec 2021
    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...

  • Any OpenGL implementations for vector-drawing hardware?
    2 projects | /r/opengl | 19 Nov 2021

incbin

Posts with mentions or reviews of incbin. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-01-23.
  • Self-contained Linux applications with lone Lisp
    2 projects | news.ycombinator.com | 23 Jan 2024
    OK, yes, that does work. You can totally put application specific stuff in the elf and reflect on it at runtime. Much easier is to embed it directly and point a symbol value at the start of the data.

    See https://github.com/graphitemaster/incbin for a pretty wrapper around that.

    Aside from there being a drastically simpler answer to this problem available in sketchily documented fashion (the asm guys know .incbin is a thing, but higher level languages overcomplicate it), it's a good post. Idea is sound and goal was achieved.

  • The theory versus the practice of “static websites”
    13 projects | news.ycombinator.com | 15 Jul 2023
    Thanks for the link. We also make static websites by direct inclusion their HTML code in the C++ binary of ClickHouse.

    I've tried to use this library but found a bug: https://github.com/graphitemaster/incbin/issues/61

  • Olive.c: a simple graphics library that does not have any dependencies
    14 projects | news.ycombinator.com | 21 Sep 2022
    won't work, since the preprocessor won't interpret directives inside string literals of course.

    In many assemblers, there is a directive called "incbin" which pastes in unstructured binary data at the point of usage. I just found a very clever C and C++ wrapper [1] for that, which gives you an INCBIN() macro. Nice!

    [1]: https://github.com/graphitemaster/incbin

  • embed workaround
    1 project | /r/C_Programming | 10 Aug 2022
    There's always this: https://github.com/graphitemaster/incbin
  • Finally. Embed
    8 projects | news.ycombinator.com | 23 Jul 2022
    Haven't the people making the standards other things to do, like, integrating useful features instead of duplicating incbin.h [0] years after that feature worked?

    https://github.com/graphitemaster/incbin/blob/main/incbin.h

  • How do I embed files or access them without an operating system?
    1 project | /r/C_Programming | 28 Feb 2022
  • Include files into the Sketch automatically with incbin
    1 project | /r/esp32 | 16 Dec 2021
    There is a project "https://github.com/graphitemaster/incbin" that can take a file and put that file content into the sketch ROM segment as constant / resource. It is an even nicer alternative to "xxd -i" or using string literals like: const char bla[] PROGMEM = R"CERT( ... )CERT";

What are some alternatives?

When comparing PortableGL and incbin you can also consider the following projects:

tinygl - TinyGL : a Small, Free and Fast Subset of OpenGL*

aoc-2020 - Advent of Code 2020 in 25 Different Languages

tinyraytracer - A brief computer graphics / rendering course

xplain - Interactive demos

GLM - OpenGL Mathematics (GLM)

ComputerGraphics - Basic computer graphics implementation , with linux framebuffer

tinyrenderer - A brief computer graphics / rendering course

pl_mpeg - Single file C library for decoding MPEG1 Video and MP2 Audio

rusterizer - Bare-bones software renderer written in Rust

execfs - Proof of concept userspace filesystem that executes filenames as shell commands and makes the result accessible though reading the file.

RetroFPSStudio - The public repo of Retro FPS Studio (RFS), for educational reading and not for reuse. See license.

SuperSimpleGraphics - An SVG generating single header file C library appropriate for "intro to programming" classes in C/C++.