It is currently Fri Aug 23, 2019 5:15 pm

All times are UTC - 7 hours

Post new topic Reply to topic  [ 2 posts ] 
Author Message
PostPosted: Sat Feb 02, 2019 9:19 am 

Joined: Sat Feb 02, 2019 8:33 am
Posts: 1
Hi, This subject confuses me.

I keep reading that the color output from emulators should be converted from gamma space to linear space. But the rgb colors written out by emulators look like linear values to me.

higan sameboy, bgb:
gameboy = 00, 55, ~AA, FF
gameboy color = +8 steps if no lcd color correction used

snes and megadrive emulators look linear steps to me also (240p test suite grey ramps, uncorrected rgb screenshots)

I'm aiming for blending correct-ness with scale-type filters and shaders.

The other part that puzzles me is the colorspace part. {0, 85, 170, 255} should be converted to PC srgb values? Why do emulators not seem to have this step in their source code or final capture screenshots? It acts like 1:1 passthrough.

But I don't know. Thanks for helping.

PostPosted: Sat Feb 02, 2019 11:10 am 

Joined: Sun Apr 13, 2008 11:12 am
Posts: 8534
Location: Seattle
Any emulator for a console that originally targeted a CRT TV can take advantage of the CRT and modern display having a comparable gamma, typically 2.2. (Some OSes have different defaults. I think Apple's OS uses a gamma of 1.8, so emulators on Apple hardware might explicitly want compensation )

The colors on a Game Boy, in contrast, appear to be different amounts of linear brightness. (Well, darkness, but.) So "proper" colors shouldn't be linearly spaced in the 2.2 gamma of your display, but instead cluster up towards "bright".

Also the Game Boy's contrast ratio isn't amazing—10:1 at best, possibly as bad as 3:1—nor do emulators usually emulate its pixels' very slow response. With only four shades, this isn't usually very important. (Noticeable exception: at least one game uses flicker to get 7 shades of grey, and this is a stroboscopic nightmare in many emulators)

The Game Boy Color display, on the other hand, has a very extreme gamma—maybe around 0.25?—and many of the brightest colors "bleed" into adjacent subpixels, producing dramatic chroma error. This differing gamma is at least part of what "LCD color correction" means. Nocash (or Pan?) wrote:
For example, a color setting of 03EFh (Blue=0, Green=1Fh, Red=0Fh) will appear as Neon Green on VGA displays, but on the CGB it'll produce a decently washed out Yellow.

Finally, you're noticing that many emulators are just plain sloppy about this.

Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 2 posts ] 

All times are UTC - 7 hours

Who is online

Users browsing this forum: No registered users and 2 guests

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group