Jump to content



Photo
- - - - -

Idea for realtime bezel reflections for DirectB2S using Megabezel and WindowCast


  • Please log in to reply
5 replies to this topic

#1 Gravy

Gravy

    Pinball Fan

  • VIP
  • 1,147 posts

  • Flag: Australia

  • Favorite Pinball: Simpsons pinball party



Posted 14 August 2023 - 02:37 AM

A while back I made a couple of b2s frames for backglasses that were closer to 1:1 ratio (Silverball being one of them). I used the direcb2s aspect ratio feature to keep the backglass closer to real world ratio and avoid stretching the original image.

I didn't like the fact that I was left with black space either side of the backglass, so I decided to create a frame that contained a static reflection that you may get on the internal sidewalls of a backbox (created in an image editor and based on the image of the backglass). directb2s allows for inclusion of a background picture, so you use this feature to add the reflection as a frame image.

The problem is that this is a little time consuming to create one by one for each backglass, and it does not animate the changes in reflected lighting or score reel movement.

Whilst I have never used it, I'd seen the videos of the very cool Megabezel shader for Retroarch and wondered if it or something similar could somehow play a part in creating this effect in realtime for VPX. Have a look at the TV bezel in video below and it will give you an idea of what it can do. 



Then a few days ago over at VPU, Drybonz mentioned Windowcast in relation to some other issue.

I'm now wondering if Windowcast could be used to capture the b2s backglass animation and feed it back to Megabezel, then we could have some form of realtime animated reflections.

Anyone willing to dig a little deeper on this idea? I don't know a lot about retroarch to be honest, so thought that someone else may have a lot more luck with this one.

https://forums.libre...d-updates/25512

https://forums.libre...cast-core/40464


Here's an example of a b2s frame that I made to give you a better visual idea of what I'm rambling about.


Attached File  silverballcab.jpg   311.24KB   0 downloads
 


Edited by Gravy, 14 August 2023 - 02:49 AM.

Pinball Addict


#2 Drybonz

Drybonz

    Really bad at pinball, but having fun.

  • Members
  • PipPipPipPip
  • 1,538 posts

  • Flag: ---------

  • Favorite Pinball: Theatre of Magic

Posted 14 August 2023 - 12:18 PM

In theory, you should be able to do it, but it would be a complicated set up.  You would have to be running Retroarch on the system, with Windowcast as a core, then running the backglass in windowed mode and use WC to run the Megabezel shaders on the backglass, then customize the shader the way you want it.  Windowcast is kind of new (sort of a beta) and some people have trouble getting it to work consistently (I've had trouble with it myself).  I'm also not sure, at this stage, if it works on a dual monitor, so that could be a problem.  If you are able to get it working, it can add the Megabezel shaders to any program, in theory.  I'm no expert on it, but I have used it and that's about what I know.  It's an interesting idea... might be tough to set up and might need some advancements in Windowcast first.

 

*edit*  The guy that made the theme you linked to (P3st) does some really cool and creative stuff.  He helped me a lot when I was getting some of my Megabezel stuff set up.


Edited by Drybonz, 14 August 2023 - 12:23 PM.


#3 scutters

scutters

    Pinball Fan

  • Members
  • PipPipPipPip
  • 545 posts

  • Flag: England

  • Favorite Pinball: Addams Family

Posted 15 August 2023 - 10:40 AM

@Gravy - have you thought about using OBS?

 

You could have an OBS preview screen running fullscreen behind a resized B2S window using a tablename.res file with an effect like this https://obsproject.c...an-blur.165850/.

 

Not sure if that's the kind of effect you want or not though, and having another window on the backglass screen might mess the screen ordering up if you have pup packs and freezy alphanumerics running too and can't just set B2S to stay on top.



#4 wiesshund

wiesshund

    VPF Legend

  • Members
  • PipPipPipPipPipPipPip
  • 11,871 posts

  • Flag: United States of America

  • Favorite Pinball: How many can i have?

Posted 15 August 2023 - 06:22 PM

why not just put the image in the B2S?


If you feel the need to empty your wallet in my direction, i don't have any way to receive it anyways

Spend it on Hookers and Blow


#5 Gravy

Gravy

    Pinball Fan

  • VIP
  • 1,147 posts

  • Flag: Australia

  • Favorite Pinball: Simpsons pinball party



Posted 16 August 2023 - 04:46 AM

@Gravy - have you thought about using OBS?

 

You could have an OBS preview screen running fullscreen behind a resized B2S window using a tablename.res file with an effect like this https://obsproject.c...an-blur.165850/.

 

Not sure if that's the kind of effect you want or not though, and having another window on the backglass screen might mess the screen ordering up if you have pup packs and freezy alphanumerics running too and can't just set B2S to stay on top.

That could be an option although somewhat rudimentary compared to what Mega Bezel could potentially achieve. Not sure if OBS is able to do a reflection as it seems to be only a gaussian blurred enlarged replicated image in that example?  Mega Bezel on the other hand can do simulated reflections on both axis so you could in theory create a backbox frame whereby the backglass was recessed a few inches into the virtual backbox. OBS would perhaps be more like a Philips ambilight setup behind a TV, which might be interesting too.


Pinball Addict


#6 Gravy

Gravy

    Pinball Fan

  • VIP
  • 1,147 posts

  • Flag: Australia

  • Favorite Pinball: Simpsons pinball party



Posted 16 August 2023 - 04:57 AM

why not just put the image in the B2S?

Well the effect can already be partially achieved with a frame image as I mentioned earlier and is what I did in the image I posted (this is supported by b2server already) but it's a static frame so doesn't reflect the changes in the backglass when lights turn on/off or when scoring animates etc (score reels might be less of an issue if they are further from the edge as they wouldnt need to be reflected anyway).

You could potentially create the b2s with this frame already embedded in it and have some additional animated lighting in the reflection area I guess with more subdued intensity, but not sure how you would reflect score reels etc. That seems like a lot of trouble though if you needed to change hundreds of backglass b2s files or get permission from creators to do it.

It would be easier if there was a way to do it across multiple b2s without having to change them (aside from editing the [table_name].res files to switch to the correct backglass ratio). Hence why I was thinking the method in the first post might be a possible solution,


Pinball Addict