Search the Community
Showing results for tags 'bgfx'.
Found 1 result
For those that do not know what BGFX shaders are in Mame, it is a new renderer which works with HLSL. What does this mean ? Well simply put it makes everything much simpler for the end user. Up until the BGFX renderer you had 3 options: 1) no shaders at all which look bad on a modern display 2) GLSL using CRT-Geom or Lottes shaders which required different shaders for vertical and horizontal games 3) HLSL which looked bad out of the box and required manual tweaking to suit personal taste and to suit your display. Straight up standard HLSL is still a very good option for those wanting to get their hands dirty and really customize the look. What BGFX does though is fixes all the problems above and gives a wide variety of shader options similar to some of the shader types found in Retroarch so if you like those smoothed out shaders you can have those there too. To take advantage of BGFX I highly recommend getting version 177 of Mame. For those of you that like to use MameUIFX sadly the last version that is available is 175 and has very limited options and not particularly useful. MameUIFX is no longer being officially updated but there are unofficial ways of getting the same UI in Mame and I will cover that further down. The standard install of Mame 177 has everything we need to get started. Just install it like normal and using the command line run your Mame executable with the following parameter: Mame64.exe -cc What this does is it generates a mame.ini file right in your Mame install folder which you will need to edit. Open this ini file in your favourite text editor like notepad or notepad++ and look for the following section: # OSD VIDEO OPTIONS # video auto edit it change the word auto so it is now BGFX, so now it should read: # OSD VIDEO OPTIONS # video bgfx Now we need to look a little further down the ini file for the section titled: # BGFX POST-PROCESSING OPTIONS Look for the following line: bgfx_screen_chains auto This is where we are going to set the default shader look. If you look in the folder \bgfx\chains within your Mame folder you will see a bunch of files with the extension .json, these are the actual shader files. You will also see several sub folders with more .json files, those are also shaders so as you see there are several options. Now if you have previously used some shaders in Retroarch or some other emulators you may recognize some of the names and have a general idea of what some of them will look like out of the box but you will probably want to preview how they look before deciding on which shader you want as your default. To make judging a little easier look in the mame.ini file for the following line: pause_brightness 0.65 Change the brightness to 1.0 so you can pause the game and scroll through the different shaders and see exactly how they will look at their correct brighness. Run a game of your choosing and get to a point you want to use as your judging point and press P on the keyboard to pause the game. Now press the tilde key (the key beside the number 1 that has the ` on it). You will see a bar at the bottom of the screen, press the down arrow key until that changes to: Window 0, Screen 0 Effect: Default Now you use the left and right arrow keys to scroll through all the different shader effects. Once you find one that you find appealing take note of the name of it because this is the name you are going to put in your mame.ini file. Edit the line: bgfx_screen_chains auto replacing the word auto with the name of the shader you found that you liked, for me this was the shader crt-geom. You are now done and all you had to do was edit 2 lines in your mame.ini file. The one downside to BGFX for now is that you cannot easily save and load configuration files for these shaders. You can edit them while in game using the "tab" menu within Mame but you cannot save them out, once you close the game those changes are gone. Hopefully in the future this will change. Note: For games with multiple displays being played on a single monitor such as Punch-Out or Darius II for example you need to add to the bgfx_screen_chains line. In my mame.ini file since I am using the crt-geom shader mine looks like this: bgfx_screen_chains crt-geom,crt-geom,crt-geom This handles 3 the 3 screen version of Darius II. If it was left with just a single crt-geom one of the screens would have the shader effect but the others would have no effect. Here is a link to the documentation for all sorts of stuff you can do with BGFX shaders, especially if you have a multi display set up. http://docs.mamedev.org/advanced/bgfx.html Now for those of you that do not like to get dirty with editing .ini files by hand and wish they had a new version of MameUIFX which unfortunately is now discontinued there is an option. Head on over to EmuCR and search for a program called Arcade. Download the appropriate version that matches your Mame version and drop the .exe file into your Mame folder and run that as your emulator, it will probably be called arcade64.exe. It will work along side your mame64.exe. When you run it it will look and function identically to the MameUIFX you are accustomed to. Here is a link to version Arcade 177 over on EmuCR http://www.emucr.com/2016/09/arcade-v0177.html Here is a screenshot of DoDonPachi in action using the crt-geom preset bgfx shader. It actually looks much better full screen and in motion than the static screenshot.