Main Restorations Software Audio/Jukebox/MP3 Everything Else Buy/Sell/Trade
Project Announcements Monitor/Video GroovyMAME Merit/JVL Touchscreen Meet Up Retail Vendors
Driving & Racing Woodworking Software Support Forums Consoles Project Arcade Reviews
Automated Projects Artwork Frontend Support Forums Pinball Forum Discussion Old Boards
Raspberry Pi & Dev Board controls.dat Linux Miscellaneous Arcade Wiki Discussion Old Archives
Lightguns Arcade1Up Try the site in https mode Site News

Unread posts | New Replies | Recent posts | Rules | Chatroom | Wiki | File Repository | RSS | Submit news

  

Author Topic: GLSL Shader Vertical Game and Monitor Question  (Read 4734 times)

0 Members and 1 Guest are viewing this topic.

cmoses

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 718
  • Last login:July 27, 2023, 05:19:00 pm
GLSL Shader Vertical Game and Monitor Question
« on: June 21, 2015, 11:25:14 pm »
I have been tinkering around with the GLSL shaders that work with MAME 0.162. I am using a 20" Dell 4:3 monitor to do my testing on as it will probably be the monitor I use in my cocktail cabinet.  I have done some testing of both the CRT-geom and Lottes shaders.  Each one has a alternative VERT shader.  I know these are to be used when playing vertical games on non rotated monitor (4:3 aspect ratio).  When you play a vertical game on a rotated monitor (3:4 aspect ratio) and also rotate the game should you be using the regular shader or the vert shader?  Any information on this would be helpful.

Thanks

bulbousbeard

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 522
  • Last login:August 25, 2015, 11:58:25 pm
  • I want to build my own arcade controls!
Re: GLSL Shader Vertical Game and Monitor Question
« Reply #1 on: June 22, 2015, 01:08:17 am »
Note: Even though what I'm going to talk about below focuses on scanlines, this really applies to all CRT simulation effects such as the shadowmask effect and so on, but it's just easiest to use scanlines to illustrate what's going on.

No. You don't need the vertical variants when you rotate.

Scanlines on arcade monitors are horizontal.



That means that when you physically rotate a monitor, the scanlines should be vertical.



The problem with the GLSL shaders is that they're dumb, and if you're playing a vertical game in a landscape/horizontal orientation, it will continue to give you horizontal scanlines even though in vertical games, the scanlines should look like they're vertical.

When you use the vertical variant, it allows you to play in a horizontal monitor orientation and still get vertical scanlines. It is NOT for a vertical orientation.

Vertical scanlines: Horizontal scanlines:

When you tell MAME to rotate your monitor, you're also rotating the scanlines, so you're already getting the proper scanlines and don't need to use the separate shader.

Basically, the bulletproof test to make sure you're getting the right results is to verify that you have vertical scanlines in vertical games and horizontal scanlines in horizontal games.
« Last Edit: June 22, 2015, 01:26:34 am by bulbousbeard »

jamesjones626

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 290
  • Last login:March 08, 2025, 01:58:57 am
Re: GLSL Shader Vertical Game and Monitor Question
« Reply #2 on: June 22, 2015, 01:12:54 am »
I have been away from mame for along time, I think .104 was the last time I really played. I have been reading about glsl settings and shaders and such. What do I do to enable glsl or Lotte CRT shaders? I use mame64 for windows and I have my ROMs and mame up to date.

Sent from my Z993 using Tapatalk


bulbousbeard

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 522
  • Last login:August 25, 2015, 11:58:25 pm
  • I want to build my own arcade controls!
Re: GLSL Shader Vertical Game and Monitor Question
« Reply #3 on: June 22, 2015, 01:18:17 am »

lamprey

  • Trade Count: (+3)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 636
  • Last login:January 17, 2019, 07:03:11 pm
Re: GLSL Shader Vertical Game and Monitor Question
« Reply #4 on: June 22, 2015, 12:27:10 pm »
Note: Even though what I'm going to talk about below focuses on scanlines, this really applies to all CRT simulation effects such as the shadowmask effect and so on, but it's just easiest to use scanlines to illustrate what's going on.

No. You don't need the vertical variants when you rotate.
I'd have to double check, but I think MAME rotates the screen internally. So, if you don't use the vertical version of the shader, I think the rotation will be off. But, if you are rotate your screen MAME might be "smart" enough to do it right without the need for the vertical version. It's best to double check and see what happens. :)

bulbousbeard

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 522
  • Last login:August 25, 2015, 11:58:25 pm
  • I want to build my own arcade controls!
Re: GLSL Shader Vertical Game and Monitor Question
« Reply #5 on: June 22, 2015, 08:05:18 pm »
I've extensively tested this. What I said is 100% accurate.

cmoses

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 718
  • Last login:July 27, 2023, 05:19:00 pm
Re: GLSL Shader Vertical Game and Monitor Question
« Reply #6 on: June 23, 2015, 11:17:40 am »
So I did some testing with MAME 0.162 and the CRT-geom shader.  It works correctly for both horizontal and vertical games running on a horizontally oriented monitor.  MAME automatically rotates the scanlines when you play a vertical game.  I tested with a few vertical games and they all displayed fine with the correct scan lines.  There was no need to use the vertical version.

I also tested with rotating the image through MAME video controls to verify that it still worked fine when playing a vertical game on a vertically oriented monitor.  The scan line displayed correctly using just the standard shader.  There was no need to use the vertical version. 

So it appears that MAME is smart enough to use rotate the scanlines through the shader.