6 ms·
RT64: N64 graphics renderer in emulators and native ports
- whywhywhywhy 2y ago[flagged]
- igorguerrero 2y agoWork in Progress Emulator Support (Plugin) and Ray Tracing (RT) are not available in this repository yet.
- aruametello 2y agoIts a rather old sample, but from the same author and project (somewhat) https://www.youtube.com/watch?v=Yl7WvabHfk4 https://www.youtube.com/watch?v=Yl7WvabHfk4 the OG "less compressed" video was on a twitter post that i couldn't find right now.
- deleted 2y ago[deleted]
- robin_reala 2y agoI guess the big test will be running Kaze Emanuar’s code through it.
- 01HNNWZ0MV43FF 2y agoFor those who haven't heard, Kaze is the guy who optimized Mario 64's code, fixed some physics bugs, etc., claims roughly 6x speedup, so that he can make a mod / ROM-hack that runs smoother despite having better graphics: https://www.youtube.com/watch?v=t_rzYnXEQlE https://www.youtube.com/watch?v=t_rzYnXEQlE
- emchammer 2y agoJust about a Fabrice Bellard level of competence there
- bityard 2y agoHas he actually released it yet?
- immibis 2y agoAnd discovered you could disable cache writeback to have a region of fast RAM without bus contention, and ways to use the hidden 9th bit in each byte which is only usd by certain graphics framebuffer operations. I don't think he uses either one in serious code, but if he did, good luck emulating it.
- dmonitor 2y agoHe demos his code on both console and emulator, so there shouldn't be an issue in that regard.
- mouse_ 2y ago> Uses ubershaders to guarantee no stutters due to pipeline compilation. I may sound way out of the loop here, but... How come this was never a problem for older dx9/dx11/GL games and emulators?
- tgtweak 2y agoIn those gl/dx games (built for non-specific hardware) all the textures and shaders are compiled either during the game's build OR before you get into the scene. Many console systems, particularly Nintendo, do that precompilation specifically for the hardware GPU that is inside the console. That is not known to the emulator in advance (unless someone publishes a shader compilation alongside the rom...) so when the shader is referenced in the scene, it needs to be compiled in runtime to work on the emulated graphics system (translated from nintendo-hardware shader code to direct-x, vulkan or openGL then further into the vendor-specific shader) Most modern emulators implement a shader cache which stores those shaders as they are encountered so that this "compilation stutter" only happens once per shader - but modern titles can have hundreds or thousands of shaders and that means on a playthrough you're pretty much encountering it consistently. Breath of the Wild was one that stands out as a game where you basically had to run it with precompiled shader caches as it was borderline unplayable without it. Ubershaders act like fallback shaders - using an off the shelf precompiled "particle" shader vs the actual one, while the actual one is compiled for use next time - this prevents the stutter at a cost of visual fidelity. If you see an explosion in a game, it will be a generic explosion shader vs the actual one used in the game, until it is available in the shader cache.
- zeta0134 2y agoThat's not quite how ubsershaders work. They're a "fallback" shader in the sense that they rather inefficiently implement the entire pipeline, but they do implement the entire pipeline. The shader being compiled in another thread will be more efficient as it uses only the logic needed for whatever configuration the game is calling up. But the visual result is identical in the ubsershaders case, that's the whole point. If you want, and your host system is powerful enough, you can turn ubsershaders on all the time and disable the entire compilation thread and associated cache. I believe the term was coined by Dolphin team, who did a pretty good high level writeup of the feature here: https://dolphin-emu.org/blog/2017/07/30/ubershaders/ https://dolphin-emu.org/blog/2017/07/30/ubershaders/
- terhechte 2y agoHere's a 2022 video that shows it in action https://www.reddit.com/r/Games/comments/v42611/dario_on_twitter_id_like_to_reveal_that_rt64_the/ https://www.reddit.com/r/Games/comments/v42611/dario_on_twit...
- thecaio 2y agothank you! so needed. there is a special place in hell for folks that don't attach screenshots to fundamentally graphic projects.
- devit 2y agoDoesn't seem to be a noticeable improvement from N64-era graphics. It probably needs generative AI based upscaling to high resolution meshes, textures and realistic materials to actually achieve a quality improvement.
- basch 2y agoIt would be an interesting feedback loop to capture a screenshot of a game (sm64), determine the green texture is grass, update the texture realtime, take another screenshot, and iterate, having the game flesh itself out realtime as it’s being played.
- kiicia 2y agoFour years ago there was demo of exactly that in GTA5 https://www.ign.com/articles/experimental-ai-tool-makes-gta-5-look-stunningly-photorealistic-heres-how https://www.ign.com/articles/experimental-ai-tool-makes-gta-...