{"adoption": {"forks": 123, "observed_at": "2026-08-28T04:04:06.145255+00:00", "stars": 1240}, "canonical_url": "https://ross.abutalabs.com/products/sdl-gpu", "card": {"archived": false, "artifact_type": "library", "description": "A library for high-performance, modern 2D graphics with SDL written in C.", "domain": ["graphics", "cross-platform"], "enriched": true, "function": ["graphics", "image-processing", "ui-components"], "health_score": 71, "homepage": null, "language": "C", "license": "MIT", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["grimfang4/sdl-gpu"], "name": "grimfang4/sdl-gpu", "platform": ["windows", "cpp", "c", "cross-platform", "game-engine"], "pushed_at": "2026-05-26T16:23:59+00:00", "repo": "grimfang4/sdl-gpu", "stars": 1240, "tags": ["sdl", "2d-graphics", "opengl", "sprite-rendering", "shaders", "hardware-accelerated", "rendering-library", "game-development", "linux", "macos"], "topics": [], "urls": [], "use_cases": ["render 2D sprites with GPU acceleration in C", "build a 2D game with SDL and OpenGL batching", "draw primitive shapes like lines, rects, and polygons with hardware acceleration", "mix 2D rendering with explicit OpenGL 3D calls", "apply custom shaders to 2D rendering", "load and render PNG, BMP, and TGA images with rotation and scaling"], "what_it_is": "SDL_gpu is a C library providing high-performance, hardware-accelerated 2D rendering on top of SDL, with automatic batching, a shader API, and OpenGL/OpenGL ES backends. It offers an SDL 1.2-style API for sprites, geometry, blend states, and built-in primitive shapes.", "when_to_avoid": ["you need 3D rendering as the primary focus", "you want a modern renderer built on SDL3's SDL_GPU API rather than this legacy project", "you need backends beyond OpenGL/OpenGL ES such as Vulkan, Metal, or Direct3D", "you prefer a higher-level game engine with scene management"], "when_to_choose": ["you want fast 2D rendering in C/C++ without writing OpenGL boilerplate", "you need automatic draw-call batching for many sprites", "you want an SDL-familiar API with shader support and blend state control", "you need to target OpenGL and OpenGL ES across desktop and mobile"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/sdl-gpu", "repo": "grimfang4/sdl-gpu", "role": "main", "score": 61}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:06.145255+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T05:09:52.449423+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "530a9944605d0689c1986c24e6043b2cb20899d6746adf53b458882b6bc8e824", "fetched_at": "2026-08-28T04:04:06.145255+00:00", "kind": "readme", "missing": false, "url": "https://github.com/grimfang4/sdl-gpu"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:06.145255+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T05:09:52.449423+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "530a9944605d0689c1986c24e6043b2cb20899d6746adf53b458882b6bc8e824", "fetched_at": "2026-08-28T04:04:06.145255+00:00", "kind": "readme", "missing": false, "url": "https://github.com/grimfang4/sdl-gpu"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T05:09:52.449423+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "530a9944605d0689c1986c24e6043b2cb20899d6746adf53b458882b6bc8e824", "fetched_at": "2026-08-28T04:04:06.145255+00:00", "kind": "readme", "missing": false, "url": "https://github.com/grimfang4/sdl-gpu"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:04:06.145255+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:06.145255+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:06.145255+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T05:09:52.449423+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "530a9944605d0689c1986c24e6043b2cb20899d6746adf53b458882b6bc8e824", "fetched_at": "2026-08-28T04:04:06.145255+00:00", "kind": "readme", "missing": false, "url": "https://github.com/grimfang4/sdl-gpu"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:06.145255+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:06.145255+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T05:09:52.449423+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "530a9944605d0689c1986c24e6043b2cb20899d6746adf53b458882b6bc8e824", "fetched_at": "2026-08-28T04:04:06.145255+00:00", "kind": "readme", "missing": false, "url": "https://github.com/grimfang4/sdl-gpu"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:06.145255+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:06.145255+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:06.145255+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T05:09:52.449423+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "530a9944605d0689c1986c24e6043b2cb20899d6746adf53b458882b6bc8e824", "fetched_at": "2026-08-28T04:04:06.145255+00:00", "kind": "readme", "missing": false, "url": "https://github.com/grimfang4/sdl-gpu"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:06.145255+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:06.145255+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T05:09:52.449423+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "530a9944605d0689c1986c24e6043b2cb20899d6746adf53b458882b6bc8e824", "fetched_at": "2026-08-28T04:04:06.145255+00:00", "kind": "readme", "missing": false, "url": "https://github.com/grimfang4/sdl-gpu"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T05:09:52.449423+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "530a9944605d0689c1986c24e6043b2cb20899d6746adf53b458882b6bc8e824", "fetched_at": "2026-08-28T04:04:06.145255+00:00", "kind": "readme", "missing": false, "url": "https://github.com/grimfang4/sdl-gpu"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T05:09:52.449423+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "530a9944605d0689c1986c24e6043b2cb20899d6746adf53b458882b6bc8e824", "fetched_at": "2026-08-28T04:04:06.145255+00:00", "kind": "readme", "missing": false, "url": "https://github.com/grimfang4/sdl-gpu"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T05:09:52.449423+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "530a9944605d0689c1986c24e6043b2cb20899d6746adf53b458882b6bc8e824", "fetched_at": "2026-08-28T04:04:06.145255+00:00", "kind": "readme", "missing": false, "url": "https://github.com/grimfang4/sdl-gpu"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 84, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 4186, "days_push": 99, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 61, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}