Jump to content



Photo
* * * * * 14 votes

Whirlwind VPX full graphics rebuild WIP


  • Please log in to reply
192 replies to this topic

#1 flupper1

flupper1

    Enthusiast

  • Members
  • PipPipPip
  • 464 posts
  • Location:Netherlands

  • Flag: Netherlands

  • Favorite Pinball: Visual Pinball

Contributor

Posted 02 January 2020 - 04:51 PM

*
POPULAR

ww_logo_10.gif

 

After finishing Tales of the Arabian nights, I spent quite some time looking & deciding what table to do next. The main criteria for me are:

1. There is no up to date prerendered version yet

2. There have to be high quality playfield and plastics available

3. I really have to like the table, since I will be looking at it a lot the coming period (tables usually take a year...)

 

What really decided me on Whirlwind is the amount of flasher effects at about the 8 minute mark in this video:

https://youtu.be/kNOWXKKNqRw

 

In my posts I will try to fully cover all the aspects when building whirlwind, including all the steps I take to prepare and recreate it, including the (maybe) less spectacular non-super-extravagant-3d-rendered chapters. 

 

Chapter 1: bring your friends...

So the first step when starting on Whirlwind for me, was finding some old & new friends who share the interest in recreating it. Clark Kent is my go-to guy when it comes to high resolution artwork scans, if he does not have it, it will be probably be hard to get. He gave me a crazy resolution playfield for Whirlwind (12136 x 27569 pixels, so the equivalent of 24k resolution). He had some plastics, but not many and the internet provided a lot of decent stuff. But I thought, I can at least try and see what the authors of an older version of Whirlwind have. So I contacted Herweh on his VP9 version, who referred me to Blackmoor, who did scans of all the plastics some years back. With the help of a friend of Herweh (Robert aka cosmic80) they dug up for me the original scans. Blackmoor also offered to do testing in the future and I will sure ask him to when we get to that. As I really liked the cooperation with Rothbauerw on Totan, I also asked him again to work with me on Whirlwind and he generously agreed. He will be doing physics and most/all of the non-graphics related scripting. So now I have a complete set of graphics material to start with and the all the help I think I will need during the build.

 

Chapter 2: cleaning pixels

During my earlier builds I have learned that the preparation of the playfield and plastics textures is really important when generating clean VPX graphics. Even though I have high resolution scans, there still are things to improve on. The playfield for instance is a very nice high res scan with correct aspect ratio, but for some reason they scanned a dirty playfield (Clark got it like that). Next to that, the playfield is used and has a lot of scratches. So I did a lot of photoshop work on the playfield to do the following:

- uniforming the colors with a strict color palette (a lot of the magic wand tool and fill)

- removing color halftone; I learned the hard way that that generates blurry/dirty looking textures in VPX

- cutting out all the insert decals (prerendered inserts and their decals will be another chapter)

Color correction on the colors I will probably do in Blender, since it is easy to tweak there and I can interactively see the effect of it during render preview.

This is for instance a cropped piece of the playfield (original scan resolution), where you can see on the left the original scan with the color halftone effects (the dots), dirt on the playfield and some scratches:

wip002_t.jpg

On the right side you can see the cleaned version.

The central compass in the playfield I even had to redraw fully, since the photoshop tools did not pickup the outlines (at least I could not get it to). On the right is the original scan, left is the cleaned one:

wip001_t.jpg

The scanned plastics had less scratches, but are somewhat blurred. So I essentially followed the same process on all the plastics (left is original, right is cleaned):

wip003_t.jpg

And to give an indication of the time involved: I spent about 10 evenings during several weeks to clean the playfield and all the plastics. 

 

Next chapter on pre-rendered inserts:

https://www.vpforums...430#entry442026


Edited by flupper1, 26 January 2020 - 07:49 PM.


#2 bassgeige

bassgeige

    Enthusiast

  • Platinum Supporter
  • 409 posts

  • Flag: Germany

  • Favorite Pinball: Enjoyed on a regular basis.

Posted 02 January 2020 - 05:07 PM

It seems the dinner is served! :-)



#3 Fleep

Fleep

    Enthusiast

  • Members
  • PipPipPip
  • 163 posts

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

  • Favorite Pinball: Theatre of Magic

Posted 02 January 2020 - 06:18 PM

Awesome new project flupper; as usual :-)

If you would like to, I could join in and help with replacing/recreating the mechanic sounds and sound scripts as well.

I could do that only after I’m done with the TOM project which is likely to happen during the next week I believe.

Actual sound recordings from that table will be a great help - If someone has the real table or has an access to the table (please contact me).

Cheers


Sent from my iPhone using Tapatalk
"..Make the ball vanish!.."

#4 bolt

bolt

    VPF Veteran

  • VIP
  • 5,146 posts
  • Location:Kiel / Schleswig Holstein

  • Flag: Germany

  • Favorite Pinball: JP's Deadpool, Harlem Globetrotters, Spiderman and much more

Posted 02 January 2020 - 08:20 PM

Hurray.


Posted Image

#5 htamas

htamas

    Pinball Wizard

  • VIP
  • 2,221 posts
  • Location:California

  • Flag: Hungary

  • Favorite Pinball: cannot pick just one, and they change anyway



Posted 02 January 2020 - 09:00 PM

This looks to be pure gold.

Thanks for all the awesome things you do.



#6 flupper1

flupper1

    Enthusiast

  • Members
  • PipPipPip
  • 464 posts
  • Location:Netherlands

  • Flag: Netherlands

  • Favorite Pinball: Visual Pinball

Contributor

Posted 02 January 2020 - 09:13 PM

@Fleep, a good suggestion! However, it will take me quite some time (months at least) to get to the final stages when the sounds can be tuned, so I will get back to you then. Please let me know if you get any responses on your request for whirlwind table sounds, I did ask Blackmoor.



#7 g5k

g5k

    Hobbyist

  • Members
  • PipPip
  • 46 posts

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

  • Favorite Pinball: T2

Posted 03 January 2020 - 04:08 AM

@flupper1
 
I suggest on your graphic cleanups experiment with the median filter in photoshop, it will cleanup some of your edges nicely. I used this extensively on the plastics scans for Flintstones that needed the same process as they were scans of repros. Great to see you on another project.
 
I tried your attached images with a value of 4 or 5 and looked great. I would attach back but have no idea how to add in image in this editor.
 
This might work
https://ibb.co/VVQhjX3



#8 JLouLoulou

JLouLoulou

    Enthusiast

  • Silver Supporter
  • 201 posts
  • Location:Center of France

  • Flag: France

  • Favorite Pinball: Simply play pinball

Posted 03 January 2020 - 07:26 AM

Popopopopopop!!! Another Masterpiece incoming!!! 



#9 BrandonLaw

BrandonLaw

    Pinball Fan

  • Members
  • PipPipPipPip
  • 514 posts

  • Flag: United States of America

  • Favorite Pinball: Tron

Posted 03 January 2020 - 09:19 AM

I finally dove into this table..spent too much time on it last night and told my wife this is a table I can see in my collection...and now we have a beauty in the works!  And we thought Christmas was over.  Watching this closely!


"S...O...S"  /repeat


#10 DanserPinball

DanserPinball

    Neophyte

  • Members
  • Pip
  • 1 posts

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

  • Favorite Pinball: Indiana Jones

Posted 03 January 2020 - 10:29 AM

Thank you very much to you and your colleagues for your fantastic work.



#11 Skitso

Skitso

    Hobbyist

  • Members
  • PipPip
  • 29 posts

  • Flag: Finland

  • Favorite Pinball: Medieval Madness

Posted 03 January 2020 - 11:56 AM

Nice! It's great to see a new masterpiece coming, though I'm somewhat sad to see the halftones gone as it's part of the magic of the art of that type and era. :/


Edited by Skitso, 03 January 2020 - 11:56 AM.


#12 Genesis38

Genesis38

    Enthusiast

  • Members
  • PipPipPip
  • 183 posts
  • Location:Innisfil Ontario Canada

  • Flag: Canada

  • Favorite Pinball: Congo

Posted 03 January 2020 - 02:35 PM

This hobby continues to impress. From Skitso's awesome mods, to flupper1's beautiful tables, there has never been a better time to enjoy this amazing hobby and community. Skitso's The Shadow, Medieval Madness and flupper1's TOTAN 4K, White Water, are the most played tables in my collection and always gets the WOW factor from friends and family when they are over. Thank you for everything you do for us!  :love39:


Edited by Genesis38, 03 January 2020 - 02:36 PM.


#13 mountainmaninga

mountainmaninga

    Hobbyist

  • Platinum Supporter
  • 21 posts
  • Location:Atlanta

  • Flag: United States of America

  • Favorite Pinball: Theatre of Magic

Posted 03 January 2020 - 06:54 PM

I love Pat Lawlor's tables! I just picked up an Earthshaker for my real collection.



#14 bord

bord

    Pinball Fan

  • Members
  • PipPipPipPip
  • 603 posts

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

  • Favorite Pinball: Star Gazer, Whirlwind, Frontier

Posted 03 January 2020 - 11:13 PM

Great choice for a next project, Flupper. Can't think of a game more deserving of the time you and rothbauerw will give it.

#15 BrandonLaw

BrandonLaw

    Pinball Fan

  • Members
  • PipPipPipPip
  • 514 posts

  • Flag: United States of America

  • Favorite Pinball: Tron

Posted 04 January 2020 - 09:46 AM

Nice! It's great to see a new masterpiece coming, though I'm somewhat sad to see the halftones gone as it's part of the magic of the art of that type and era. :/

As I touch up PF's...I feel this sentiment. I enjoy seeing what the printing of the era's grew into, and the color halftones are a great representation.  I am restoring a table right now and I can tell you those lil' buggars are tough for restoration as you can't 'paint' a HT and throws the image off when touching up the real things as well.

 

Sidenote here:  My father has erected billboards from the ground up for around 45 years now, and the Flex (canvas with the art) has also evolved from painting to now being printed, and furthermore LED's.  The printers are wild in how large they are...but the halftones are the size of your hand.  You obviously can't tell from the road (called an 'approach shot,') but you could actually paint those babies on if you had to.  Neat little fact.


"S...O...S"  /repeat


#16 flupper1

flupper1

    Enthusiast

  • Members
  • PipPipPip
  • 464 posts
  • Location:Netherlands

  • Flag: Netherlands

  • Favorite Pinball: Visual Pinball

Contributor

Posted 04 January 2020 - 10:15 AM

I learned the hard way that keeping the halftone in is a source for issues:

 

1. cleaning the playfield is really hard when leaving the halftone in; see for instance this:

 wip006_t.jpg

 

2. If used in VPX the image need to be scaled down; scaling down HT gives noise patterns. Two examples (on at 1080p and on 4k resolution, top one is with HT in the playfield texture):

wip004.jpg

 

wip005.jpg

 

3. since there is a lot of information in textures with HT, the Mb size is bigger. In my current WIP the playfield is already 12Mb (png), if all the HT was still in, it would be substantially bigger. Also Jpeg tends to generate more artifacts when used on haltone effects, if I would use that for non transparent textures.

 

4. When rendering in Blender, halftoning in a texture leads to more noise, since the starting texture is already (sort of) noisy. So denoising with one of the Blender denoisers performs poorly on those areas. That would mean longer rendering (think 4 times as long, where one part rendered for Totan already took an hour). And even after that, denoising would remove the halftone anyway (but blurred, not cleanly).

 

I understand the thought for keeping it in, but the tradeoff of that is too big for me, that is why I remove it. 



#17 BrandonLaw

BrandonLaw

    Pinball Fan

  • Members
  • PipPipPipPip
  • 514 posts

  • Flag: United States of America

  • Favorite Pinball: Tron

Posted 04 January 2020 - 12:23 PM

Excellent points! This is exactly why vectorizing makes computers happy. Scanning a halftone is not the same as a ‘real’ HT. It’s just giving our renderers more to deal with. In fact, like @flupper1 describes, a scanned HT imported into Blender causes issues as the renderer considers it noise and works even harder to de-noise adding even more garbage to end result. Totally something I’d never thought about. Another great example of why we are happy the senior artists around here know what’s best


Sent from my iPhone using Tapatalk


Edited by BrandonLaw, 04 January 2020 - 01:55 PM.

"S...O...S"  /repeat


#18 flupper1

flupper1

    Enthusiast

  • Members
  • PipPipPip
  • 464 posts
  • Location:Netherlands

  • Flag: Netherlands

  • Favorite Pinball: Visual Pinball

Contributor

Posted 26 January 2020 - 07:48 PM

Chapter 3: inserts
 
For Whirlwind I wanted to do clear inserts instead of the usual more clouded inserts on older pins. It took way more time then I expected, but this is the result (please zoom in on the images, this a 4k screenshot):
ww006_t.jpg
 
ww007_t.jpg
 
I used a new way of doing inserts as well. This is how it works:
 
1. First step is creating the inserts in 3D in blender:
ww008_t.jpg
The 3d modelling of an insert like this does not take me long, about an hour max. The real challenge lies in getting the materials right, so that after transferring to VPX it looks nice.
 
2. I render the inserts for two states: light off and light on. For the "light off" state I only use Blender Cycles rendering. But I could not get the "light on" texture to look right in Blender. So I tried something new: another render engine (https://luxcorerender.org/). LuxCoreRender can do something Cycles cannot: bidirectional pathtracing. Cycles does raytracing by starting a ray from the camera and then bounces across all objects & lights it meets in its path. This works fine for reflections, environment lights, etc but its drawback is complicated lighting situations (like a lot of internal reflections in a pinball insert). LuxCoreRender also starts rays from the lights. This gives much better results for the "light on" texture for the inserts. And LuxCoreRender is opensource as well and fully integrated with Blender. So in the interface of Blender I can just switch from Cycles to LuxCoreRender and render away. Examples of the rendered & composited textures for the inserts:
arrow1off_t.png
 
arrow1on_t.png
BTW: these are at rendered resolution (1024x1024), for use in VPX I scale them down to 256x256 (or smaller for smaller inserts)
 
3. One of the issues I faced with the prerendered Totan textures, was getting the inserts having the right perspective. In order to do that better in Whirlwind I made the inserts in 3D for VPX. The full insert 3d model has way too many triangles for that, so I made a very simplified version of an insert: sort of like a tray which displays the texture more or less in 3d space. In a picture:
ww009_t.jpg
 
ww010_t.jpg
On the left you see the simple 3d tray, on the right you can see how the UV of the tray overlaps the rendered textures. 
Each insert needs two of these trays: one for the "light off" texture and one for the "light on" texture. 
 
4. In VPX I display the textures like this: the two primitives (one for on and one for off) are at the exact same position. The "light on" primitive is slightly larger so sits underneath/outside the "lights off" primitive. In order to display the insert, the playfield texture is transparent at the spot where the insert is supposed to go (no hole in the playfield, just transparency). The "lights off" primitive has "disable lighting from below" set at 1, the "lights on" primitive has that set at zero. This enables that a VPX light underneath both primitives can light up the "lights on" primitive with the transmit property in the bulb section, without affecting the "lights off" primitive. The "lights off" primitive has a material with an opacity amount of 0,99, so that a sufficiently bright VPX light transmitting its light through the "lights on" primitive lights up the whole insert. I made a picture which might explain this more graphical:
ww011_t.jpg
In order to show the insert decal, there is a VPX flasher object slightly above the playfield, which only contains the decal texts (see the picture).
 
This all might seem complicated but hey, it works! And: it fully uses the normal VPX lights, so everything fades properly, bloom works, etc. All of the inserts in the 4k playfield screenshot each only use 1 VPX light. To change the color of the insert for the lights off situation, only a VPX material change is necessary. Doing inserts this way has added about 8k triangles to the VPX table and about 3Mb of textures, so I expect that this method should have no impact on performance. The only drawback I can see is that only on a 4K screen you can properly see the inserts...
 
Next chapter: https://www.vpforums...e=2#entry443863
 

Edited by flupper1, 23 February 2020 - 06:01 PM.


#19 Fleep

Fleep

    Enthusiast

  • Members
  • PipPipPip
  • 163 posts

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

  • Favorite Pinball: Theatre of Magic

Posted 26 January 2020 - 07:55 PM

Flupper,
What can I say?
You are a master. Brilliant stuff as usual.
Thanks for sharing brother. Keep up the good work :-)


Sent from my iPhone using Tapatalk
"..Make the ball vanish!.."

#20 Thalamus

Thalamus

    Pinball Wizard

  • Platinum Supporter
  • 4,974 posts

  • Flag: Norway

  • Favorite Pinball: GOT, Alien Star, LOTR, TOM

Posted 26 January 2020 - 08:02 PM

Thank you for posting these !


From now on. I won't help anyone here at VPF. Please ask Noah why that is.