Firstly, thank you very much for these progress updates. They're very informative and useful for technical reference.
Secondly, I think you should consider the possibility of using SMAA instead of FXAA. FXAA is somewhat outdated now, and tends to destroy texture detail. Not that this is a huge concern for N64 games, but if it were possible to use SMAA.
Thirdly, you may want to implement some sort of restriction on whether games can use certain settings which might break them. For example, your widescreen hack will likely not play nice with games that support 16:9 natively. (Perfect Dark, for example.) However, this might make the plugin needlessly bloated.
You right, I confused FXAA with FSAA. Cite "Multisampling, also known as multisample antialiasing (MSAA), is one method for achieving full-screen antialiasing (FSAA)".
FXAA is core OpenGL feature (for FBO), while SMAA is not. The difference between FXAA and SMAA is very subtle. N64 emulation is not the case where SMAA implementation is worth the efforts.
In terms of per-game settings, what I meant was perhaps overriding the user if they try to enable or disable or otherwise change a setting which will definitely break a game. Or at least warn them somehow.
Hello I've a question Gonetz, I noticed you are trying to port some Bloom shader but I know the far better shader DolphinFX could you try to port it to your plugin ?
https://github.com/Asmodean-/dolphin/blob/master/Data/Sys/Shaders/DolphinFX.glsl 5xBR for 2D games would be good too. https://github.com/libretro/common-shaders
vsync is platform dependent functionality: http://stackoverflow.com/questions/589064/how-to-enable-vertical-sync-in-opengl Plugin's build for Mupen64Plus allows to set vsync because the emulator takes care about graphics context management. As for other emus, I got no requests for that option. AFAIK, vsync is on by default on Windows.
This is looking amazing! Great work! Super glad I backed on IndieGoGo.
ReplyDeleteFirstly, thank you very much for these progress updates. They're very informative and useful for technical reference.
ReplyDeleteSecondly, I think you should consider the possibility of using SMAA instead of FXAA. FXAA is somewhat outdated now, and tends to destroy texture detail. Not that this is a huge concern for N64 games, but if it were possible to use SMAA.
Thirdly, you may want to implement some sort of restriction on whether games can use certain settings which might break them. For example, your widescreen hack will likely not play nice with games that support 16:9 natively. (Perfect Dark, for example.) However, this might make the plugin needlessly bloated.
I'm very sure gonetz is just using MSAA'ed FBOs, FXAA and SMAA are irrelevant.
DeleteYou right, I confused FXAA with FSAA. Cite "Multisampling, also known as multisample antialiasing (MSAA), is one method for achieving full-screen antialiasing (FSAA)".
DeleteFXAA is core OpenGL feature (for FBO), while SMAA is not. The difference between FXAA and SMAA is very subtle. N64 emulation is not the case where SMAA implementation is worth the efforts.
ReplyDeleteI plan to implement per-game settings later.
So long as FXAA gives good results, that's fine.
DeleteIn terms of per-game settings, what I meant was perhaps overriding the user if they try to enable or disable or otherwise change a setting which will definitely break a game. Or at least warn them somehow.
On an unrelated topic, gonetz, I was wondering whether LLE mode will support texture packs, or whether there's something preventing that happening.
ReplyDeleteTexturing is low-level functionality. Texture packs work perfectly fine in LLE mode.
DeleteHello I've a question Gonetz, I noticed you are trying to port some Bloom shader but I know the far better shader DolphinFX could you try to port it to your plugin ?
ReplyDeletehttps://github.com/Asmodean-/dolphin/blob/master/Data/Sys/Shaders/DolphinFX.glsl
5xBR for 2D games would be good too. https://github.com/libretro/common-shaders
Bump mapping is also very good https://forums.dolphin-emu.org/attachment.php?aid=13087
ReplyDeleteThanks for the links! DolphinFX is a powerful tool. May be later I'll try to make my code compatible with it.
ReplyDeleteI'm glad you like it, I forgot to link PS1 version http://forums.pcsx2.net/attachment.php?aid=46512
ReplyDeletehttp://forums.pcsx2.net/Thread-Custom-Shaders-for-GSdx
ReplyDeletehttps://forums.dolphin-emu.org/Thread-dolphinfx-post-processing-suite-for-the-opengl-backend
Storybook/Sketch shaders https://forums.dolphin-emu.org/attachment.php?aid=12878
ReplyDeleteHi Gonetz,
ReplyDeleteThis looks amazing! <3
Keep up the great work!
Are you going to implement vsync as well?
vsync is platform dependent functionality:
Deletehttp://stackoverflow.com/questions/589064/how-to-enable-vertical-sync-in-opengl
Plugin's build for Mupen64Plus allows to set vsync because the emulator takes care about graphics context management.
As for other emus, I got no requests for that option. AFAIK, vsync is on by default on Windows.
Hello! does all of these features works well with textures?
ReplyDeleteThis comment has been removed by the author.
ReplyDeleteThis comment has been removed by the author.
ReplyDeletenormal mapping http://forums.pcsx2.net/attachment.php?aid=42967
ReplyDeletebump mapping https://forums.dolphin-emu.org/attachment.php?aid=12974
https://forums.dolphin-emu.org/attachment.php?aid=12733
sharpen complex 2 https://forums.dolphin-emu.org/attachment.php?aid=12791
https://forums.dolphin-emu.org/attachment.php?aid=12583
https://forums.dolphin-emu.org/attachment.php?aid=13144
ReplyDeleteThank you for sharing this information about the OpenGL graphics plugin. It's a great information to every developers.
ReplyDeleteNashville Graphic Design