{"id":20987176,"url":"https://github.com/haxpor/sr_st","last_synced_at":"2026-05-20T15:38:45.077Z","repository":{"id":149553121,"uuid":"227998748","full_name":"haxpor/sr_st","owner":"haxpor","description":"Software renderer studying repository","archived":false,"fork":false,"pushed_at":"2020-01-25T16:04:06.000Z","size":1109,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-20T07:35:22.159Z","etag":null,"topics":["cpp","software-renderer","studying"],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/haxpor.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2019-12-14T09:39:48.000Z","updated_at":"2020-01-25T16:04:08.000Z","dependencies_parsed_at":null,"dependency_job_id":"720a140d-8360-4382-b7a4-cfc983409c0b","html_url":"https://github.com/haxpor/sr_st","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/haxpor%2Fsr_st","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/haxpor%2Fsr_st/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/haxpor%2Fsr_st/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/haxpor%2Fsr_st/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/haxpor","download_url":"https://codeload.github.com/haxpor/sr_st/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243394155,"owners_count":20283919,"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":["cpp","software-renderer","studying"],"created_at":"2024-11-19T06:16:13.898Z","updated_at":"2025-12-28T15:14:06.136Z","avatar_url":"https://github.com/haxpor.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# sr_st\n\nSoftware Renderer Studying repo.\n\nTarget support is `gcc` first then later will add support for `MSVC`.\nFor now, the former support is there.\n\nVarious testbeds are inside `apps`.\nIn each directory, it's self-contained applications using Makefile to build.\nJust go there, and hit `make`.\n\n# Common\n\nInside `common/` directory, it's common code consisting of the following systems\n\n* `Platform` - platform related utility and macros\n* `FrameBuffer` - act as holder for pixels before writing into image file\n* `Graphics` - main graphics functions\n* `GraphicsUtil` - utility graphics functions\n* `Logger` - logging utlity to standard output, or standard error output\n* `MathUtil` - math related utility functions i.e. random integer or floating-point number\n* `ObjLoader` - `.obj` file loader\n* `Profile` - profiler measuring executable time of function or code conveniently\n* `TGAImage` - `.tga` image writter\n* `Types` - supports essential math structure i.e. `Vec2i` for integer, `Vec2f` for floating-point type, etc\n\n# Plan\n\nEach program in its separate directory inside `apps/` i.e. `apps/wireframe_renderer/` represents validation and testbed\nfor one or more of software renderer's technique. Whenever it matures, it will be added into the common\ncode inside `common/` gradually.\n\nSee [TODO](TODO.md) for roadmap and TODO.\n\n# License\n\nMIT, Wasin Thonkaew\nIt will be awesome if you benefit from using any part of this project. Please let me know, it will\nmake me happy.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhaxpor%2Fsr_st","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhaxpor%2Fsr_st","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhaxpor%2Fsr_st/lists"}