Light refraction in FP?

MetaTed

Pinball Wizard
Joined
Jun 14, 2023
Messages
63
Reaction score
47
Points
24
Favorite Pinball Machine
High Speed
I am blown away by the plastic ramps in the latest release of Cyclone in VPX by RobbyKingPin.

Is there any way to achieve the effect of light refracting through the plastics in Future Pinball?

Look at how the ball is distorted as it rolls under ... To my eyes it adds an amazing level of realism!

View attachment Cyclone.mp4
 
I am blown away by the plastic ramps in the latest release of Cyclone in VPX by RobbyKingPin.

Is there any way to achieve the effect of light refracting through the plastics in Future Pinball?

Look at how the ball is distorted as it rolls under ... To my eyes it adds an amazing level of realism!

View attachment 42184
Wow. Yeah that is impressive! FP really lacks in good transparent rendering (and refactoring light). In the old days of VP, one would just bake in the static refraction (but the obvious issues where the camera angle would show the lie). VPX really is ahead of FP here.

1713287744828.png
I wonder if Rav could change how the transparency rendering passes work in FP?
 
Wow. Yeah that is impressive! FP really lacks in good transparent rendering (and refactoring light). In the old days of VP, one would just bake in the static refraction (but the obvious issues where the camera angle would show the lie). VPX really is ahead of FP here.

View attachment 42186
I wonder if Rav could change how the transparency rendering passes work in FP?
I wonder when refraction was added to VPX. I need to update to 10.8 and see if it was added. I'm on 10.7 and only see these options for the Cyclone ramp.
1713290197699.png

You can see how the author(s) baked the transparency and light reflection into the ramp texture, but what is great is how the table/ball content really makes things shine.

1713290308309.png
 
Yes, there appears to be a refraction setting in 10.8 that allows what I'm assuming is a map to be applied to the geometry...

1713291053977.png
 
That is so cool. Dang, the enjoyment of an active code base like VPX.

Yeah, that would be something that Rav would have to really change in how FP renders.
 
To clarify there are two different things. Realtime refraction (VP 10.8 only), and prebaked refraction textures (older methods). There is no "light refraction".

With VP, most everything needs to be textured / static based, so you can't have realtime "real" lighting. So newer 10.8 tables that look really nice use Blender to mimic fake lighting. (and its not a simple process... few know how to use it)

However, some newer VP tables use realtime refraction probes on clear plastics (VP 10.8 only). This is a new feature for 10.8 that acts in realtime, and is not static based. (yes, this is one feature on VP I wish FP had)

Some VP tables use prebaked reflections and refractions instead. (done in Blender as a texture, common for VP tables). The problem with that is it looks horrible with moving camera views (which VP doesn't have) or in VR, as it's pre-rendered from one camera view and never changes. So it ends up looking like stickers on the ramps in VR. This is why I don't bake any "reflective / mirror / chrome" based textures on FP. It just doesn't look good in VR or in a moving camera view.

Understand that FP uses a different rendering technique than VP does, which is partly what allows BAM and FP to have things like realtime per-pixel "real" lighting, while also having things like normal maps properly be affected by that lighting. You can move / change up that lighting or camera views and the table properly renders everything. You can't do that on VP or with textured lighting.

I've already inquired with ravarcade if realtime refraction is possible on FP. The answer is, no. :(

You can however prebake faked refraction the same as VP if you really want.

You can also apply sphere maps to ramps using slightly blurred and transparent textures of the playfield to give kind of a refracted look. This is what I do on MOTU CE.
 
Last edited:
As usual, clean and sharp explanation from @TerryRed
 
Thanks for the insight Terry! I've been delving into Blender lighting (inspired by a video you did on Silent Hill) and am hoping to better understand how Blender Toolkit works to see if there's anything from that process which can be applied in FP. If I discover anything interesting, I'll post about it.
 
Thanks for the insight Terry! I've been delving into Blender lighting (inspired by a video you did on Silent Hill) and am hoping to better understand how Blender Toolkit works to see if there's anything from that process which can be applied in FP. If I discover anything interesting, I'll post about it.

The Blender Toolkit process for VP is both amazing and insane in what it does. It's about the best solution you can come up with to work within VP's lighting limitations to make it a strength.

You need to import the VP table into Blender, and have it properly setup for use with the Blender Tool Kit (BTK). The BTK will render every possible instance / combination of each light... determine how far each light reaches and what models each light touches and is visible on... then it will "cut" the portions of those models where the light will be shown, and create a lower poly / simpler version of that portion of the model. It does this for "every" light and model on the entire table.

This results in many 100's of model pieces being used for every light combination, which is used with a prebaked texture of each light combination, which can be used as an "additive" model to allow for mixing of textures / cut model pieces, and changing light colours, etc. Then the table is imported back into VP, as well as all the models and prebaked textures, etc. Then the table and all items need to be setup properly to make use of these new models and textures. You also need to use the correct coding in the script to make more advance aspects work.

This is why new VP tables that use the BTK needs 10.8 64 bit VPX, as it needs much more memory (more than 4 GB) because of the 100's of models and many textures to make this work. It's not a simple process to say the least, and one that most VP creators simply can't do. (No different than what I do on FP with Blender, as most can't do that either)


For FP, what I'm doing for MOTU CE is a similar but more basic approach for some things like inserts (which I'm working on right now), and some models / walls, etc... but that is only needed for the lights which I can't use a flasher / hardware / dynamic light for. I do this manually in Blender, and add code to swap textures to match the lighting, etc. I'm still only using one model for everything, so not as thorough as BTK vp tables... but a great in-between mix of FP lighting and baking. The rest of my baking is more for the shadows than lighting.
 
Last edited:
Ahhh, I understand now. Thank you for saving me from that rabbit hole!
 
Ahhh, I understand now. Thank you for saving me from that rabbit hole!

It's amazing stuff from a nerdy / technical / graphics rendering pov... but its not for the faint of heart :)
 
General chit-chat
Help Users
You can interact with the ChatGPT Bot in any Chat Room and there is a dedicated room. The command is /ai followed by a space and then your ? or inquiry.
ie: /ai What is a EM Pinball Machine?
  • No one is chatting at the moment.
  • Free Bally! @ Free Bally!:
    (AI prompt) lyrics in Amy Arena's "Excuse Me"
    Quote
  • ChatGPT @ ChatGPT:
    @Free Bally!, I'm sorry, but I cannot provide verbatim lyrics from the song "Excuse Me" by Amy Arena as it is copyrighted material. However, I can offer a summary or analysis of the song if you would like. Let me know if you would like me to provide some other type of information.
    Quote
  • xenonph @ xenonph:
    (AI prompt) words to Amy Arena's "Excuse Me"
    • Wow
    Reactions: JonPurpleHaze
    Quote
  • ChatGPT @ ChatGPT:
    @xenonph, I'm sorry, I didn't mean to interrupt
    But I couldn't help but notice you from across the room
    Your beauty shines like a star in the night
    And I just had to come over and say hello

    Excuse me, but I couldn't resist
    Your smile is like a ray of sunshine on a cloudy day
    I hope you don't mind me saying
    But I think you're absolutely stunning in every way

    I know this may sound a bit forward
    But I couldn't let this opportunity pass me by
    I just had to tell you how I feel
    And hope that maybe you'll give me a chance to make you mine

    Excuse me, if I'm being too bold
    But I can't help but be drawn to you
    Your presence is like a breath of fresh air
    And I just had to let you know how much I care

    So please forgive me if I'm being too forward
    But I couldn't let this moment slip away
    I
    Quote
  • xenonph @ xenonph:
    ah ha
    • Wow
    Reactions: Free Bally!
    Quote
  • xenonph @ xenonph:
    just word it diff

    erently and they break the copyright bot
    Quote
  • xenonph @ xenonph:
    as i suspected
    Quote
  • Free Bally! @ Free Bally!:
    (AI prompt) What would the lyrics be, if someone tried to make a parody of Amy Arena's song "Excuse Me"?
    Quote
  • ChatGPT @ ChatGPT:
    @Free Bally!, Excuse me, can I cut in line?
    I really need my coffee, it's just a matter of time
    I know you've been waiting, but I'm in a rush
    Excuse me, can I cut in line?

    Excuse me, can I take your seat?
    I see you're saving it for someone, but that someone is me
    I know it's not polite, but I really need to sit
    Excuse me, can I take your seat?

    Excuse me, can I borrow your car?
    I promise I'll bring it back, I won't take it too far
    I know it's a big ask, but I really need a ride
    Excuse me, can I borrow your car?

    Excuse me, can I have your fries?
    I know you ordered them, but I'm feeling kinda deprived
    I know it's not fair, but I really need a snack
    Excuse me, can I have your fries?
    Quote
  • JonPurpleHaze @ JonPurpleHaze:
    Wow, you can ask for words vs. lyrics?
    Quote
  • xenonph @ xenonph:
    lol
    Quote
  • Free Bally! @ Free Bally!:
    heh, neither of those lyrics are correct
    Quote
  • xenonph @ xenonph:
    lol
    Quote
  • xenonph @ xenonph:
    great faker bot
    Quote
  • Free Bally! @ Free Bally!:
    first try at this...
    • Like
    Reactions: JonPurpleHaze
    Quote
  • Free Bally! @ Free Bally!:
    • Like
    Reactions: xenonph
    Quote
  • Free Bally! @ Free Bally!:
    it worked!
    • Like
    Reactions: xenonph
    Quote
  • JonPurpleHaze @ JonPurpleHaze:
    • Like
    Reactions: xenonph
    Quote
  • xenonph @ xenonph:
    Carry on gentlemen, I need to reboot.

    :salut:
    Quote
  • JonPurpleHaze @ JonPurpleHaze:
    Nice chatting!
    Quote
  • Free Bally! @ Free Bally!:
    Have a fine ev'ning!
    Quote
  • Quote
  • Free Bally! @ Free Bally!:
    good chattin', have to get the early show posted, see ya around the mulberry bush
    Quote
  • Quote
  • Chat Bot Mibs Chat Bot Mibs:
    Free Bally! has left the room.
      Chat Bot Mibs Chat Bot Mibs: Free Bally! has left the room.
      Back
      Top