262 lines
6.3 KiB
Go
262 lines
6.3 KiB
Go
package graphics
|
|
|
|
import "github.com/pnx/go-raytracer/math"
|
|
|
|
var Palette = [256]math.Color{
|
|
{R: 0, G: 0, B: 0},
|
|
{R: 0, G: 0, B: 168},
|
|
{R: 0, G: 168, B: 0},
|
|
{R: 0, G: 168, B: 168},
|
|
{R: 168, G: 0, B: 0},
|
|
{R: 168, G: 0, B: 168},
|
|
{R: 168, G: 84, B: 0},
|
|
{R: 168, G: 168, B: 168},
|
|
{R: 84, G: 84, B: 84},
|
|
{R: 84, G: 84, B: 252},
|
|
{R: 84, G: 252, B: 84},
|
|
{R: 84, G: 252, B: 252},
|
|
{R: 252, G: 84, B: 84},
|
|
{R: 252, G: 84, B: 252},
|
|
{R: 252, G: 252, B: 84},
|
|
{R: 252, G: 252, B: 252},
|
|
{R: 236, G: 236, B: 236},
|
|
{R: 220, G: 220, B: 220},
|
|
{R: 208, G: 208, B: 208},
|
|
{R: 192, G: 192, B: 192},
|
|
{R: 180, G: 180, B: 180},
|
|
{R: 168, G: 168, B: 168},
|
|
{R: 152, G: 152, B: 152},
|
|
{R: 140, G: 140, B: 140},
|
|
{R: 124, G: 124, B: 124},
|
|
{R: 112, G: 112, B: 112},
|
|
{R: 100, G: 100, B: 100},
|
|
{R: 84, G: 84, B: 84},
|
|
{R: 72, G: 72, B: 72},
|
|
{R: 56, G: 56, B: 56},
|
|
{R: 44, G: 44, B: 44},
|
|
{R: 32, G: 32, B: 32},
|
|
{R: 252, G: 0, B: 0},
|
|
{R: 236, G: 0, B: 0},
|
|
{R: 224, G: 0, B: 0},
|
|
{R: 212, G: 0, B: 0},
|
|
{R: 200, G: 0, B: 0},
|
|
{R: 188, G: 0, B: 0},
|
|
{R: 176, G: 0, B: 0},
|
|
{R: 164, G: 0, B: 0},
|
|
{R: 152, G: 0, B: 0},
|
|
{R: 136, G: 0, B: 0},
|
|
{R: 124, G: 0, B: 0},
|
|
{R: 112, G: 0, B: 0},
|
|
{R: 100, G: 0, B: 0},
|
|
{R: 88, G: 0, B: 0},
|
|
{R: 76, G: 0, B: 0},
|
|
{R: 64, G: 0, B: 0},
|
|
{R: 252, G: 216, B: 216},
|
|
{R: 252, G: 184, B: 184},
|
|
{R: 252, G: 156, B: 156},
|
|
{R: 252, G: 124, B: 124},
|
|
{R: 252, G: 92, B: 92},
|
|
{R: 252, G: 64, B: 64},
|
|
{R: 252, G: 32, B: 32},
|
|
{R: 252, G: 0, B: 0},
|
|
{R: 252, G: 168, B: 92},
|
|
{R: 252, G: 152, B: 64},
|
|
{R: 252, G: 136, B: 32},
|
|
{R: 252, G: 120, B: 0},
|
|
{R: 228, G: 108, B: 0},
|
|
{R: 204, G: 96, B: 0},
|
|
{R: 180, G: 84, B: 0},
|
|
{R: 156, G: 76, B: 0},
|
|
{R: 252, G: 252, B: 216},
|
|
{R: 252, G: 252, B: 184},
|
|
{R: 252, G: 252, B: 156},
|
|
{R: 252, G: 252, B: 124},
|
|
{R: 252, G: 248, B: 92},
|
|
{R: 252, G: 244, B: 64},
|
|
{R: 252, G: 244, B: 32},
|
|
{R: 252, G: 244, B: 0},
|
|
{R: 228, G: 216, B: 0},
|
|
{R: 204, G: 196, B: 0},
|
|
{R: 180, G: 172, B: 0},
|
|
{R: 156, G: 156, B: 0},
|
|
{R: 132, G: 132, B: 0},
|
|
{R: 112, G: 108, B: 0},
|
|
{R: 88, G: 84, B: 0},
|
|
{R: 64, G: 64, B: 0},
|
|
{R: 208, G: 252, B: 92},
|
|
{R: 196, G: 252, B: 64},
|
|
{R: 180, G: 252, B: 32},
|
|
{R: 160, G: 252, B: 0},
|
|
{R: 144, G: 228, B: 0},
|
|
{R: 128, G: 204, B: 0},
|
|
{R: 116, G: 180, B: 0},
|
|
{R: 96, G: 156, B: 0},
|
|
{R: 216, G: 252, B: 216},
|
|
{R: 188, G: 252, B: 184},
|
|
{R: 156, G: 252, B: 156},
|
|
{R: 128, G: 252, B: 124},
|
|
{R: 96, G: 252, B: 92},
|
|
{R: 64, G: 252, B: 64},
|
|
{R: 32, G: 252, B: 32},
|
|
{R: 0, G: 252, B: 0},
|
|
{R: 0, G: 252, B: 0},
|
|
{R: 0, G: 236, B: 0},
|
|
{R: 0, G: 224, B: 0},
|
|
{R: 0, G: 212, B: 0},
|
|
{R: 4, G: 200, B: 0},
|
|
{R: 4, G: 188, B: 0},
|
|
{R: 4, G: 176, B: 0},
|
|
{R: 4, G: 164, B: 0},
|
|
{R: 4, G: 152, B: 0},
|
|
{R: 4, G: 136, B: 0},
|
|
{R: 4, G: 124, B: 0},
|
|
{R: 4, G: 112, B: 0},
|
|
{R: 4, G: 100, B: 0},
|
|
{R: 4, G: 88, B: 0},
|
|
{R: 4, G: 76, B: 0},
|
|
{R: 4, G: 64, B: 0},
|
|
{R: 216, G: 252, B: 252},
|
|
{R: 184, G: 252, B: 252},
|
|
{R: 156, G: 252, B: 252},
|
|
{R: 124, G: 252, B: 248},
|
|
{R: 92, G: 252, B: 252},
|
|
{R: 64, G: 252, B: 252},
|
|
{R: 32, G: 252, B: 252},
|
|
{R: 0, G: 252, B: 252},
|
|
{R: 0, G: 228, B: 228},
|
|
{R: 0, G: 204, B: 204},
|
|
{R: 0, G: 180, B: 180},
|
|
{R: 0, G: 156, B: 156},
|
|
{R: 0, G: 132, B: 132},
|
|
{R: 0, G: 112, B: 112},
|
|
{R: 0, G: 88, B: 88},
|
|
{R: 0, G: 64, B: 64},
|
|
{R: 92, G: 188, B: 252},
|
|
{R: 64, G: 176, B: 252},
|
|
{R: 32, G: 168, B: 252},
|
|
{R: 0, G: 156, B: 252},
|
|
{R: 0, G: 140, B: 228},
|
|
{R: 0, G: 124, B: 204},
|
|
{R: 0, G: 108, B: 180},
|
|
{R: 0, G: 92, B: 156},
|
|
{R: 216, G: 216, B: 252},
|
|
{R: 184, G: 188, B: 252},
|
|
{R: 156, G: 156, B: 252},
|
|
{R: 124, G: 128, B: 252},
|
|
{R: 92, G: 96, B: 252},
|
|
{R: 64, G: 64, B: 252},
|
|
{R: 32, G: 36, B: 252},
|
|
{R: 0, G: 4, B: 252},
|
|
{R: 0, G: 0, B: 252},
|
|
{R: 0, G: 0, B: 236},
|
|
{R: 0, G: 0, B: 224},
|
|
{R: 0, G: 0, B: 212},
|
|
{R: 0, G: 0, B: 200},
|
|
{R: 0, G: 0, B: 188},
|
|
{R: 0, G: 0, B: 176},
|
|
{R: 0, G: 0, B: 164},
|
|
{R: 0, G: 0, B: 152},
|
|
{R: 0, G: 0, B: 136},
|
|
{R: 0, G: 0, B: 124},
|
|
{R: 0, G: 0, B: 112},
|
|
{R: 0, G: 0, B: 100},
|
|
{R: 0, G: 0, B: 88},
|
|
{R: 0, G: 0, B: 76},
|
|
{R: 0, G: 0, B: 64},
|
|
{R: 40, G: 40, B: 40},
|
|
{R: 252, G: 224, B: 52},
|
|
{R: 252, G: 212, B: 36},
|
|
{R: 252, G: 204, B: 24},
|
|
{R: 252, G: 192, B: 8},
|
|
{R: 252, G: 180, B: 0},
|
|
{R: 180, G: 32, B: 252},
|
|
{R: 168, G: 0, B: 252},
|
|
{R: 152, G: 0, B: 228},
|
|
{R: 128, G: 0, B: 204},
|
|
{R: 116, G: 0, B: 180},
|
|
{R: 96, G: 0, B: 156},
|
|
{R: 80, G: 0, B: 132},
|
|
{R: 68, G: 0, B: 112},
|
|
{R: 52, G: 0, B: 88},
|
|
{R: 40, G: 0, B: 64},
|
|
{R: 252, G: 216, B: 252},
|
|
{R: 252, G: 184, B: 252},
|
|
{R: 252, G: 156, B: 252},
|
|
{R: 252, G: 124, B: 252},
|
|
{R: 252, G: 92, B: 252},
|
|
{R: 252, G: 64, B: 252},
|
|
{R: 252, G: 32, B: 252},
|
|
{R: 252, G: 0, B: 252},
|
|
{R: 224, G: 0, B: 228},
|
|
{R: 200, G: 0, B: 204},
|
|
{R: 180, G: 0, B: 180},
|
|
{R: 156, G: 0, B: 156},
|
|
{R: 132, G: 0, B: 132},
|
|
{R: 108, G: 0, B: 112},
|
|
{R: 88, G: 0, B: 88},
|
|
{R: 64, G: 0, B: 64},
|
|
{R: 252, G: 232, B: 220},
|
|
{R: 252, G: 224, B: 208},
|
|
{R: 252, G: 216, B: 196},
|
|
{R: 252, G: 212, B: 188},
|
|
{R: 252, G: 204, B: 176},
|
|
{R: 252, G: 196, B: 164},
|
|
{R: 252, G: 188, B: 156},
|
|
{R: 252, G: 184, B: 144},
|
|
{R: 252, G: 176, B: 128},
|
|
{R: 252, G: 164, B: 112},
|
|
{R: 252, G: 156, B: 96},
|
|
{R: 240, G: 148, B: 92},
|
|
{R: 232, G: 140, B: 88},
|
|
{R: 220, G: 136, B: 84},
|
|
{R: 208, G: 128, B: 80},
|
|
{R: 200, G: 124, B: 76},
|
|
{R: 188, G: 120, B: 72},
|
|
{R: 180, G: 112, B: 68},
|
|
{R: 168, G: 104, B: 64},
|
|
{R: 160, G: 100, B: 60},
|
|
{R: 156, G: 96, B: 56},
|
|
{R: 144, G: 92, B: 52},
|
|
{R: 136, G: 88, B: 48},
|
|
{R: 128, G: 80, B: 44},
|
|
{R: 116, G: 76, B: 40},
|
|
{R: 108, G: 72, B: 36},
|
|
{R: 92, G: 64, B: 32},
|
|
{R: 84, G: 60, B: 28},
|
|
{R: 72, G: 56, B: 24},
|
|
{R: 64, G: 48, B: 24},
|
|
{R: 56, G: 44, B: 20},
|
|
{R: 40, G: 32, B: 12},
|
|
{R: 96, G: 0, B: 100},
|
|
{R: 0, G: 100, B: 100},
|
|
{R: 0, G: 96, B: 96},
|
|
{R: 0, G: 0, B: 28},
|
|
{R: 0, G: 0, B: 44},
|
|
{R: 48, G: 36, B: 16},
|
|
{R: 72, G: 0, B: 72},
|
|
{R: 80, G: 0, B: 80},
|
|
{R: 0, G: 0, B: 52},
|
|
{R: 28, G: 28, B: 28},
|
|
{R: 76, G: 76, B: 76},
|
|
{R: 92, G: 92, B: 92},
|
|
{R: 64, G: 64, B: 64},
|
|
{R: 48, G: 48, B: 48},
|
|
{R: 52, G: 52, B: 52},
|
|
{R: 216, G: 244, B: 244},
|
|
{R: 184, G: 232, B: 232},
|
|
{R: 156, G: 220, B: 220},
|
|
{R: 116, G: 200, B: 200},
|
|
{R: 72, G: 192, B: 192},
|
|
{R: 32, G: 180, B: 180},
|
|
{R: 32, G: 176, B: 176},
|
|
{R: 0, G: 164, B: 164},
|
|
{R: 0, G: 152, B: 152},
|
|
{R: 0, G: 140, B: 140},
|
|
{R: 0, G: 132, B: 132},
|
|
{R: 0, G: 124, B: 124},
|
|
{R: 0, G: 120, B: 120},
|
|
{R: 0, G: 116, B: 116},
|
|
{R: 0, G: 112, B: 112},
|
|
{R: 0, G: 108, B: 108},
|
|
{R: 152, G: 0, B: 136},
|
|
}
|