- View New Content
-
Getting Started
-
Tutorials
Tutorial Categories
Tutorials Main Page Installation and Setup Downloadable TutorialsROM Adjustments
Number of Balls Adjustments Volume Adjustments
-
Visual Pinball Tables
VP 8 Desktop Tables
All VPM Recreations VP Recreations VP/VPM MODs VP Originals ROMsVP 9 Desktop Tables
All VPM Recreations VP Recreations VP/VPM MODs VP Originals ROMsVP9 Cabinet Tables
All Full Screen Cabinet Full Screen B2S Cabinet Spanned Cabinet Tables Media Packs ROMsVPX Tables
All VPinMAME Recreations VPX- - /VPinMAME - MOD Tables VPX Recreations VPX Originals Media Packs ROMs VR
-
Frontend Media & Backglass
Media Packs
Complete Media Packs Wheel Logos VideosBackglasses
dB2S Animated Backglasses UVP Animated Backglasses Topper Images
- Future Pinball Tables
-
Design Resources
Main Resources
Table Templates Playfield Images Image Library Sound Library Key CodesVP Guides
VP8 Guide - English VP8 Guide - Deutsch VP9 Guide - English VP9.1.x Guide - English VP Object Guide VPM DocumentationFuture Pinball Resources
Playfield Images 3D Model LibraryFuture Pinball Guides
FP Script Guide Big Draco Script Guide FP Table Design Guide FP DMD Guide
- Other Features
- Bug Tracker
- Image Gallery
- Blogs
- More
Dev thread: Road to DX9
Started By
mukuste
, Jan 24 2014 11:24 AM
2087 replies to this topic
#1581
Posted 25 March 2014 - 09:49 PM
I guess I need to play with that.
Just wanted to say thanks again for the work on this. The dx9 test 11 is working really sweet with my mb update
Just wanted to say thanks again for the work on this. The dx9 test 11 is working really sweet with my mb update
"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
#1582
Posted 25 March 2014 - 09:50 PM
I've been watching this thread for some time, and I have what may be a silly question: When this is ready for an official release, will it completely REPLACE the DX7 version of VP on our cabs? Or will we have to use the DX7 version on tables that haven't been updated to run on the DX9 version? If I'm skipping way ahead, feel free to punch me.
Also I'd like to add that the progress being made day-by-day to get VP to DX9 is amazing to watch. Many thanks to mukuste and all that are involved.
I wish I knew more about programming and debugging and could offer some help, but I'm just a simple hack.
It will take some weeks to finalize the first DX9 version so be patient And yes the DX9 version will replace the DX7 version once it is released but you can already try the latest DX9 version. The majority of tables play fine with it but there are some quirks here and there on some tables.
#1583
Posted 25 March 2014 - 10:28 PM
I've been watching this thread for some time, and I have what may be a silly question: When this is ready for an official release, will it completely REPLACE the DX7 version of VP on our cabs? Or will we have to use the DX7 version on tables that haven't been updated to run on the DX9 version? If I'm skipping way ahead, feel free to punch me.
The intent is yes, that it should replace DX7. There are some very minor differences here and there (which is truly an amazing feat by Mukuste, given how radically different the back-end is). The glitches we see remaining are often more appropriate to fix on the tables themselves given the amount of effort it would require to duplicate the DX7 version's qurks. There will be a period where table authors will fix these things, so you may want to keep DX7 handy for a while even after the release. T2 Chrome edition is a good example of a table that the Dx9 port will likely not run 100% properly unless Tipoto makes adjustments to it (it requires a very exacting environment, even in DX7).
I've already made the Dx9 port the my main VP player. You have to look really hard to spot the problems at this point, the increased smoothness is worth it compared to graphical issues that pop up.
#1584
Posted 25 March 2014 - 11:13 PM
Interesting - Mine is not set to invisible. Both it, and RIghtEjectHole are set to "KickerCup" in the version of the table that I have.
Well that would explain it! I have the 1.2 FS mod, so as far as I know I'm up to date and will disregard this glitch until proven otherwise. It may be Z fighting between the kicker "lid" and the light.
#1585
Posted 25 March 2014 - 11:25 PM
Well that would explain it! I have the 1.2 FS mod, so as far as I know I'm up to date and will disregard this glitch until proven otherwise. It may be Z fighting between the kicker "lid" and the light.
Works for me. There's a good chance this code would change with an eventual fix to the "kicker cuts ball in half" problem anyhow.
Edited by DJRobX, 26 March 2014 - 01:01 AM.
#1588
Posted 26 March 2014 - 02:56 AM
LOVING the new version in every way!
question - is there a common location to find the latest releases? or something I should search the forum for to find it quickly?
searching for Download VP9_DX9 returns 0 results...
Thanks!
Just go to the first page of this thread and the new dx9 tests are there
#1590
Posted 26 March 2014 - 04:22 AM
Just would like to say that the gfx glitch in four million bc is fixed in test12a
Sent from my iPad using Tapatalk HD
Sent from my iPad using Tapatalk HD
Cabinet Bally Radical - setup 40'' Sony Led for playfield, 32''Led LG for Backglass, LCD screen for DMD, running LEDwiz32 12v setup with DOF and boosterboard to power toys 2x Siemens contactors for flipper feedback -2e audiocard + subwoofer setup to emulate VP flippersounds and vibration in cab (sounds fantastic) 1x red police light flasher.Lots of 5050 RGB Ledstrips bottom,back,top. 1x HUD-G for digital nudge all
Check my Visual Pinball cabinet highscores: HERE
#1591
Posted 26 March 2014 - 09:15 AM
Download VP9_DX9_test13 here:
VP9_DX9_test13.zip 679.22KB
331 downloads
Important: instead of fullscreen mode, run in "windowed fullscreen" mode.
If you get flicker, please disable 4xMSAA.
Try the frame limiter, e.g. at 120 fps, for smoother gameplay!
Table compatibility spreadsheet (thanks to gtxjoe): https://docs.google....EPwri8/viewform
We've built up a nice list of bugfixes, so I think it's time to get a new version out!
Changes since Test12:
- fixed bug introduced in Test12 where solid ramps were not transparent if the texture used an alpha channel
- light maps from "Enable lighting" now only apply to the top part of walls; this fixes ugly dark streaks on many billboard walls, e.g., Roadshow.
- the case where multiple overlapping lights all change state in the same frame is now handled properly (thanks to DJRobX for the idea and initial code). Should fix Monopoly, skillshot on LW3, and others.
- fixed collision bug on WCS'94 and possibly others due to degenerate triangles
Known general issues:
*) textboxes don't work
*) EM reels only work in Image Reel mode, not Text Reel
*) text decals don't work
*) kickers cut the ball in half
*) Stereo 3D only works on NVIDIA so far
*) AA hardwired to 4xMSAA, flickers
*) textures aren't preloaded, can lead to stutter in some cases
*) screen shake doesn't work
*) adaptive vsync always falls back to normal vsync (can only be supported if we drop XP)
*) stereo3D parameters are different
*) "real" full screen mode doesn't work with VPM/B2S. Instead, use "Windowed fullscreen" mode.
*) lost devices aren't handled properly (real fullscreen issue only)
Known specific table issues:
https://docs.google....p=sharing#gid=0
Happy testing!
#1592
Posted 26 March 2014 - 09:28 AM
You mean the Z scale option in the layback settings. This feature came with 9.2.1 and it's main purpose is to add depth to already released tablesNo, on top of the layback settings. For MB for instance, I keep all angle + layback values, and just slightly change the z to 1.1 or a bit more.
It helps to make the objects "pop" from the screen.
It's such an easy change that I'm wondering why we don't see it in recent releases.
Can someone explain how to do this please?
Sent from my HTC_PN071 using Tapatalk
#1593
Posted 26 March 2014 - 10:16 AM
I've added a list of issues to the SVN repository which I consider essential to be fixed before the official DX9 release. (I might have forgotten something, let me know if I did.) I'll also post it here so that people can get an idea how far off we are:
- fix textboxes
- fix text reels
- fix text decals
- fix kickers cutting the ball in half
- add video option for "Max prerendered frames" (currently hardcoded to 2)
- add checkbox to use software vertex processing (fixes rendering on some Intel chipsets)
- disable MSAA until we fix the flickering
- improve GUI for vsync/frame limiting (very unintuitive right now)
- remove true fullscreen options completely?
- change registry key to be distinct from DX7 versions?
- nice to have: multi-monitor support; but probably later
Most of these are small things. Let this also be a challenge to all devs to focus on these blockers so that the official DX9 version of VP can become a reality!
#1594
Posted 26 March 2014 - 10:41 AM
Wow . Not much left to do.
Then we'll be full swing on vp10
Outstanding work.
Thanks to all the devs
Wow . Not much left to do.
Then we'll be full swing on vp10
Outstanding work.
Thanks to all the devs
Then we'll be full swing on vp10
Outstanding work.
Thanks to all the devs
Wow . Not much left to do.
Then we'll be full swing on vp10
Outstanding work.
Thanks to all the devs
"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
#1595
Posted 26 March 2014 - 11:19 AM
You mean the Z scale option in the layback settings. This feature came with 9.2.1 and it's main purpose is to add depth to already released tablesNo, on top of the layback settings. For MB for instance, I keep all angle + layback values, and just slightly change the z to 1.1 or a bit more.
It helps to make the objects "pop" from the screen.
It's such an easy change that I'm wondering why we don't see it in recent releases.
Can someone explain how to do this please?
Sent from my HTC_PN071 using Tapatalk
Open table, click backdrop-button on lefthand menu, change z scale to 1,1 or 1,2.
Edited by JohnnyDoe, 26 March 2014 - 11:32 AM.
#1598
Posted 26 March 2014 - 03:10 PM
Reviewing the code for the triggered lights...
m_alreadyAddedLights.clear(); for (unsigned i = 0; i < m_triggeredLights.size(); ++i) { Hitable * cur = m_triggeredLights[i]; if (m_alreadyAddedLights.find(cur) == m_alreadyAddedLights.end()) // not yet added? { m_vLights.push_back(cur); m_alreadyAddedLights.insert(cur); }
I don't think this is going to work 100%. You want the most recently changed lights at the end. The "only once" code here will prevent the order from being preserved completely, because it will only put a light at the end of the vector the first time it's triggered, we want to move only the LAST instance of a triggered light.
Consider if I code stacked lights like this:
A2 off
A1 on
A1 off
A2 on
The top light should now be A2. This code will put A1 on top, because it already moved A2 once.
The second implementation that I posted changes the vector to a list, and simply moves the light to the end of the list each time it's triggered. I added indexing so it should be very fast, you don't need to re-search or re-sort the light vector each frame.
Edited by DJRobX, 26 March 2014 - 03:12 PM.
#1599
Posted 26 March 2014 - 04:02 PM
Reviewing the code for the triggered lights...
m_alreadyAddedLights.clear(); for (unsigned i = 0; i < m_triggeredLights.size(); ++i) { Hitable * cur = m_triggeredLights[i]; if (m_alreadyAddedLights.find(cur) == m_alreadyAddedLights.end()) // not yet added? { m_vLights.push_back(cur); m_alreadyAddedLights.insert(cur); }I don't think this is going to work 100%. You want the most recently changed lights at the end. The "only once" code here will prevent the order from being preserved completely, because it will only put a light at the end of the vector the first time it's triggered, we want to move only the LAST instance of a triggered light.
This is true. It only fails if the same light is triggered multiple times though, which I don't think happens very often. I haven't had time to test this solution thoroughly; how does it work on the known problem cases?
A simple fix would be, I think, to process the vector from the back, only adding the last triggered light? The order has to be reversed of course.
I'm wary of lists since I don't know how much dynamic allocation they incur, something I like to avoid as much as possible, and since they're bad for cache locality. Also, changing to a list would have made it necessary to change multiple places, whereas I could localize this fix to the one place where the lights are reordered.
#1600
Posted 26 March 2014 - 07:33 PM
Hi and thanks for a great job !
Trying Test13 on AbraCaDabra_B2S_2.0.0, I'm getting a script error "access denied" line 1078 just when pressing START. This is new to Test13 (at least from Test11).
The VPM tables I tried (Taxi and CFTBL) played well. I wonder however if the ball isn't a bit more "nervous" - I wouldn't call it stutter.....??
Thanks again !
I will be moving back to Test11 again - which plays all tables I've tried really well.
46", 32", PinDMD2-Vishay DMD, MK MSI Z87-G43 ATX Motherboard, Intel Core i7 4770K 3,5 GHz Processor, 16GB, ASUS GTX760 for the Playfield, ASUS GT610 for the Backglass (driver 334.89), Intel 530 SSD 240GB, Windows 7 x64, VirtuaPin Digital Plunger Kit. VP 9.9.0a and PinballX 1.84