
NOT PVX, but still very cool
We just wanted to put out a note about what PapervisionX really is and what it isn’t. There’s been some emails on the list lately talking about it, and we’d rather not leave it up to guessing etc about what it really is and if it’s available etc.
CS4 Branch is not PapervisionX
Ok first things first: the CS4 branch never was PapervisionX. It simply included a renderer that used some of the features of the Flash 10 API. That’s all. The core engine is still very PV2.0 and it was just a sort of testing ground really. It wasn’t meant for production or any type of official release at all. Just merely getting our feet wet. It was, however, encouraging to see people trying it out and getting somewhat excited. That definitely helps motivate the team to see excitement like that!
PapervisionX – what it is
PapervisionX is the next version of Papervision3D built from the ground up based on Flash10′s new 3D api. Ralph and Tim are leading the initial efforts on the core of the engine at the time of this writing (3.16.2009).
We’re going to be handling some things differently with PVX. For starters, no more “beta” titles. We’ll be using dot versioning and will be flushing out a milestone roadmap with features married to those revision numbers. Also, we’re going to be focusing a great deal of energy and effort on our processes. We’re very aware of some of the issues that have been created in 2.0 at various times which caused the engine to be unstable. We’ll be making every effort to keep those times to a minimum in PVX.
PapervisionX – why ?
Flash 10 added a set of native 3D features to the 3D engine. To optimally use them, PapervisionX will be a rearchitectured (from the ground up) version of Papervision3D. This way we can retain the API as much as possible, while taking full advantage of the 3D features of Flash Player 10. This will be mostly beneficial in the areas of quality, speed and file size. To do this, certain parts of the engine needed to be rebuilt, which in turn was enough incentive to have a good look at the entire engine architecture. During this effort we also look at rearchitecturing the engine in other area’s, to make it more flexible (for future Flash Players) and allowing us to use newer Flash technologies, like Adobe Alchemy.
What about PV2.0?
We’re not leaving 2.0 behind just yet. There are still features and changes to the engine we’d like to make and it seems that this version of the engine will largely be the most used for quite some time until FP10′s adoption rate is up to where it needs to be. We’ve also talked about porting certain features and rewrites from PVX to PV2.0. Until the rest of the team can actually work on their features for PVX, we’ll be focusing on 2.0 issues list and features.
When is PVX due out? When can we play??
PVX is still in the early stages of development. Focus, right now, is on the core architecture. We dont have a date right now. However, we’re all aware of how much people want to try it out/test/blog/use for production, and we’re also determined to keep to a schedule. So, while we can’t give any dates right now, we can say that you will see more updates and progress as we go along so you’re not in the dark and wondering. As soon as we have dates that we feel we can meet and hold to, we’ll post them immediately.
Thanks all for your patience and help – PVX is going to be one of the best offerings yet for Flash 3D and I think it’ll blow your socks right off
March 16, 2009 at 7:02 pm |
awesome. thanks as always guys
March 16, 2009 at 7:11 pm |
Can’t wait to see how fast it is! But I will wait patiently – you guys are legends for giving up so much of your time and giving us so much.
Thanks
:):)
March 16, 2009 at 7:33 pm |
Wow, I can’t wait. Keep up the great work guys, it is really appreciated!
March 16, 2009 at 7:37 pm |
That’s a great news. Keep on good work guys!
)
March 16, 2009 at 7:41 pm |
Sounds great…. I’m mega-eager to get my hands on it. Go Ralph and Tim (and everybody else involved ofcourse)
March 16, 2009 at 7:53 pm |
tahts really great news but I’m no patient man
March 16, 2009 at 9:18 pm |
Thanks for this post neoriley, hope i didnt cause to much trouble
Oh and ‘The NOT PVX, but still very cool’ you can find at: http://www.flashbookmarks.com/demos/dofdemo2/
March 16, 2009 at 9:19 pm |
yes, my socks are blowing off just reading this
anyway…
I’m wondering how papervision “competitors” are (or are not) implementing those kind of improvements you’re doing in pvx.
recently (since the release of player 10) we saw guys from alternativa or away3d announcing and even releasing improvements to better fit player 10′s apis. at the contrary you’re refactoring and rearchitecting the whole engine.
does this mean pv3d has been build upon a bad core (and in this case will pv3d projects run on a pvx lib?)? or competitors are just “getting their feet wet” as you did with cs4 branch?
March 16, 2009 at 9:43 pm |
@Piergiorgio –
Pv3D certainly doesn’t have a bad core currently – but due to the player restrictions, it was not feasible to build the engine the same way it is being structured for 10. With the native math classes, we are able to use an engine that has a more traditional structure – and it simply made more sense to redo rather than retrofit to get the most gain from the new classes available in FP10.
March 16, 2009 at 9:47 pm |
Piergiorgio Niero : Ralph here.
Although I can’t say anything about Alternativa3D (since they are closed source), or tell you about the future of Away3D flash 10 branch, I can tell you a bit about our path and why.
The Papervision3D 2.0 core is perfectly stable, and good. It actually would be possible to just take that and implement a subset of the Flash Player 10 features. The CS4 branch is something like that, although that’s a try, rather then a full implementation.
The reasoning of why Papervision X gets a new core is not because our 2.0 core is not stable, or no good. It is because for this specific version we want full Flash 10 integration. That means using the built in Vector, Matrix3D, Vector3D, graphics paths, PerspectiveProjection, ProjectionUtils…the whole thing. This is where I can tell you with 100% certainty that our approach is different then the Flash 10 branch features Away3D currently supports. Instead of sticking to using our own matrices and vertex classes, we actually use the speedier Flash 10 classes, by default (a Flash 9 version of PapervisionX is more then feasible at this point). It’s good to note that both approaches come with their own pro’s and cons.
Our pro’s are easy. We gain an overall performance increase and file size decrease because of this approach, since we can now use many built in features. The downside is that many classes need to be re-written to support the oddities of the Flash Player 10 3D / Drawing API subset. Because of the implications this brings with it, we are also providing an API to easily change and maintain this different data structure.
Since this means I’ve been re-writing large portions of the core, I’ve opted to do some extra work here and there. Easy memory clean up, faster data structures. Looking into the mystic and far away future we also want to be able to easily support future versions of the Flash Player with this core. So a lot of abstraction is now in the core. In the past (AS2, for instance) we really had to squeeze out every possible piece of performance in the core, which resulted in less abstraction and a faster engine. In PapervisionX, the drawing API is clearly the bottleneck. This means that in the core I’ve taken some liberties to sacrifice tiny portions of performance in favor of a more flexible architecture.
The resulting flexibility allows you to take the scenegraph data structure, and render it completely using Alchemy, or Haxe, if one would like. Or a FlashPlayer 11 version, if you like. That extra layer of abstraction is added now we know what the current Flash Player 10 looks like and how much it differs from doing it in Flash Player 9. This also gives us a good insight in where the engine could be more flexible and that’s what’s added in PapervisionX.
A good thing to note is that we are rearchitecting the core architecture. Most of the time, as an end-developer, you never see this part of the engine (although we certainly hope that in this new version, people will create their own renderers, etc.).
For most of the API we target to have it remain either exactly the same or easier, where possible. The current state of PapervisionX API is that it’s incredibly similar to Papervision 2.0, although improved in some areas (less data classes, more flexibility).
Hope that answers your questions.
March 16, 2009 at 10:09 pm |
I think that leaves in clear so much things about the PapervisionX unitzeroone , Looks like You have lots of work in your hands good luck and keep Papervision Rocking
March 16, 2009 at 11:00 pm |
Excellent news guys! Andy, Ralph, Tim and the rest of the PV3D team, you guys are awesome! Can’t wait to get my hands on PVX and start blogging about it.
March 17, 2009 at 12:25 am |
Haven’t finished digesting PV2, but hte changes outlined here will certainly make something good even better. Still, a brand new engine is a bit of a concern, requiring separate development tracks when PVX is available for production. Kudos for your time and dedication.
Chuck Brooks
FutureWare SCG
March 17, 2009 at 9:32 am |
great news guys! I guess all of us have been waiting for this! :]
March 17, 2009 at 10:09 am |
Well here is to hoping that this can open the door to proper 3D gaming via Flash. Sure Papervision2 can run it, but getting something smooth and solid when it gets large is very difficult.
March 17, 2009 at 11:10 am |
[...] a comment » Yesterday I came across this very interesting article: PapervisionX : what it is and what it is not. In this article the guys from the Papervision crew explain what this new version is and why they [...]
March 17, 2009 at 2:36 pm |
thanx Ralph and Andy for the further explanation.
i can’t wait to take a look to your code, your argument on abstraction is very interesting and i’m really curious to see it in practice
moreover you said 2 magic words: alchemy and haxe… yes, pvx will be niiiiice
ps: one of my socks has already blown off
March 17, 2009 at 2:39 pm |
Thanks PV3D Team memeber,You are Best!
March 17, 2009 at 3:04 pm |
It’s a great thing that Papervision will be rebuilt from scratch – but I’d also love to see an official Flash 10 optimized version, which is compatible to the trunk. This way you could easily switch between them to target either Flash 9 or Flash 10 players.
March 17, 2009 at 7:11 pm |
@hs: that actually is part of the plan for PVX – to run on FP9 or FP10, but I’d have to let talk about that a bit more. I just know it’s on his list.
March 17, 2009 at 10:04 pm |
[...] tiny bit too early for this project. I know that the wonderful team of PV is working hard to bring it to full Flash10 support which might be the [...]
March 18, 2009 at 4:57 am |
Can wait’t pv3d X,you rocks guys,
its gonna be interesting if the pv3dX can reach the performance power like 3D ROXIK Engine which still show the great performance on flash player 9 and consume a low cpu processing.
March 18, 2009 at 6:38 am |
[...] 2009 at 6:45 pm and is filed under 2.0, PVX. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site. (0) [...]
March 18, 2009 at 6:50 am |
This real sounds mind-(and socks)-blowing.
Will PVX get a totaly new way on how to setup a Project for instance how to work with Materials (load, assign, stacking) or how to set lights and objects?
I’m glad I dig myself deep enough into PV3D 2.0 to realize some Ideas and am a bit nervous to lear a new structure for PVX (what I certainly will do simply due the performance-reason)
March 18, 2009 at 1:30 pm |
[...] is being developed to use all the latest features available. For more info click the link below.PapervisionX – what it is and what it isn’t « Papervision3D Share and [...]
March 18, 2009 at 2:12 pm |
@neoriley: Thats great, it’s just that I thought about a more intermediate solution. We have a couple of 3d-projects starting the next weeks and some of them are already approved to support Flash 10. Our developers are used to Papervision, but to gain benefit from Flash 10, we will have to switch to away3d or alternativa.
If we had the choice, we would rather stick with Papervision.
March 18, 2009 at 3:26 pm |
[...] the technology. Amongst which there will be one appliance for the future version of Papervision3D, PapervisionX. No Comments, Comment or [...]
March 18, 2009 at 4:57 pm |
Our hope and plan is to keep the api as similar/same as possible. With the restructure and addition of new features, I’m sure we’ll have some changes. But I would expect someone coming over from 2.0 to be able to get into PVX with a very minimal learning curve.
It wouldn’t be some much about re-learning as it might be about “oh, you do that over THERE… ok, that makes more sense anyway” type of thing
March 18, 2009 at 8:56 pm |
pvx is the only way of working now!
P.S. nice blog, thanks!
March 18, 2009 at 11:17 pm |
My only hope is that PVX resolves some Z-fighting issues.
But… gives us something to look forward to!
March 19, 2009 at 12:23 am |
[...] PapervisionX – what it is and what it isn’t We just wanted to put out a note about what PapervisionX really is and what it isn’t. There’s been some [...] [...]
March 19, 2009 at 6:54 am |
It’s not about the api – I was just concerned about the missing availability of Papervision for Flash 10 in the next weeks or even months – that’s all
March 19, 2009 at 11:48 am |
Great!
Can’t wait and I’m impatient to “trash” all my old experiment and restart it again, improving and getting them better!
Personally, I ask a good Documentation… before the public release of PVX maybe, why not?
curiosity: PapaervisionX will be the official name?
March 19, 2009 at 6:54 pm |
Thanks for the super-clear post. It’s so nice when an open source project keeps everyone in the loop.
March 20, 2009 at 1:42 am |
검쉰의 생각…
PapervisionX라…. ㅎㅎ 원문은 여기…
March 20, 2009 at 4:58 pm |
[...] > PapervisionX – what it is and what it isn’t « Papervision3D [...]
March 21, 2009 at 1:50 am |
[...] PapervisionX – what it is and what it isn’t [...]
March 21, 2009 at 10:32 am |
[...] A few days ago the papervision crew anouced a new version of papervision. They are building it from the bottom up and utalizing the new 3D engine in flash player 10. I am really looking forward to this because it will probably be allot faster than the current version. Read more.. [...]
March 21, 2009 at 10:41 am |
Probably too much of an open question, but, any particular parts of flash player 10 AS3 that we should be swotting up on?
March 23, 2009 at 1:32 pm |
can i say before the end of this year?
March 23, 2009 at 2:43 pm |
I dont know if someone asked it before ( im lazy too read all the posts )..
Will the Papervision 2.0 functions change in pvx? I mean, should we change our code if wed like to port a previous work, or just change the engine?
March 24, 2009 at 3:28 am |
[...] major limitations because the 3D acceleration is done by software rather than by hardware. However a new version of Papervision3D is beeing developed, based on the new Flash Player 10 API, which includes hardware acceleration, and the posibility of [...]
March 25, 2009 at 10:45 pm |
What if I want to use PVX with my socks still on?
March 26, 2009 at 1:29 pm |
Looking forward to the speed tests of PVX.
Really glad you’re going back to the core to do a good job of the engine. I just hope you don’t lose a few followers in the process.
March 27, 2009 at 11:18 am |
Great news. And when magical PVX with all its (to be learned) features is out and on the road, we get offered a series of seminars and courses we can pay for. It all sounds (again) a bit too much of self-promoting.
March 31, 2009 at 4:04 am |
[...] In future I’ll be posting more demos of the technology. Amongst which there will be one appliance for the future version of Papervision3D, PapervisionX. [...]
March 31, 2009 at 7:41 pm |
[...] Tagged flash http://blog.papervision3d.org/2009/03/16/papervisionx-what-it-is-and-what-it-isnt/ [...]
April 5, 2009 at 2:46 pm |
As if vectors didn’t add enough now we’ve got Alchemy! Woo!
Bernd Keller: Are you having a laugh? Thousands of lines of documented code for free, and you crying about paying to be taught how to use it properly?
Get a grip.
April 5, 2009 at 8:40 pm |
This sounds very exciting
You say it will use alchemy, but I am curious as to what capacity it will be used in. From what I have seen ‘marshalling’ in alchemy, that is passing data over the as3/c barrier, is known to be very slow.
Say you used c for culling algorithms, and then passed to resulting vectors and indicies over to as3 to make use of projectVectors() or drawTriangles(), do you expect this to give a significant increase in performance over optimized as3? Remember it has to be done once every frame.. or perhaps you are using it in some other way?
April 9, 2009 at 11:02 pm |
Looking forward to this… although I’m running low on socks.
May 13, 2009 at 7:23 pm |
[...] PapervisionX rewritten to take advantage of Flash Player 10’s new drawing API and built-in classes. [...]
June 11, 2009 at 2:21 pm |
June 13, 2009 at 1:23 am |
I bow to you sir! Thanks for all the hard work and dedication.
July 8, 2009 at 6:45 pm |
Awesome news guys! A big thanks for taking the time to develop this.
@Bernd Keller – you’ve got to be kidding me. You’re on the pv3d blog, presumably to read about what’s happening with pv3d, but you’re complaining about the dev team announcing that they will be spending more of their own free time to completely rewrite this engine so that we can all benefit from the advances in the flash player – wtf is wrong with you!!??
August 8, 2009 at 9:01 am |
it’s since march that we have no news about PVX … the project is still alive?
but most important, when we can see some demo and get the code to play aroud?
August 15, 2009 at 2:09 am |
Who needs Papervision X or otherwise anyway?
Write your own 3D engine.
August 15, 2009 at 3:11 am |
AS3 for Flash Player 10 provides the foundation stone for writing one’s own 3D framework. See Chapter 23:
http://help.adobe.com/en_US/ActionScript/3.0_ProgrammingAS3/flash_as3_programming.pdf
August 29, 2009 at 3:26 pm |
[...] by far the best choice, and with the new 3D API for Flash Player 10 and the recently announced PapervisionX project in the works, it still has great potential to be an amazing platform for 3D games. Possibly [...]
October 4, 2009 at 1:18 am |
To Carls:, but I was dissapointed to flash 10. because it’s only add Matrix3D, Vector3D, drawTriangles and so on… after their propaganda. But you are right, for real a coder we don’t need Papervision, Away 3D or else… But it’is good to have comparisons…
Look also Elemental3D and Five3D,
Is PapervisionX realy will be released?.
October 5, 2009 at 11:32 am |
Hmmm, still no update on papervisionX?
October 7, 2009 at 6:28 pm |
Nope. PapervisionX brand has been dropped and we’re discussing next steps currently. But we *are* moving forward, so you should hear some news rather soon. Whatever we do, it’ll be out in the open so you’ll know where we’re at just as much as we do
October 8, 2009 at 8:10 pm |
To mi_kuncoro,
while flash 10 provides only Matrix3D, Vector3D and drawTriangles, etc. these provide fundamental functions (with high performance) on top of which one can write a 3D framework. They constitute the Flash equivalent of the OpenGL api (from a structural point of view). But like OpenGL one would only code in such if one were writing a 3D framework such as Papervision, Away3D etc. Or doing a lightweight work that doesn’t need one.
Carl
October 14, 2009 at 4:28 pm |
[...] en mars dernier, la nouvelle version de Papervision3D (baptisée provisoirement PapervisionX) a enfin été annoncée officiellement : Papervision3D is Shifting Gears. Il s’agira donc de [...]
March 5, 2010 at 10:19 pm |
Looking forward to it. I hope the Alchemy project will keep growing (hello Adobe), the bytecode is faster than “normal” Flash bytecode.
March 16, 2010 at 2:54 am |
when released the new version, papervision X ?