Home | Downloads | Screenshots | Forums | Source code | RSS | Donate |
Register | Log in |
< melonDS 0.9.2 is out!Well, guess we owe you another release soon > |
Introducing the compute renderer May 1st 2021, by Generic aka RSDuck |
To make things short, I've been working on porting melonDS's software rasteriser to run on the GPU via compute shaders. So how is this different to melonDS's existing OpenGL renderer? The OpenGL renderer uses builtin functionality of your GPU to draw triangles. This is of course fast, since it uses hardware specifically made for this, but it has the downside that some things can't be controlled by us, so the behaviour of the DS can't be replicated completely faithfully. On the otherhand this only utilises the programmable parts of the GPU (which means we have full control over them), so it's like the software rasteriser, only it utilises the parallel computing power of GPUs. Ideally it should be eable to be just as accurate as the software rasteriser is. Why are we doing this in the first place?
Currently the main part of the work is done (it's already somewhat playable with a lot of games), so it's easier to list what's still missing:
|
27 comments have been posted. |
< melonDS 0.9.2 is out!Well, guess we owe you another release soon > |
Pages:12 |
Sorer says: May 1st 2021 |
Very nice job! Does this gonna use Vulkan too like parallel-rdp? or it gonna be OpenGL only? not clear from the post. |
Generic aka RSDuck says: May 1st 2021 |
I'm currently developing it directly for Switch with deko3d which is the homebrew platform specific API there. When porting it over to the PC it will probably use OpenGL because that's what I'm familiar with and what's already integrated into melonDS. For workloads like this the API is relatively irrelevant anyway. |
Hashibee says: May 1st 2021 |
I love the dedication man. Keep up the awesome work :) |
NICOEMU says: May 1st 2021 |
Nice job! I hope they achieve their goal! :D |
poudink says: May 1st 2021 |
Would this be slower than the current OpenGL renderer? |
Sorer says: May 1st 2021 |
I remember parallel-rdp being slower on my laptop while other renderers being faster for n64 emulators. But this is the DS we are talking about here lol. |
Generic aka RSDuck says: May 1st 2021 |
especially at higher resolutions it will definitely be slower than the OpenGL renderer. It also requires "newer" hw for compute shaders (that would be atleast OpenGL 4.3). |
Pents says: May 2nd 2021 |
will it allow for drawing quads? |
poudink says: May 2nd 2021 |
Yeah. |
Comlud2 says: May 2nd 2021 |
This is great and all, but I'm just saying, why aren't you guys focusing on networking? Local multiplayer in particular. That's what most of us are waiting for. |
Generic aka RSDuck says: May 2nd 2021 |
how are you so sure, did you poll the entire melonDS userbase? We'll get there eventually. |
Guest says: May 2nd 2021 |
Interestingly, Nouveau is seeing OpenGL compute shader bringup on NV50 lately, so if compute shaders would be possible with OpenGL ES 3.1, we could, at least in theory, see compute shader support on 8-series GeForce cards, at least on Linux. |
Generic aka RSDuck says: May 2nd 2021 |
whether it will run well is of course another question :D Though Switch for example is a low powered Maxwell chip and it runs it pretty well, so who knows how it will run on older, but higher clocked chips. |
ari32 says: May 2nd 2021 |
Flip, I don't think I even care that much about the DS anymore. I just come here to see the amazing byproduct of pure dedication from a small team. I think one day many years from now there will be kids emulating melonDS on quantum laptops, or something like that. |
Marv says: May 5th 2021 |
https://dl.acm.org/doi/10.1111/j.1467-8659.2010.01725.x For handling blending, using linked lists might be of interest to you ... |
Pages:12 |