Jump to content



Photo
* * * * * 12 votes

Dev thread: Road to DX9


  • Please log in to reply
2087 replies to this topic

#101 htamas

htamas

    Pinball Wizard

  • VIP
  • 2,227 posts
  • Location:California

  • Flag: Hungary

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



Posted 05 February 2014 - 01:23 AM

Can't believe what I'm seeing, actually. :JawDrop:

Awesome.



#102 mukuste

mukuste

    Pinball Fan

  • VP Dev Team
  • PipPipPipPip
  • 854 posts

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

  • Favorite Pinball: Centaur

Posted 05 February 2014 - 01:25 AM

holy shit!

 

somebody stop mukuste!

 

Don't stop me now

I'm having such a good time!

I'm having a ball


Edited by mukuste, 05 February 2014 - 01:26 AM.


#103 ICPjuggla

ICPjuggla

    Early Retirement

  • VIP
  • 1,193 posts

  • Flag: United States of America

  • Favorite Pinball: Star Wars

Posted 05 February 2014 - 01:36 AM

Wow, awesome stuff! :-)

cosmicgunfight-sig2.png breakshot-sig-small3.png atlantis-sig-small.png mousinaround-sig6.png hurricane-sig16.png sc-badge1.png lw-sig.png embryon-logo0.png icp-3.png apollo13_badge(1).png whirlwind_badge0.png playboy_badge0.png oxo1.png raven_logo.png rambo_logo4.png


#104 bent98

bent98

    Pinball Fan

  • Members
  • PipPipPipPip
  • 1,077 posts
  • Location:NY

  • Flag: United States of America

  • Favorite Pinball: Roadshow, Haunted House, Safe Cracker

Posted 05 February 2014 - 02:01 AM

Hell yea

#105 The Loafer

The Loafer

    Pinball Wizard

  • VIP
  • 3,471 posts
  • Location:Embrun, Ontario, Canada

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

  • Favorite Pinball: Superman, Firepower & Tron



Posted 05 February 2014 - 03:00 AM

holy shit!

 

somebody stop mukuste!

 

Somebody stop patito!! Grrrrr LOL



#106 LoadedWeapon

LoadedWeapon

    The Night Owl..

  • Members
  • PipPipPipPipPip
  • 2,572 posts
  • Location:South Carolina USA

  • Flag: United States of America

  • Favorite Pinball: Star Trek TNG



Posted 05 February 2014 - 03:15 AM

wow that is just incredible! does it play or just render? wonder how the fps is in dx9 :)



#107 The Loafer

The Loafer

    Pinball Wizard

  • VIP
  • 3,471 posts
  • Location:Embrun, Ontario, Canada

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

  • Favorite Pinball: Superman, Firepower & Tron



Posted 05 February 2014 - 03:23 AM

I am thinking exactly what everyone is thinking:  Will this allow authors to push the boundaries of what VP can do, now that they won't be bound by the anchor that we call "poor DirectX 7 legacy driver support".  Although my understanding is not great, I'm pretty sure DirectX 9's much improved texture support and higher threshold will probably tables like UW's Monster Bash to really shine.

 

 

Can't wait until we see where this eventually leads.  The pics are fantastic.  Here we are, another year past this dinosaur program called Visual Pinball and yet again, someone comes up with something new that keeps VP fresh, with great improvements that will ensure our beloved hobby keeps growing.

 

Thanks for your efforts so far sir!  Keep the wips coming!

 

Rob



#108 Ark Malmeida

Ark Malmeida

    Enthusiast

  • Silver Supporter
  • 147 posts

  • Flag: United States of America

  • Favorite Pinball: Cyclone, Star Wars (Data East)

  • 360 Gamer Tag: Ark Malmeida

Posted 05 February 2014 - 04:03 AM

wow that is just incredible! does it play or just render? wonder how the fps is in dx9 :)

That's what I'm wondering.  Hopefully with dx9 VP will be able to use the full power of our graphics cards in newer OS.

 

Absolutely amazing work!



#109 arngrim

arngrim

    DJ Force Feedback

  • VIP
  • 2,188 posts
  • Location:Charleroi, Belgium

  • Flag: Belgium

  • Favorite Pinball: Monster bash



Posted 05 February 2014 - 06:09 AM

Just WOW

#110 mukuste

mukuste

    Pinball Fan

  • VP Dev Team
  • PipPipPipPip
  • 854 posts

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

  • Favorite Pinball: Centaur

Posted 05 February 2014 - 07:30 AM

wow that is just incredible! does it play or just render? wonder how the fps is in dx9 :)

 

It's fully playable; I didn't touch any of the other subsystems (sound, input, scripting, I/O etc), so those Just Work. Just the framerate is still very bad because I didn't put any effort into optimization so far, but there's a lot of low-hanging fruit there.



#111 Slydog43

Slydog43

    Pinball Wizard

  • Platinum Supporter
  • 3,008 posts
  • Location:Hackettstown, NJ

  • Flag: United States of America

  • Favorite Pinball: Addams Family, All Williams 90's Games

Posted 05 February 2014 - 12:32 PM

omg, Wow I have thought that everytime I read this thread.  What would be your opinion on actually getting this to run smoothly?  better than 50/50?  Keep up the incredible work, Thanks from all of the VP community



#112 fuzzel

fuzzel

    spaghetti code

  • VP Dev Team
  • PipPipPipPipPip
  • 2,818 posts

  • Flag: Germany

  • Favorite Pinball: yes I have

Posted 05 February 2014 - 12:39 PM

We have to change the rendering from the FFP (Fixed Function Pipeline old DX7 based rendering) to a pixel/vertex shader based rendering. By using this we can parallelize the rendering process.


Edited by fuzzel, 05 February 2014 - 12:40 PM.


#113 toxie

toxie

    VPF Veteran

  • VP Dev Team
  • PipPipPipPipPipPip
  • 5,734 posts
  • Location:berlin, germany

  • Flag: Germany

  • Favorite Pinball: AFM

Posted 05 February 2014 - 01:40 PM

Plus optimizing all the draw calls/vertex formats/state changes/material changes/texture changes.

 

So far Mukuste did all the 'ugly' work by porting a lot of things to the new interfaces and getting rid of the old region update code by brute force rendering all the elements instead. But getting this fast, 'modern' (even DX9 allows for a lot of things that are not GPU friendly) and bugfree at the same time will be another major challenge in the end.



#114 bmiki75

bmiki75

    Enthusiast

  • VIP
  • 435 posts
  • Location:italy

  • Flag: Italy

  • Favorite Pinball: World Cup Soccer 94



Posted 05 February 2014 - 01:57 PM

Okay, those minor niggles have been fixed as well, I'd say we are getting pretty darn close here:

 

attachicon.gif2014-02-05 03_07_59-Visual Pinball Player.jpg

I can't belive!!!!! Fantastic !!!!!


Better to reign in hell than serse in heaven.
My recreation and Mod:
Posted ImagePosted Image Posted ImagePosted ImagePosted ImagePosted ImagePosted ImagePosted ImagePosted ImagePosted ImagePosted ImagePosted Image

#115 bent98

bent98

    Pinball Fan

  • Members
  • PipPipPipPip
  • 1,077 posts
  • Location:NY

  • Flag: United States of America

  • Favorite Pinball: Roadshow, Haunted House, Safe Cracker

Posted 05 February 2014 - 02:15 PM

Plus optimizing all the draw calls/vertex formats/state changes/material changes/texture changes.

 

So far Mukuste did all the 'ugly' work by porting a lot of things to the new interfaces and getting rid of the old region update code by brute force rendering all the elements instead. But getting this fast, 'modern' (even DX9 allows for a lot of things that are not GPU friendly) and bugfree at the same time will be another major challenge in the end.

 

I am hoping you guys go for max performance and not worry so much about capability. In the end if people need to recreate tables for DX9 Platform so be it. Ofcourse it would be great to have existing tables just work in the new version but we also need to move things forward and shouldn't be limited by legacy support.



#116 kruge99

kruge99

    Pinball Wizard

  • VPF Staff
  • 3,901 posts
  • Location:Markham, Ont.

  • Flag: Canada

  • Favorite Pinball: Black Knight, High Speed and Pin*Bot



Posted 05 February 2014 - 02:48 PM

Just a humble suggestion of naming this migration to DX9.  We might want to think a little bit ahead to the future, and save VP 10.x for an actual DX10 release.  Perhaps we could name the DX9 version something else?  I'm not thinking VP 9.3 or anything like that, but maybe we could take a queue from some of the MAC and Windows beta naming conventions?  Something like VP (name of a rather significant bridge or causeway) for example?  (we've only just begun heading down this road to DX9 and the light at the tunnel can now almost be seen rather than being a distant hope)  Since DX9 could potentially/eventually be a bridge to an OpenGL or DX10 renderer as I mentioned above.

 

 

Best Regards,

Todd.


[proud owner of a Williams Solar Fire]

- It's called "The American Dream" because you have to be asleep to believe it.
George Carlin
- Truly great madness cannot be achieved without significant intelligence.
Henrik Tikkanen
- "Reality check, Michelle, Talk about composure, Total lack of. He's a man-- About-- 12 Feet Tall--"
Carrie Kelly
Posted Image

#117 mukuste

mukuste

    Pinball Fan

  • VP Dev Team
  • PipPipPipPip
  • 854 posts

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

  • Favorite Pinball: Centaur

Posted 05 February 2014 - 03:22 PM

 

Plus optimizing all the draw calls/vertex formats/state changes/material changes/texture changes.

 

So far Mukuste did all the 'ugly' work by porting a lot of things to the new interfaces and getting rid of the old region update code by brute force rendering all the elements instead. But getting this fast, 'modern' (even DX9 allows for a lot of things that are not GPU friendly) and bugfree at the same time will be another major challenge in the end.

 

I am hoping you guys go for max performance and not worry so much about capability. In the end if people need to recreate tables for DX9 Platform so be it. Ofcourse it would be great to have existing tables just work in the new version but we also need to move things forward and shouldn't be limited by legacy support.

 

 

So far it seems that most elements can be ported quite easily without breaking compatibility. The obvious exceptions are cases where renderer bugs were exploited to achieve special effects; digging through some old threads, it seems that ramps together with Stereo 3D and/or tweaking the RO/RU flags sometimes were used to that effect? Is that still happening? Did the advent of flashers phase that out completely?

 

If someone could give me a brief overview of the "state of the art" of lighting in VP tables, that would be extremely useful. It seems to be a convoluted topic where people have invented many clever hacks.

 

If something comes up where we absolutely have to choose between compatibility and performance, then I agree that we should give priority to the latter.

 

 

Just a humble suggestion of naming this migration to DX9.  We might want to think a little bit ahead to the future, and save VP 10.x for an actual DX10 release.  Perhaps we could name the DX9 version something else?  I'm not thinking VP 9.3 or anything like that, but maybe we could take a queue from some of the MAC and Windows beta naming conventions?  Something like VP (name of a rather significant bridge or causeway) for example?  (we've only just begun heading down this road to DX9 and the light at the tunnel can now almost be seen rather than being a distant hope)  Since DX9 could potentially/eventually be a bridge to an OpenGL or DX10 renderer as I mentioned above.

 

 

Best Regards,

Todd.

 

There won't be a DX10 release, DX10 is basically obsolete since DX11 came out. Anyway, the features in DX9 will keep us happy for a LONG time, so I don't think we need to port to another graphics API anytime soon. So I still think VP10 is a good name. But if you want to suggest a catchy "VP: Subtitle", I'd love to hear it ;) Perhaps "Visual Pinball: The DX9 Edition: Electric Boogaloo" :P



#118 fuzzel

fuzzel

    spaghetti code

  • VP Dev Team
  • PipPipPipPipPip
  • 2,818 posts

  • Flag: Germany

  • Favorite Pinball: yes I have

Posted 05 February 2014 - 03:32 PM

The lighting in VP9 is realized with lightmaps and images. Since VP9.2.0 you can use lightmaps but normaly if you want to realize light you have to draw a lit version of the area of the table you want to be lit OR you use an alpha ramp with an alpha flare map. Correct lighting isn't possible in VP today because a lot of things are prerendered. I would suggest to not support VP9 tables in VP10(DX9) anymore. Instead VP10 should load VP9 tables but playing them shouldn't be a priority. We should clean up the player/editor and remove settings which came in to simulate effects we can do with shaders now.



#119 DJRobX

DJRobX

    Pinball Fan

  • VP Dev Team
  • PipPipPipPip
  • 941 posts
  • Location:Valencia, CA

  • Flag: United States of America

  • Favorite Pinball: F14 Tomcat

Posted 05 February 2014 - 03:58 PM


I am hoping you guys go for max performance and not worry so much about capability. In the end if people need to recreate tables for DX9 Platform so be it. Ofcourse it would be great to have existing tables just work in the new version but we also need to move things forward and shouldn't be limited by legacy support.

 

 

You don't necessarily have to sacrifice compatibility.   I would, however, expect to eventually see new "native" implementations of things (particularly around lighting) that blow away the old hacks that people were doing to achieve effects that hardware can now handle effortlessly.   



#120 arngrim

arngrim

    DJ Force Feedback

  • VIP
  • 2,188 posts
  • Location:Charleroi, Belgium

  • Flag: Belgium

  • Favorite Pinball: Monster bash



Posted 05 February 2014 - 04:35 PM

+1 for fuzzel, worst case we can have one executable for vp9 dx7 and another for vp10 dx9, it is not a problem for the frontend to have a call to a specific emulator version