Jump to content



Photo
* * * * * 12 votes

Dev thread: Road to DX9


  • Please log in to reply
2087 replies to this topic

#261 mukuste

mukuste

    Pinball Fan

  • VP Dev Team
  • PipPipPipPip
  • 854 posts

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

  • Favorite Pinball: Centaur

Posted 10 February 2014 - 08:01 AM

@JF: Ah I see, so it's actually possible to get AA while turning FXAA off, I wasn't aware of that. I wonder what AA technique the driver employs then; I would assume MSAA, but haven't found it explicitly confirmed anywhere so far.

 

MSAA is something we can enable quite simply in the engine itself, this can probably happen as soon as someone gets around to implementing a GUI option for it. FXAA needs a bit more work as it's shader-based, but should be doable without too much hassle too. So I hope that soon we won't need to force any settings from the NV Control Panel and can control everything directly from the VP settings.

 

In other news, I pushed out a compatibility fix for the flippers which, much like for lights, makes pure black flippers invisible. It's a simple hack (there we go again) but it actually seems to fix the SS flippers completely.


Edited by mukuste, 10 February 2014 - 08:03 AM.


#262 The Loafer

The Loafer

    Pinball Wizard

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

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

  • Favorite Pinball: Superman, Firepower & Tron



Posted 10 February 2014 - 11:35 AM

Wow Jimmy, I don't think I deserved this type of response but lets do a favor to mukuste and take this private and out of this awesome thread, ok? I would be more than happy to run whatever tests you want me to, i really don't think there is anything worth stressing about here fellow Canuck and I certainly was not talking down to you, sometimes people do miss posts in thread, it happens, that was my only reference. So apologies for the misunderstanding. I will reread the thread after work and will PM you whatever info you need.

Edited by The Loafer, 10 February 2014 - 11:36 AM.


#263 toxie

toxie

    VPF Veteran

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

  • Flag: Germany

  • Favorite Pinball: AFM

Posted 10 February 2014 - 02:39 PM

@JF: Ah I see, so it's actually possible to get AA while turning FXAA off, I wasn't aware of that. I wonder what AA technique the driver employs then; I would assume MSAA, but haven't found it explicitly confirmed anywhere so far.

 

MSAA is something we can enable quite simply in the engine itself, this can probably happen as soon as someone gets around to implementing a GUI option for it. FXAA needs a bit more work as it's shader-based, but should be doable without too much hassle too. So I hope that soon we won't need to force any settings from the NV Control Panel and can control everything directly from the VP settings.

 

builtin driver AA: the NVIDIA one has different modes actually, but most are MSAA based.

 

FXAA: i'll do a port of my software/CPU version (or a direct port from timothys public code) along with the stereo3D code as soon as you finished your initial work and your branch will go back into trunk (and we settled on some kind of postprocessing pipeline "design" ;)). cannot wait to have stereo3D working as shader, actually. this is something i wanted to have from day one when i implemented it into VP:)



#264 toxie

toxie

    VPF Veteran

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

  • Flag: Germany

  • Favorite Pinball: AFM

Posted 10 February 2014 - 02:57 PM

 

 

Just a little question how it work on Win 8 Tablet ? Touch screen is supported ?

I want to buy an asus t100 to play on tablet.

 

 

To be honest I don't know, but someone else reported problems with a tablet at this point. I don't have one myself, but I think at least one other dev does, so I'm confident the problems will be ironed out before long.

 

 

Indeed, i will take care of the tablet support as soon as we'll get the DX9 work by mukuste back into our main development repository (so when he thinks its ready from his side).



#265 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 10 February 2014 - 03:30 PM

What are the advantages to having stereo3d as a shader? Performance? Just curious as I love blowing peoples minds when looking at my cab with 3d turned on with shutter glasses.
What are the advantages to having stereo3d as a shader? Performance? Just curious as I love blowing peoples minds when looking at my cab with 3d turned on with shutter glasses.

#266 bent98

bent98

    Pinball Fan

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

  • Flag: United States of America

  • Favorite Pinball: Roadshow, Haunted House, Safe Cracker

Posted 10 February 2014 - 04:05 PM

Will having stereo 3d as a shader remove any of the current limitations on type of TV and orientation you currently have to use?



#267 toxie

toxie

    VPF Veteran

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

  • Flag: Germany

  • Favorite Pinball: AFM

Posted 10 February 2014 - 04:25 PM

@slydog: i don't wanna predict too much, but i would guess that given the simplicity of my implementation the impact to performance should be in the very very very low percentage range (< 1msec). Even with the CPU version, the main bottleneck was just transferrring the data from the GPU and back again (VERY expensive).

 

@bent: which limitations do you mean exactly? in principle it works with all 3D TVs (apart from the practical issues with active glasses/cannot be rotated that easily)..

one thing that will work better (in theory, at least i think this worked for a NVIDIA-only api in DX9) is, that i could switch the TV automatically into 3D mode which was not possible with DX7 (manual switch via remote necessary).


Edited by toxie, 10 February 2014 - 04:26 PM.


#268 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 10 February 2014 - 04:46 PM

no way, if you could switch tv into 3d mode, that would be awesome.  Its kinda of a pain right now with my samsung, I have to select 3d mode then hit accept to pick correct orientation.  Not sure how this could be done via software though (Is that what your talking about?)  



#269 toxie

toxie

    VPF Veteran

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

  • Flag: Germany

  • Favorite Pinball: AFM

Posted 10 February 2014 - 04:58 PM

Its definetly possible as this is what blu-ray players, xbox360, ps3, etcetc can also do (of course only if you have the correct HDMI cables, etc, otherwise you're bound to the half-frame legacy as it is now), and i thought i saw this functionality somewhere in NVAPI back then when i implemented the software version, but couldn't use it because of DX7 being not supported..

 

EDIT: after a quick recheck, it's actually not completely clear if this only would work with the special NVIDIA specific shutter glasses solutions or with any 3D capable TV/monitor.. we'll find out soon, i guess.. ;)


Edited by toxie, 10 February 2014 - 05:33 PM.


#270 unclewilly

unclewilly

    sofa king.....

  • VIP
  • 5,173 posts
  • Location:Baltimore, Maryland

  • Flag: United States of America

  • Favorite Pinball: tz, tom, big hurt, who dunnit



Posted 10 February 2014 - 08:15 PM

So what is the next step in this process after this tech test version.

Will you continue with the render engine and wait till the 2 del branches are combined to fix bugs and optomize.

Interested in the roadmap

"it will all be ok in the end, if it's not ok, it's not the end"
 
Monster Bash VP10 WIP https://dl.dropboxus... (vpx)WIP15.vpx

uw2.gif


#271 fuzzel

fuzzel

    spaghetti code

  • VP Dev Team
  • PipPipPipPipPip
  • 2,818 posts

  • Flag: Germany

  • Favorite Pinball: yes I have

Posted 10 February 2014 - 09:43 PM

Our plan is to release a 9.2.1 asap. After that we try to migrate VP over to DX9 based on Mukuste's work. I don't know if we can maintain compatibility with VP9 tables but if that works out as expected we try to make a final VP9.3 version until we move over developing a fresh VP10 where we'll definitely break compatibility ;)



#272 DJRobX

DJRobX

    Pinball Fan

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

  • Flag: United States of America

  • Favorite Pinball: F14 Tomcat

Posted 10 February 2014 - 09:51 PM

Nope, I think I mentioned it earlier but let me re-iterate it, the flipper response on my PC is improved on the more demanding tables (which incidentally are the more popular ones eheh)

I think this is related to the VSync flipper accuracy issue.   I noticed a similar effect on many tables after I switched my cab from Win7 to WinXP.   Tables that looked smooth before, now play much better.    I can just make more shots than I used to be able to, even if it doesn't look much different.   I have no doubts that the hugely improved framerates in the DX9 version will do the same thing.

 

 

Our plan is to release a 9.2.1 asap. After that we try to migrate VP over to DX9 based on Mukuste's work. I don't know if we can maintain compatibility with VP9 tables but if that works out as expected we try to make a final VP9.3 version until we move over developing a fresh VP10 where we'll definitely break compatibility ;)
That sounds like a great plan.   I don't expect VP9 - DX9 (9.3) to be 100% backwards compatible.    For problem tables that use a lot of emreels or whatnot, people can always run an older VP version if that feature can't be brought in.   It just seems like the vast majority of tables (even complex ones like UW's MB) are so close to working perfect, it would be best to honor all of the man hours that authors put into the their VP9 tables with the best performing / most hardware-friendly VP9 possible.   

Edited by DJRobX, 10 February 2014 - 10:03 PM.


#273 BANZAIDROP

BANZAIDROP

    Neophyte

  • Members
  • Pip
  • 2 posts
  • Location:Germany

  • Flag: Germany

  • Favorite Pinball: SCARED STIFF

Posted 11 February 2014 - 12:27 AM

Thanks for all the time and effort you are all putting in this - it's much appreciated :)

 

I wondered since there are some issues with full screen mode at the moment - is it possible to add a proper video/screen option to VP?

 

I am using a 3-monitor-setup and I would love to use my first screen for the desktop but VP doesn't allow me to choose the second screen in my

cabinet in order to display the PF.

 

MAME has a great working display/screen options menu where you can choose the display and proper settings, I would love to see this in VP

so I don't have to switch my desktop everytime to play my cabinet while using my PC for other things properly.

 

180px-MAME_Properties_Screen.png

 

Also, would it be possible to add a borderless "fake" fullscreen like PC games are offering these days?

 

Keep up the great work :)



#274 mukuste

mukuste

    Pinball Fan

  • VP Dev Team
  • PipPipPipPip
  • 854 posts

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

  • Favorite Pinball: Centaur

Posted 11 February 2014 - 12:36 AM

Today I implemented image EM reels (text EM reels don't work yet, but I don't know any real table where they are used). This fixes the score display on many EM tables, as well as some special effects like the Spider Wheel on SS.


Thanks for all the time and effort you are all putting in this - it's much appreciated :)

 

I wondered since there are some issues with full screen mode at the moment - is it possible to add a proper video/screen option to VP?

 

I am using a 3-monitor-setup and I would love to use my first screen for the desktop but VP doesn't allow me to choose the second screen in my

cabinet in order to display the PF.

 

MAME has a great working display/screen options menu where you can choose the display and proper settings, I would love to see this in VP

so I don't have to switch my desktop everytime to play my cabinet while using my PC for other things properly.

 

 

Also, would it be possible to add a borderless "fake" fullscreen like PC games are offering these days?

 

Keep up the great work :)

 

The first thing can probably easily be done by choosing a different display adapter. I already built that variable into the setup code, someone just needs to build a GUI around it.

 

Second, yes, it was my plan to do borderless/windowed fullscreen next. I think this should allow fullscreen play but circumvent all the nasty compatibility problems with VPM/maybe also db2s. Again, this should probably be simple to implement but needs a new GUI switch.



#275 jimmyfingers

jimmyfingers

    Pinball Fan

  • VIP
  • 832 posts

  • Flag: Canada

  • Favorite Pinball: Comet



Posted 11 February 2014 - 01:13 AM

@mukuste - One thing that I think might need to be considered about the full screen borderless is that it will probably need to be able to utilize the same code for the ball stretch / anti-stretch options that, in the current VP, only works with real full screen.  Without this, the ball will get stretched asymmetrically for most FS tables as that was a nuance of using the layback feature with the tricks it seems to do for the perspective and the resulting effects on the table sizing requirements to squeeze / stretch back to fill the screen appropriately.  The anti-stretch code was added to specifically address this problem.

 

I've also noticed that on this build, like on the current (and past) VP versions, that if you set to window mode in the video preferences to any resolution, you can actually then go into the registry and change the resolution it saved to be that of your actual full screen dimensions and it will produce a windowed full screen mode.  A caveat of this is that you can not go back into the video preferences afterward and save anything as it will over-write this fully acknowledged hack ;) 

 

Also I believe a warning on this hack might be warranted as I think that saving a table when this was done could cause undesirable results loading on subsequent attempts and / or corruption (would need to confirm again and may not be the case anymore with so many changes and updates to VP since I first witnessed a corrupted table after saving in this mode)


Edited by jimmyfingers, 11 February 2014 - 01:19 AM.


#276 mukuste

mukuste

    Pinball Fan

  • VP Dev Team
  • PipPipPipPip
  • 854 posts

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

  • Favorite Pinball: Centaur

Posted 11 February 2014 - 07:20 AM

Good to know, I'll keep an eye on that anti-stretch code.

 

Ah, so there's already a way to get windowed fullscreen by editing the registry. A separate user option will still disable the window border etc, so should be a bit cleaner.

 

The result of saving a table should definitely never depend on the video mode you have currently chosen. If it does, that's a major bug. If you can still reproduce this, please post how.



#277 freezy

freezy

    Member title

  • Members
  • PipPipPipPip
  • 685 posts

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

  • Favorite Pinball: T2, TOM, AFM

Posted 11 February 2014 - 07:42 AM

I've recently implemented VP's table save routine in JS by debugging through the VP code (so I can automatically manipulate the scripts), and I'm pretty sure that there's nothing about any resolution setting in there...



#278 jimmyfingers

jimmyfingers

    Pinball Fan

  • VIP
  • 832 posts

  • Flag: Canada

  • Favorite Pinball: Comet



Posted 11 February 2014 - 08:14 PM

The result of saving a table should definitely never depend on the video mode you have currently chosen. If it does, that's a major bug. If you can still reproduce this, please post how.

I'll do some research and let you know.  It could have also been hampered by me using, at the time, a 360 rotated / oriented full screen table with a portrait mode Windows screen rotation (a couple years back now).



#279 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 12 February 2014 - 02:49 PM

wow after playing for more tables with this test build, I'm just blown away.  Its so much smoother than 9.21 with Win7x64.  Ball microstutter is all but gone!  Any progress as to why you have to disable B2S.Server on most tables in order to run.  I would use this as my default player if I didn't have to modify all my tables (which I'm not going to do), since most of my tables are B2S.Server driven.

 

Are there going to be any more updates to this test build?

 

Thanks for such incredible work!



#280 mukuste

mukuste

    Pinball Fan

  • VP Dev Team
  • PipPipPipPip
  • 854 posts

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

  • Favorite Pinball: Centaur

Posted 12 February 2014 - 03:15 PM

I'll probably release a second test version pretty soon. It will include many extra optimizations as well as some fixes to hopefully fix most of the rendering glitches on VP9 tables. The one feature which I still want to implement before I push that out is windowed fullscreen, which looks like fullscreen but otherwise behaves like windowed mode. This should fix all the compatibility troubles with VPM (and, perhaps, db2s, although I haven't tested this -- anyone tried db2s in windowed mode? If that works, chances are good) at the cost of a bit of performance. If that test goes as swimmingly as the first one, we might be looking at an official VP9-with-DX9 release (whatever the actual version number will be then) relatively soon.

 

I cannot, however, promise total compatibility with all VP9 tables, some glitches may remain. Especially the layered lights trick used for fading lights and GI is still giving me a headache.