skmp / reicast-emulator

Reicast was a multiplatform Sega Dreamcast emulator
https://reicast.emudev.org
Other
1.1k stars 345 forks source link

Order-Independent Transparency #476

Closed LasagnaPie closed 10 years ago

LasagnaPie commented 10 years ago

Will Reicast support Order-Independent Transparency

MrPsyMan commented 10 years ago

Not any time soon. OpenGL ES 2.0 does not support it and doing it in software is too expensive.

Other features that we "support" are currently disabled for performance reasons too.

LasagnaPie commented 10 years ago

Then why even develop for the Android Platform and why no enthusiasm for PC Platform OpenGL 4.0 supports Order-Independent Transparency.

AbandonedCart commented 10 years ago

You're welcome to not use it until the feature you want is integrated, but the 100,000+ current users don't seem to think the entire platform depends on it

MrPsyMan commented 10 years ago

OIT depends on proper depth handling. If the depth is not accurate (at a 32bit float level), it's gonna still look wrong. Well, most of the OpenGL drivers "out there" do not have that kind of accuracy, they are limited to 24bit float depth.

hooby3dfx commented 10 years ago

how would this improve dreamcast graphics?

On Tue, May 13, 2014 at 8:02 PM, MrPsyMan notifications@github.com wrote:

OOT depends on proper depth handling. If the depth is not accurate (at a 32bit float level), it's gonna still look wrong. Well, the OpenGL drivers "out there" do not have that kind of accuracy, they are limited to 24bit float depth.

— Reply to this email directly or view it on GitHubhttps://github.com/reicast/reicast-emulator/issues/476#issuecomment-43028147 .

MrPsyMan commented 10 years ago

Better depth handling. I could elaborate, but it might end up being a long post. :p

hooby3dfx commented 10 years ago

oh wow: http://en.wikipedia.org/wiki/Order-independent_transparency#OIT_in_Hardware

On Tue, May 13, 2014 at 9:36 PM, MrPsyMan notifications@github.com wrote:

Better depth handling. I could elaborate, but it might end up being a long post. :p

— Reply to this email directly or view it on GitHubhttps://github.com/reicast/reicast-emulator/issues/476#issuecomment-43033485 .

LasagnaPie commented 10 years ago

http://msdn.microsoft.com/en-us/library/ms834190.aspx

skmp commented 10 years ago

@LasagnaPie cus android is far more fun. Regarding OpenGL 4, all I have to say is http://richg42.blogspot.gr/2014/05/the-truth-on-opengl-driver-quality.html

LasagnaPie commented 10 years ago

what's so fun about Android, it's a bloated single-tasking piracy money grabbing micro purchasing platform.. PC/X86 Platform is far superior.

AbandonedCart commented 10 years ago

I think that summed up the fun pretty well. Oh yeah, and it's one of the most common mobile platforms allowing you to take the emulator anywhere.

LasagnaPie commented 10 years ago

Dreamcast games are best played on a large screen with a controller

neko68k commented 10 years ago

Says you. This is not an issue. Closing...

AbandonedCart commented 10 years ago

It is always fun when someone says your time has been wasted due to their personal preference, but I guess haters gonna hate.

skmp commented 10 years ago

@LasagnaPie http://www.cplusplus.com/ and http://www.agner.org/optimize/ are great resources for you. The emulator community could certainly use more developers, particularly focused on delivering great desktop experiences. We're also open to pull requests, patches, and general code review (https://github.com/reicast/reicast-emulator/blob/master/core/nullDC.cpp is a great place to start).

With that said and done, if Microsoft hadn't completely fucked up with the WinRT apis, you'd see a release earlier on. But with win32 on decline, a lot of great emus (both old and new ones, checkout http://demul.emulation64.com/ , makaron, and there's the rusty old nulldc and chankast) as alternatives, general boredom and catnip parties, getting there for desktop might take a little while longer.

MrPsyMan commented 10 years ago

I opened this again since although the posts went kinda off-topic, the issue is still valid.

Now, as already mentioned, switching to OpenGL 4.0 will not solve the depth issues (bad drivers+API limitations). Even using DirectX 11 will not solve every related issue since the OIT implementation there is quite different from what the CLX2 on Dreamcast does. Using a software renderer, or at least a depth handler that works in software (up to a certain degree) will solve those issues if properly implemented, however speed will suffer.

I won't comment on the opinion about Android, but I will remind to people with similar beliefs that reicast is supposed to be a multi-platform project, with an already existing port for Linux (ARM) and a working Windows-x86 build. Even more platforms are planned, including systems using MIPS processors and x86 Linux.

About the performance considerations, the hardware will eventually become fast enough to handle everything we have planned, and even as things are right now, there are still ways to make things better.

Regarding the comment about screens and controllers, devices like the Ouya, tabs and phones with hdmi/displayport output and even handheld systems like NVIDIA's Shield can be connected at quite big 1080p screens, and either have the capability to support controllers, or are controllers themselves (Shield again).

With a cost of less than 300$ you can get a moga, a phone and a mini HDMI to HDMI cable and use them to play on your TV. This does not just cover Dreamcast stuff, but other stuff too (emus and games for Android). All that while still keeping a great amount of portability (moga+phone+cable+charger can fit in 2 pockets) and extra capabilities (media playback, Internet browsing, document processing and even something obscure like MIDI i/o with sound-fonts and the likes).

Last but not least, if there's something you consider important and is currently missing, you can always contribute to the project by implementing the said thing yourself.

AbandonedCart commented 10 years ago

All things considered, I can't help but wonder how obscene the idea of a PSP version would be.

I'm the size of a mere child, so even carrying a Moga gets dicey and let's face it, the Xperia Play just wasn't what it should have been.

ptitSeb commented 10 years ago

Try an OpenPandora instead :p PSP cpu will probably be too weak...

2014-05-15 8:47 GMT+02:00 TwistedUmbrella notifications@github.com:

All things considered, I can't help but wonder how obscene the idea of a PSP version would be.

I'm the size of a mere child, so even carrying a Moga gets dicey and let's face it, the Xperia Play just wasn't what it should have been.

— Reply to this email directly or view it on GitHubhttps://github.com/reicast/reicast-emulator/issues/476#issuecomment-43174546 .

skmp commented 10 years ago

@MrPsyMan, I believe we're best served by a new issue to cover the topic, since this is already spammed. #10 is already there, might as well add sorting. TBH, I don't see the value in extremely vague issues myself, nor to issues that about something extremely specific that's totally impractical based on the current codebase.

MrPsyMan commented 10 years ago

OK, added sorting to the list of "not likely to happen soon". :p

LasagnaPie commented 10 years ago

win32 is certainly not on the decline, what about Steam Machines and SteamOS?