├── .gitignore ├── CMakeLists.txt ├── FindPicoRenderer.cmake ├── LICENSE.txt ├── README.md ├── inc ├── consts.h ├── enums.h ├── error_ids.h ├── pico.h ├── platform.h ├── structs.h └── types.h ├── src ├── pico.c ├── platform │ ├── SDL2 │ │ ├── context.c │ │ └── context.h │ ├── linux │ │ ├── context.c │ │ └── context.h │ ├── macos │ │ ├── context.h │ │ └── context.m │ └── win32 │ │ ├── context.c │ │ └── context.h ├── plugins │ └── stb │ │ ├── stb_image.h │ │ └── stb_image_write.h └── rasterizer │ ├── color.h │ ├── color_bgr.h │ ├── color_palette.c │ ├── color_palette.h │ ├── color_rgb.h │ ├── error.c │ ├── error.h │ ├── ext_math.c │ ├── ext_math.h │ ├── framebuffer.c │ ├── framebuffer.h │ ├── global_state.c │ ├── global_state.h │ ├── helper.h │ ├── image.c │ ├── image.h │ ├── indexbuffer.c │ ├── indexbuffer.h │ ├── matrix4.c │ ├── matrix4.h │ ├── pixel.h │ ├── raster_triangle.h │ ├── raster_vertex.h │ ├── rect.c │ ├── rect.h │ ├── render.c │ ├── render.h │ ├── state_machine.c │ ├── state_machine.h │ ├── static_config.h │ ├── texture.c │ ├── texture.h │ ├── vector2.h │ ├── vector3.c │ ├── vector3.h │ ├── vector4.h │ ├── vector_arithmetic.h │ ├── vertex.c │ ├── vertex.h │ ├── vertexbuffer.c │ ├── vertexbuffer.h │ ├── viewport.c │ └── viewport.h └── test ├── README.txt ├── SDL2 └── main.c ├── linux └── main.c ├── macos └── main.m ├── media ├── banner.png ├── crate.png ├── front.png ├── grid.png ├── house.jpg ├── house_lines.pico ├── house_tris.pico ├── npot_tex_127.png ├── npot_tex_129.png ├── palette1.png ├── preview_macos.png ├── preview_win32.png └── tiles.png └── win32 └── main.c /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | -------------------------------------------------------------------------------- /CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LukasBanana/PicoRenderer/HEAD/CMakeLists.txt -------------------------------------------------------------------------------- /FindPicoRenderer.cmake: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LukasBanana/PicoRenderer/HEAD/FindPicoRenderer.cmake -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LukasBanana/PicoRenderer/HEAD/LICENSE.txt -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LukasBanana/PicoRenderer/HEAD/README.md -------------------------------------------------------------------------------- /inc/consts.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LukasBanana/PicoRenderer/HEAD/inc/consts.h -------------------------------------------------------------------------------- /inc/enums.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LukasBanana/PicoRenderer/HEAD/inc/enums.h -------------------------------------------------------------------------------- /inc/error_ids.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LukasBanana/PicoRenderer/HEAD/inc/error_ids.h -------------------------------------------------------------------------------- /inc/pico.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LukasBanana/PicoRenderer/HEAD/inc/pico.h -------------------------------------------------------------------------------- /inc/platform.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LukasBanana/PicoRenderer/HEAD/inc/platform.h -------------------------------------------------------------------------------- /inc/structs.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LukasBanana/PicoRenderer/HEAD/inc/structs.h -------------------------------------------------------------------------------- /inc/types.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LukasBanana/PicoRenderer/HEAD/inc/types.h -------------------------------------------------------------------------------- /src/pico.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LukasBanana/PicoRenderer/HEAD/src/pico.c -------------------------------------------------------------------------------- /src/platform/SDL2/context.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LukasBanana/PicoRenderer/HEAD/src/platform/SDL2/context.c -------------------------------------------------------------------------------- /src/platform/SDL2/context.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LukasBanana/PicoRenderer/HEAD/src/platform/SDL2/context.h -------------------------------------------------------------------------------- /src/platform/linux/context.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LukasBanana/PicoRenderer/HEAD/src/platform/linux/context.c -------------------------------------------------------------------------------- /src/platform/linux/context.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LukasBanana/PicoRenderer/HEAD/src/platform/linux/context.h -------------------------------------------------------------------------------- /src/platform/macos/context.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LukasBanana/PicoRenderer/HEAD/src/platform/macos/context.h -------------------------------------------------------------------------------- /src/platform/macos/context.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LukasBanana/PicoRenderer/HEAD/src/platform/macos/context.m -------------------------------------------------------------------------------- /src/platform/win32/context.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LukasBanana/PicoRenderer/HEAD/src/platform/win32/context.c -------------------------------------------------------------------------------- /src/platform/win32/context.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LukasBanana/PicoRenderer/HEAD/src/platform/win32/context.h -------------------------------------------------------------------------------- /src/plugins/stb/stb_image.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LukasBanana/PicoRenderer/HEAD/src/plugins/stb/stb_image.h -------------------------------------------------------------------------------- /src/plugins/stb/stb_image_write.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LukasBanana/PicoRenderer/HEAD/src/plugins/stb/stb_image_write.h -------------------------------------------------------------------------------- /src/rasterizer/color.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LukasBanana/PicoRenderer/HEAD/src/rasterizer/color.h -------------------------------------------------------------------------------- /src/rasterizer/color_bgr.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LukasBanana/PicoRenderer/HEAD/src/rasterizer/color_bgr.h -------------------------------------------------------------------------------- /src/rasterizer/color_palette.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LukasBanana/PicoRenderer/HEAD/src/rasterizer/color_palette.c -------------------------------------------------------------------------------- /src/rasterizer/color_palette.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LukasBanana/PicoRenderer/HEAD/src/rasterizer/color_palette.h -------------------------------------------------------------------------------- /src/rasterizer/color_rgb.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LukasBanana/PicoRenderer/HEAD/src/rasterizer/color_rgb.h -------------------------------------------------------------------------------- /src/rasterizer/error.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LukasBanana/PicoRenderer/HEAD/src/rasterizer/error.c -------------------------------------------------------------------------------- /src/rasterizer/error.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LukasBanana/PicoRenderer/HEAD/src/rasterizer/error.h -------------------------------------------------------------------------------- /src/rasterizer/ext_math.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LukasBanana/PicoRenderer/HEAD/src/rasterizer/ext_math.c -------------------------------------------------------------------------------- /src/rasterizer/ext_math.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LukasBanana/PicoRenderer/HEAD/src/rasterizer/ext_math.h -------------------------------------------------------------------------------- /src/rasterizer/framebuffer.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LukasBanana/PicoRenderer/HEAD/src/rasterizer/framebuffer.c -------------------------------------------------------------------------------- /src/rasterizer/framebuffer.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LukasBanana/PicoRenderer/HEAD/src/rasterizer/framebuffer.h -------------------------------------------------------------------------------- /src/rasterizer/global_state.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LukasBanana/PicoRenderer/HEAD/src/rasterizer/global_state.c -------------------------------------------------------------------------------- /src/rasterizer/global_state.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LukasBanana/PicoRenderer/HEAD/src/rasterizer/global_state.h -------------------------------------------------------------------------------- /src/rasterizer/helper.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LukasBanana/PicoRenderer/HEAD/src/rasterizer/helper.h -------------------------------------------------------------------------------- /src/rasterizer/image.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LukasBanana/PicoRenderer/HEAD/src/rasterizer/image.c -------------------------------------------------------------------------------- /src/rasterizer/image.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LukasBanana/PicoRenderer/HEAD/src/rasterizer/image.h -------------------------------------------------------------------------------- /src/rasterizer/indexbuffer.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LukasBanana/PicoRenderer/HEAD/src/rasterizer/indexbuffer.c -------------------------------------------------------------------------------- /src/rasterizer/indexbuffer.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LukasBanana/PicoRenderer/HEAD/src/rasterizer/indexbuffer.h -------------------------------------------------------------------------------- /src/rasterizer/matrix4.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LukasBanana/PicoRenderer/HEAD/src/rasterizer/matrix4.c -------------------------------------------------------------------------------- /src/rasterizer/matrix4.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LukasBanana/PicoRenderer/HEAD/src/rasterizer/matrix4.h -------------------------------------------------------------------------------- /src/rasterizer/pixel.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LukasBanana/PicoRenderer/HEAD/src/rasterizer/pixel.h -------------------------------------------------------------------------------- /src/rasterizer/raster_triangle.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LukasBanana/PicoRenderer/HEAD/src/rasterizer/raster_triangle.h -------------------------------------------------------------------------------- /src/rasterizer/raster_vertex.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LukasBanana/PicoRenderer/HEAD/src/rasterizer/raster_vertex.h -------------------------------------------------------------------------------- /src/rasterizer/rect.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LukasBanana/PicoRenderer/HEAD/src/rasterizer/rect.c -------------------------------------------------------------------------------- /src/rasterizer/rect.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LukasBanana/PicoRenderer/HEAD/src/rasterizer/rect.h -------------------------------------------------------------------------------- /src/rasterizer/render.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LukasBanana/PicoRenderer/HEAD/src/rasterizer/render.c -------------------------------------------------------------------------------- /src/rasterizer/render.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LukasBanana/PicoRenderer/HEAD/src/rasterizer/render.h -------------------------------------------------------------------------------- /src/rasterizer/state_machine.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LukasBanana/PicoRenderer/HEAD/src/rasterizer/state_machine.c -------------------------------------------------------------------------------- /src/rasterizer/state_machine.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LukasBanana/PicoRenderer/HEAD/src/rasterizer/state_machine.h -------------------------------------------------------------------------------- /src/rasterizer/static_config.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LukasBanana/PicoRenderer/HEAD/src/rasterizer/static_config.h -------------------------------------------------------------------------------- /src/rasterizer/texture.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LukasBanana/PicoRenderer/HEAD/src/rasterizer/texture.c -------------------------------------------------------------------------------- /src/rasterizer/texture.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LukasBanana/PicoRenderer/HEAD/src/rasterizer/texture.h -------------------------------------------------------------------------------- /src/rasterizer/vector2.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LukasBanana/PicoRenderer/HEAD/src/rasterizer/vector2.h -------------------------------------------------------------------------------- /src/rasterizer/vector3.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LukasBanana/PicoRenderer/HEAD/src/rasterizer/vector3.c -------------------------------------------------------------------------------- /src/rasterizer/vector3.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LukasBanana/PicoRenderer/HEAD/src/rasterizer/vector3.h -------------------------------------------------------------------------------- /src/rasterizer/vector4.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LukasBanana/PicoRenderer/HEAD/src/rasterizer/vector4.h -------------------------------------------------------------------------------- /src/rasterizer/vector_arithmetic.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LukasBanana/PicoRenderer/HEAD/src/rasterizer/vector_arithmetic.h -------------------------------------------------------------------------------- /src/rasterizer/vertex.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LukasBanana/PicoRenderer/HEAD/src/rasterizer/vertex.c -------------------------------------------------------------------------------- /src/rasterizer/vertex.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LukasBanana/PicoRenderer/HEAD/src/rasterizer/vertex.h -------------------------------------------------------------------------------- /src/rasterizer/vertexbuffer.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LukasBanana/PicoRenderer/HEAD/src/rasterizer/vertexbuffer.c -------------------------------------------------------------------------------- /src/rasterizer/vertexbuffer.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LukasBanana/PicoRenderer/HEAD/src/rasterizer/vertexbuffer.h -------------------------------------------------------------------------------- /src/rasterizer/viewport.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LukasBanana/PicoRenderer/HEAD/src/rasterizer/viewport.c -------------------------------------------------------------------------------- /src/rasterizer/viewport.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LukasBanana/PicoRenderer/HEAD/src/rasterizer/viewport.h -------------------------------------------------------------------------------- /test/README.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LukasBanana/PicoRenderer/HEAD/test/README.txt -------------------------------------------------------------------------------- /test/SDL2/main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LukasBanana/PicoRenderer/HEAD/test/SDL2/main.c -------------------------------------------------------------------------------- /test/linux/main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LukasBanana/PicoRenderer/HEAD/test/linux/main.c -------------------------------------------------------------------------------- /test/macos/main.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LukasBanana/PicoRenderer/HEAD/test/macos/main.m -------------------------------------------------------------------------------- /test/media/banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LukasBanana/PicoRenderer/HEAD/test/media/banner.png -------------------------------------------------------------------------------- /test/media/crate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LukasBanana/PicoRenderer/HEAD/test/media/crate.png -------------------------------------------------------------------------------- /test/media/front.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LukasBanana/PicoRenderer/HEAD/test/media/front.png -------------------------------------------------------------------------------- /test/media/grid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LukasBanana/PicoRenderer/HEAD/test/media/grid.png -------------------------------------------------------------------------------- /test/media/house.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LukasBanana/PicoRenderer/HEAD/test/media/house.jpg -------------------------------------------------------------------------------- /test/media/house_lines.pico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LukasBanana/PicoRenderer/HEAD/test/media/house_lines.pico -------------------------------------------------------------------------------- /test/media/house_tris.pico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LukasBanana/PicoRenderer/HEAD/test/media/house_tris.pico -------------------------------------------------------------------------------- /test/media/npot_tex_127.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LukasBanana/PicoRenderer/HEAD/test/media/npot_tex_127.png -------------------------------------------------------------------------------- /test/media/npot_tex_129.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LukasBanana/PicoRenderer/HEAD/test/media/npot_tex_129.png -------------------------------------------------------------------------------- /test/media/palette1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LukasBanana/PicoRenderer/HEAD/test/media/palette1.png -------------------------------------------------------------------------------- /test/media/preview_macos.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LukasBanana/PicoRenderer/HEAD/test/media/preview_macos.png -------------------------------------------------------------------------------- /test/media/preview_win32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LukasBanana/PicoRenderer/HEAD/test/media/preview_win32.png -------------------------------------------------------------------------------- /test/media/tiles.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LukasBanana/PicoRenderer/HEAD/test/media/tiles.png -------------------------------------------------------------------------------- /test/win32/main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LukasBanana/PicoRenderer/HEAD/test/win32/main.c --------------------------------------------------------------------------------