Introducing Hypercolor Paint, a high-color painting application for the PICO-8.
Paint in either high color mode (flicker) or standard (dithered) mode.
While editing, pixels are treated as 56,535 level 3-channel color.
Use a variety of brushes, with control of color, size and pressure to achieve desired effects.
Save images (requires download)
Export images (requires download)
Example Images: (High color mode is simulated)
Z: Switch between paint mode and palette mode
Tab: Switch between high color and standard color mode
Mouse: Paint with left mouse button
?: Show splash screen
Color: Switch between paint mode and palette mode
Save: Save image locally to hyper_color_save.p8 (image will be cropped)
Load: Load image locally from hyper_color_save.p8
Export: Export image to hyper_color_export.p8
For standard color images, the sprite sheet will capture the full image.
For high color images, data is stored in sprite sheet as well as map and sound effect locations.
In order to view images, paste the following code into hyper_color_export.p8:
Two different 16X16X16 color look up tables are used to achieve responsive paint effects with dithering at 60 fps. In order to avoid a massive slow down (it takes a number of minutes to build the color cube) the look up table is generated by a different cart and loaded into sprite, map and sound memory.
Example exported cart:
@electricgryphon FYI, with the latest changes in 0.1.12d the initial raytracing code sometimes crashes with an out of memory error (about 1 time out of 5). This is due to an infinite recursion in render_ray() where the ray reflects against the same object forever. I was unable to find a proper fix but adding a depth limit to render_ray() worked.
The reason it only happens now is because Zep improved the precision of sqrt(), so the various vector length and normalisation functions behave slightly differently.
[Please log in to post a comment]