There, this is better. Knew it had to be some minor thing.
I can really see that DX9 makes a big difference ![]()
Posted 27 January 2014 - 08:44 PM
There, this is better. Knew it had to be some minor thing.
I can really see that DX9 makes a big difference ![]()
Posted 27 January 2014 - 10:07 PM
what would you say are your chances for completing this huge task? I don't want to discourage you, but others have tried. I know its early, but you might have an idea if it is still possible, looks like your going gangbusters! Thanks
Right now I'm very optimistic that I will manage. I know the picture
must look disheartening to a non-developer, but I was actually very happy when I saw that. It proved to me that the initialization and render loop are working. Basically, the heavy lifting is done. From here on out, all that is left to do is to fix bugs, then re-enable the features that were disabled, and optimize. These are now all small, incremental things. We took the leap: we are in DX9 land now.
Basically, I know why most of the things in that screenshot look like that, and I know how to fix them. (Bar the weird flippers, but that's probably a simple index bug.) Another way to put it is that, if you look back at my little roadmap, we are in step 4 of 4 already.
Posted 28 January 2014 - 08:49 AM
Ok! Default table looks almost fine already:
2014-01-28 10_38_38-Visual Pinball Player.png 620.9KB
33 downloads
The only thing is that the ball is still white because textures aren't in yet.
I had to work around a problem here. In DX7, we used DrawIndexedPrimitiveVB, which takes its vertices from a vertex buffer, but its indices from a directly passed memory array. This call is not supported in DX9, there you always need to pass an index buffer if you pass a vertex buffer. So for now I set up an internal dynamic index buffer which is filled with the passed indices. This works but it's definitely not ideal, so in the long run we should convert such calls to use index buffers.
If you ever wondered, here is how LOTR looks without textures:
2014-01-28 10_40_47-Visual Pinball Player.png 338.13KB
28 downloads
One thing I can say for sure aleady is that the Nvidia Optimus issue is completely fixed with this DX9 port, I can now play with my GT 540M without issues, whereas before I got unusable framerates.
Posted 28 January 2014 - 09:11 AM
very cool..
and don't worry about the index buffers yet..
as all of the render calls need to be re-visited anyhow (some of the pre-rendered stuff didn't use vertex buffers yet, others have dozens of drawcalls), these are just details..
later-on we will have to worry more about state/materials changes and all this crap..
Posted 28 January 2014 - 10:54 AM
Dunno if this is a weird quesion or not , but this can mean the desktop & full screen renders can be no different now? We can get 3D objects to work with like FP?
Bump maps are the new auto-tune ![]()
VPX - RSS Updates ---- blog.flippingflips.xyz/en/ -- Visual Pinball No.1 (2021) . Est.2000
Posted 28 January 2014 - 11:49 AM
I'm only guessing here but I assume he means the fact that when a table is in desktop orientation, there is a greater sense of depth with regard to ramp heights, etc which may have given the impression that the engine was using a different rendering mode to achieve this.
Posted 28 January 2014 - 12:26 PM
actually there is no difference currently, and also won't be.. it's all just in the transformation matrix setup.. (something that has to change anyhow, especially if we want to get something similar to what BAM can do in FP)
the only thing that will change for sure, which is a real problem currently for DT vs FS, is the lighting via "real" light sources..
i already started this some time ago by making the default light sources of VP more configurable, but apparently nobody used that so far in real tables, but this is something that will need to be changed completely as its a mess as it is currently (light sources don't transform same as the table does if the default/legacy mode is used in VP, etc)..
also we need to move towards real materials and real lighting later-on, as this will give artists much more freedom and much less pain to get things looking "correct"..
but i'm now drifting away from the initial DX9 port work, sorry.. ![]()
Posted 28 January 2014 - 02:08 PM
he's working too fast, this is not normal

Posted 28 January 2014 - 02:34 PM
Posted 28 January 2014 - 06:58 PM
Sorry, what I meant was depending how some tables are made. Meaning some will not instantly work in a desktop view. Like the other editors, you can chop & change view without any issues.
I got my answer anyhow, which was no different. Getting confused by 3d render being thrown out there.
also we need to move towards real materials and real lighting later-on, as this will give artists much more freedom and much less pain to get things looking "correct"..
but i'm now drifting away from the initial DX9 port work, sorry..
Yes, lol. Same here, excuse me. But surely it lifts away some limitations you had before.
Edited by chepas, 28 January 2014 - 06:59 PM.
Bump maps are the new auto-tune ![]()
VPX - RSS Updates ---- blog.flippingflips.xyz/en/ -- Visual Pinball No.1 (2021) . Est.2000
Posted 28 January 2014 - 09:02 PM
wohooo! I really enjoy these "tech-renders" - the progress that's visible here is insane!
just to make sure I don't missunderstand anything here: those images are still "prerendered", right? it's not rendered in real time with a moveable camera, or is it?
(totally unrelated but I wish the pro-pinball devs would provide 1/10th of the updates of work in progress we get here over at their VIP forum! ;-) )
Posted 28 January 2014 - 09:29 PM
wohooo! I really enjoy these "tech-renders" - the progress that's visible here is insane!
just to make sure I don't missunderstand anything here: those images are still "prerendered", right? it's not rendered in real time with a moveable camera, or is it?
(totally unrelated but I wish the pro-pinball devs would provide 1/10th of the updates of work in progress we get here over at their VIP forum! ;-) )
Let me explain a bit. In the old engine, it was the case that the background was statically prerendered, and then all the movable items were also prerendered in various states of animation into little frames, which were during gameplay overlaid onto the background. So, basically everything you saw with very few exceptions (newer stuff like alpha ramps and primitives) were basically 2D images composited to look like a coherent 3D scene.
This approach doesn't transfer well to DX9, so in step 1 I changed most moving items (you can check the list) to render dynamically as true 3D objects in every frame. This is what you already see in the screenshots. However, the background and all static elements (walls, non-transparent ramps and so on) are still pre-rendered. In principle, it wouldn't be too difficult to make also these dynamic and have a movable camera. The big question mark here is performance. On the other hand, other games like FP and TPA also manage to do this stuff in full realtime, so I see no reason why it can't become a reality for VP in the future.
About Pro Pinball: I know, right? I also keep refreshing their Updates page, yet nothing happens....
Posted 29 January 2014 - 08:49 AM
Sorry guys, no updates from me today! Last night I just wanted to play some pinball instead of hacking on it for a change ![]()
And the next couple of days I'm on vacation with my girlfriend, so nothing will happen over the weekend. But I'm quite happy with the progress so far and will be eager to continue once I'm back!