nesdev.com
http://forums.nesdev.com/

Possible alternate colorspaces for video game palettes.
http://forums.nesdev.com/viewtopic.php?f=21&t=13886
Page 2 of 3

Author:  tepples [ Sat Feb 27, 2016 1:26 pm ]
Post subject:  Re: Possible alternate colorspaces for video game palettes.

zzo38 wrote:
I thought of a different kind of colorspace: 3-bits high-voltage, 3-bits low-voltage, 3-bits phase. The phase only covers half, because you can get the rest of the phases by inverting it which is done by switching the voltage. If high-voltage and low-voltage is same then the picture will be gray.

That'd be HSL-ish, sort of like NES except including more desaturated midtones. It'd be simple to implement a composite output circuit for (assuming an 8*CB crystal), but I can't so easily show the parrot for this one because it has 8*8*8-8*7 = 456 colors, and GIMP won't quantize to palettes with more than 256 colors.

Sik's suggestion to subtract the intensity instead of adding it would be mathematically equivalent to the purely additive RGBI if defined as follows:

Red: #300, #700, #B00, #F00
Green (add): #030, #070, #0B0, #0F0
Blue (add): #003, #007, #00B, #00F
Intensity (subtract): #333, #222, #111, #000

Author:  Sik [ Sat Feb 27, 2016 4:37 pm ]
Post subject:  Re: Possible alternate colorspaces for video game palettes.

Really the only difference is that the order of the colors has changed, but the available colors are pretty much the same. May as well just go with additive at that point and make everybody's lives easier.

Somebody should go and glue two EGAs together...

Author:  Sik [ Sun Feb 28, 2016 6:09 pm ]
Post subject:  Re: Possible alternate colorspaces for video game palettes.

Something I remembered: I know some LCDs work by shifting hues instead of shifting luminance. What about a colorspace where you layer both kind of LCDs on top of each other? Would it have been a reliable way to get color on early handhelds without eating battery like hell? Biggest problem (aside from the obvious blurring) is that saturation would be always at max. Still, would be a fun experiment to think about.

Author:  lidnariq [ Sun Feb 28, 2016 6:55 pm ]
Post subject:  Re: Possible alternate colorspaces for video game palettes.

So-called "Electronically Controlled Birefringence" Displays are achievable (scroll down to "COF LCD module"). They have a rather peculiar color palette, though.

There was a Pokemon-themed pedometer that used it. (video)

Author:  Sik [ Sun Feb 28, 2016 8:08 pm ]
Post subject:  Re: Possible alternate colorspaces for video game palettes.

So wait, their range can be stretched to do more than just a hue shift? Because that actually seems more useful. (my original idea was to use that for hue and then another display on top that was monochrome for luminance)

Author:  Sik [ Tue Mar 01, 2016 2:45 am ]
Post subject:  Re: Possible alternate colorspaces for video game palettes.

Here's another idea: HSL 4.2.2

  • When bits 7-4 are 0000, the color is grayscale and bits 3-0 are the luminance.
  • Otherwise, bits 7-4 specify hue (in steps of 24ยบ), bits 3-2 the saturation (25%,50%,75%,100%) and bits 1-0 the luminance (20%,40%,60%,80%).

EDIT: fixed my HSL algorithm and ditched the old image

Image

Still leaves a lot to be desired.

Author:  tokumaru [ Tue Mar 01, 2016 8:16 am ]
Post subject:  Re: Possible alternate colorspaces for video game palettes.

Sik wrote:
Image

I like the colors, but fading in this color space looks complicated, especially since grays are treated differently.

Author:  Sik [ Tue Mar 01, 2016 1:21 pm ]
Post subject:  Re: Possible alternate colorspaces for video game palettes.

I think that fading is hell with most of the colorspaces mentioned here though =P Would make for a good default 256 colors palette though.

I'm not happy with how coarse luminance turns out to be, though =/

Author:  Rahsennor [ Tue Mar 01, 2016 6:24 pm ]
Post subject:  Re: Possible alternate colorspaces for video game palettes.

Why does the highest luminance level also lower saturation? Saturation increases perceptual brightness, so that seems counterproductive, not to mention redundant.

Author:  Sik [ Tue Mar 01, 2016 11:24 pm ]
Post subject:  Re: Possible alternate colorspaces for video game palettes.

That's how HSL works, maybe you were thinking on HSV instead?

Author:  Rahsennor [ Wed Mar 02, 2016 7:14 pm ]
Post subject:  Re: Possible alternate colorspaces for video game palettes.

I was thinking purely in terms of getting the most usable colors out of the palette. Now that you mention it though, HSV is probably what I was suggesting.

Author:  Sik [ Wed Mar 02, 2016 9:37 pm ]
Post subject:  Re: Possible alternate colorspaces for video game palettes.

OK giving a try to HSV (same format otherwise), assuming I got the calculation right (was expecting this to be harder):

Image

Author:  tokumaru [ Wed Mar 02, 2016 10:23 pm ]
Post subject:  Re: Possible alternate colorspaces for video game palettes.

So, in order to fade to black you'd alternate between decreasing V and increasing S, and to fade to white you'd alternate between decreasing S and increasing V?

Author:  JRoatch [ Sun Mar 27, 2016 12:10 am ]
Post subject:  Re: Possible alternate colorspaces for video game palettes.

Last time I tried making an 8-bit color space with a good luminance range I ended up with this quite arbitrary palette:

Image

I found that the RGBI palette that tepples posted earlier could be rearranged to emphasize grayscales but still have all the same colors.

Attachment:
2016-03-27_2bit-BRGI.png
2016-03-27_2bit-BRGI.png [ 948 Bytes | Viewed 1018 times ]

Code:
Index: bbrrgggg
R = gggg + rr00
G = gggg
B = gggg + bb00

This would be the palette I would use if I was designing another Uzebox or something. Maybe replace the additions with XORs to simplify circuit design.

Author:  lidnariq [ Sun Mar 27, 2016 9:02 am ]
Post subject:  Re: Possible alternate colorspaces for video game palettes.

JRoatch wrote:
Index: bbrrgggg
R = gggg + rr00
G = gggg
B = gggg + bb00
If the digital values are just converted linearly there's no greens at all:
Attachment:
bbrrgggg_addition.png
bbrrgggg_addition.png [ 1.24 KiB | Viewed 981 times ]

If you normalize green so it's the same range (i.e. scale up from 0-15 up to R and B's 0-27), it's ... ok?
Attachment:
bbrrgggg_addition_normalized.png
bbrrgggg_addition_normalized.png [ 1.32 KiB | Viewed 981 times ]

Quote:
replace the additions with XORs

That produces an interesting set of colors:
Attachment:
bbrrgggg_xor.png
bbrrgggg_xor.png [ 1.35 KiB | Viewed 981 times ]

Page 2 of 3 All times are UTC - 7 hours
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/