ata4 / angrylion-rdp-plus

A low-level N64 video emulation plugin, based on the pixel-perfect angrylion RDP plugin with some improvements.
158 stars 25 forks source link

Increasing color depth #86

Closed jsm925 closed 3 years ago

jsm925 commented 5 years ago

As I understand the N64 handles everything in RGBA8888 (32-bit) but it is limited by its 16-bit color frame buffer, and for this reason dithering is needed. I was wondering, is it possible render in 32-bit color? If so, how much work is needed to add this as an option?

CrashOveride95 commented 5 years ago

I don't think that's the focus of this plugin

gamemasterplc commented 5 years ago

Also a few games do output in 32-bit color including doom 64.

theboy181 commented 5 years ago

This option would be neat, if possible.

jsm925 commented 5 years ago

@CrashOveride95 just to be clear, I'm not asking to add this as an option because, well yes, the focus of this plugin is to be as accurate possible. I'm just wondering if it's possible to force a 32-bit color output.

ata4 commented 5 years ago

The problem is that RGBA8888 requires more space in RAM than RGBA5551, for example. When the format is forced to be RGBA8888, the memory layout no longer matches and the RDP overwrites program code or other things.

jsm925 commented 5 years ago

I see, then it's not possible unless a hacky way is implemented, like having a 16-bit framebuffer in memory but displaying/rendering a 32-bit one. But then again this is out of the scope of this plugin and probably would take more processing power.

stale[bot] commented 3 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.