Fast and Accurate Color Depth Conversion


My voxel engine uses colors which are converted from 24-bit to 16-bit color (5-bit red, 6-bit green, 5-bit blue) to allow space for additional properties (alpha, emissive, specular, and voxel level ambient occlusion face adjaceny bits) in each 32-bit voxel.  Initially I was using naive RGB channels bit shifting code for 24-bit to 16-bit color conversion.  These color conversion equations are much better than what I was using:

https://threadlocalmutex.com/?p=48

Comments

Log in with itch.io to leave a comment.

(3 edits)

P.S.  I've now switched to 15-bit RGB voxel color because I noticed some time ago in procedural block generation where a noise function it uses to modulate brightness of colors was slightly shifting voxel colors.  The noise function modulates the RGB channels equally but because green had more bits (6), red (5) and blue (5) didn't have an even distribution with respect to the green channel.