{"id":21390650,"url":"https://github.com/bytecode77/fastpix3d","last_synced_at":"2025-07-13T17:30:36.410Z","repository":{"id":50472655,"uuid":"114543364","full_name":"bytecode77/fastpix3d","owner":"bytecode77","description":"Software Rasterizer (C++)","archived":false,"fork":false,"pushed_at":"2024-05-07T19:30:38.000Z","size":77239,"stargazers_count":30,"open_issues_count":0,"forks_count":5,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-05-07T20:34:55.124Z","etag":null,"topics":["rasterizer","software-rasterizer","stencil-shadows"],"latest_commit_sha":null,"homepage":"https://bytecode77.com/fastpix3d","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bytecode77.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE-OBJ-Loader.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-12-17T14:35:14.000Z","updated_at":"2024-05-07T19:30:46.000Z","dependencies_parsed_at":"2024-05-07T20:44:06.550Z","dependency_job_id":null,"html_url":"https://github.com/bytecode77/fastpix3d","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bytecode77%2Ffastpix3d","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bytecode77%2Ffastpix3d/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bytecode77%2Ffastpix3d/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bytecode77%2Ffastpix3d/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bytecode77","download_url":"https://codeload.github.com/bytecode77/fastpix3d/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225901502,"owners_count":17542236,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["rasterizer","software-rasterizer","stencil-shadows"],"created_at":"2024-11-22T13:19:00.528Z","updated_at":"2025-07-13T17:30:36.402Z","avatar_url":"https://github.com/bytecode77.png","language":"C","readme":"﻿# FastPix3D\r\n\r\n## Software Rasterizer\r\n\r\nFastPix3D is a **high-performance** software rasterizer written in C++.\r\n\r\nWith features akin to modern 3D engines - such as depth shadows, anisotropic mip mapping, cubemaps, and more - this project stands distinctly superior to other software rasterizers.\r\n\r\n## Performance\r\n\r\nThe **block-based half-space** algorithm is aggressively optimized using **AVX2** and **multithreading**. Pixel shading is performed on 8 pixels at once using SIMD intrinsics.\r\n\r\nC++ **template parameters** are used to implement **branchless** render states that would otherwise impose branches in the tight inner loops. As a result, render states add **zero overhead**.\r\n\r\n## Screenshots\r\n\r\n[![](/.github/screenshots/001.thumb.jpg)](/.github/screenshots/001.jpg)\r\n[![](/.github/screenshots/002.thumb.jpg)](/.github/screenshots/002.jpg)\r\n[![](/.github/screenshots/003.thumb.jpg)](/.github/screenshots/003.jpg)\r\n[![](/.github/screenshots/004.thumb.jpg)](/.github/screenshots/004.jpg)\r\n[![](/.github/screenshots/005.thumb.jpg)](/.github/screenshots/005.jpg)\r\n[![](/.github/screenshots/006.thumb.jpg)](/.github/screenshots/006.jpg)\r\n[![](/.github/screenshots/007.thumb.jpg)](/.github/screenshots/007.jpg)\r\n[![](/.github/screenshots/008.thumb.jpg)](/.github/screenshots/008.jpg)\r\n\r\n## Features\r\n\r\n*Cool stuff you rarely see in software renderers — all in one place.*\r\n\r\n### Depth shadows with PCF \u0026 cubemapping\r\n\r\nFastPix3D renders **depth maps** from point light sources. **PCF** (percentage closer filtering) produces soft shadows.\r\n\r\n[![](/.github/screenshots/pcf.jpg)](/.github/screenshots/pcf.jpg)\r\n\r\nWith **cubemap shadow map projection**, it is possible to implement true indoor shadows with full 360° coverage. This feature requires peak performance rasterization to be feasible.\r\n\r\n### Anisotropic mip mapping \u0026 Texture filtering\r\n\r\n**Anisotropic mip mapping** significantly reduces aliasing, at negligible performance cost. **Bilinear texture filtering**, combined with high frame rates, provides smooth and artifact-free visuals.\r\n\r\n[![](/.github/screenshots/texture-filtering.jpg)](/.github/screenshots/texture-filtering.jpg)\r\n\r\n## Full list of features\r\n\r\n- Depth shadows\r\n  - Point lights\r\n  - Cubemap (6 shadow maps, full 360°)\r\n  - PCF (percentage closer filtering)\r\n- Textures\r\n  - Anisotropic mip mapping\r\n  - Bilinear filtering\r\n  - Sphere mapping\r\n  - Blend modes (alpha, multiply, add)\r\n  - Per-pixel transparency key\r\n- Vertex lighting with specular highlights\r\n- Fog\r\n- Wireframe\r\n- Bitmap fonts\r\n- Primitive generator (cube, sphere, cylinder, torus, etc.)\r\n- Render to texture\r\n\r\n## Performance optimizations\r\n\r\n- Block-based half-space algorithm\r\n  - Rendering 8 pixels at once using AVX2\r\n  - Multithreading\r\n  - Rasterization is almost fully branchless\r\n- Branchless render states by leveraging C++ template parameters\r\n- Perspective correction and mip mapping performed only once per 8x8 pixel block\r\n- Optimizations from the architectural level down to micro-optimizations\r\n\r\n## Downloads\r\n\r\nAll examples as compiled executables:\r\n\r\n[![](http://bytecode77.com/public/fileicons/zip.png) FastPix3D 4.1.0.zip](/.github/downloads/FastPix3D%204.1.0.zip)","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbytecode77%2Ffastpix3d","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbytecode77%2Ffastpix3d","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbytecode77%2Ffastpix3d/lists"}