Daniel Lehenbauer - Demo of Avalon 3D
- Posted: Jan 04, 2005 at 6:52 PM
- 316,449 Views
- 71 Comments
Loading User Information from Channel 9
Something went wrong getting user information from Channel 9
Loading User Information from MSDN
Something went wrong getting user information from MSDN
Loading Visual Studio Achievements
Something went wrong getting the Visual Studio Achievements
Right click “Save as…”
Comments have been closed since this content was published more than 30 days ago, but if you'd like to continue the conversation,
please create a new thread in our Forums,
or
Contact Us and let us know.
Follow the Discussion
Oops, something didn't work.
What does this mean?
Following an item on Channel 9 allows you to watch for new content and comments that you are interested in. You need to be signed in to Channel 9 to use this feature.What does this mean?
Following an item on Channel 9 allows you to watch for new content and comments that you are interested in and view them all on your notifications page.sign up for email notifications?
I was originally looking forward to Avalon, now, after seeing this, I'm not so impressed and am not looking forward to the new MFC nightmarish hell that Avalon is going to be.
Avalon also looks to me to be very limiting; you can do what it says on the 'box' but no more. If it isn't supported in this version either hack it or wait for the next release and cross your fingers...
His blog's address, which we all should be visiting (?) was never shown in the video.
I'm sure there's a good reason, I'd just like to know.
http://blogs.msdn.com/danlehen/
*Subscribes to feed*
And what a nice chap ...
http://msdn.microsoft.com/Longhorn/productinfo/conceptvid/default.aspx
view ports, cameras & lighting, I supose all 3D systems are alike
http://www.alice.org/
http://www.alice.org/Alice_movies/
also
http://www.opencroquet.org/About_Croquet/about.html
http://www.opencroquet.org/About_Croquet/screenshots.html
http://www.opencroquet.org/About_Croquet/userguide.html
These two stem from or are associated with
http://www.squeak.org/features/graphics.html
anyway....thats a very interesting technology, let see what happens in the real world!!
OK, short of licencing something from Autodesk, Microsoft isn't going to come up with a 3D editor for Avalon 3D developers, but I've yet to see a visual designer for 2D XAML forms. In fact I've yet to see anyone type XAML code in an editor that provides help with tag and attribute names. Now I see why Microsoft keeps delaying all these products - the demos all look cool, but there's so much more work to be done before they're useful. Meanwhile all the talk about XAML and Avalon puts people off developing Windows Forms code.
Do you see what I'm getting at here? It's vital that the development environment supports component useage and it's nice if the environment includes some powerful components on top of the usual buttons and list boxes, but the presence of those components only makes the user instantly productive at one thing - the thing the components were designed for. For example, those Whidbey components might let you put together an Outlook line interface in 20 lines, but what if you now want to write a travel reservations app? Those components help you little if at all - you're back to writing thousands of lines of code.
<Viewport3D>
<Viewport3D.Camera>
<PerspectiveCamera ... />
</Viewport3D.Camera>
</Viewport3D>
roughly translates to:
Viewport3D vp = new Viewport3D();
PerspectiveCamera camera = new PerspectiveCamera();
vp.Camera = camera;
If Xaml had intrinsic knowledge about Avalon we could make <Camera> mean "reference the Viewport3D's camera property" instead of "create a new object of type Camera". However, one of the design goals of Xaml is to be a general declarative programming language for wiring up .NET objects, not Avalon specifically.
(NOTE: If the author of the property type provides a TypeConverter that can convert from string, you can use the shorter form <Foo Bar="Baz" />. This is how <BrushMaterial Brush="Red" /> works. The Brush type provides a TypeConverter that can convert the string "Red" into an instance of a Brush. However, representing objects as a string is not always practical.)
Most of us tool guys (read: devs over in Visual Studio) are still working on getting Whidbey out the door. Not to say that we're not working on tools or the Avalon guys don't have special stuff in the works, just that the people that brought you the Winforms designer and such are working on Visual Studio 2005 at this very moment.
I'm sure that future versions of Visual Studio will be Avalon friendly AT LEAST for 2D.
NOTE: The speculative statement above is based on no internal knowledge of any ongoing or future project. I'm making a guess using the same information available to the public.
Great vid, as always.
Thanks Kosher, the Interviewer was Longhorn Evangelist Karsten Januszewski, by the way.
I hope that the excitement around Avalon is not detracting from Windows Forms. It's a bit of a balancing act. On one hand, we want to be open and transparent with developers about the exciting new things in Avalon. On the other, windows Forms is a great platform for writing client apps with a long life ahead of it. It is important to remember that Avalon has not yet reached Beta 1. Hopefully we have been clear in messaging to our customers that if they are writing a client application today they should be targreting Windows Forms and that the investment they make will translate well to Avalon if they choose to migrate in the future.
Interesting comment on "you can do X in just Y lines of code" demos. Hopefully it was clear that even though I was using an XML markup language I was still coding against the low level graphics primitives from the Media3D namespace.
The programming seems easy enough that they could make an easy WYSIWYG program for it. It would save some code writing time, and make it easy to import graphics from the graphics person I use to import her graphics.
Thanks Dan, for the explaination. Another question: Is there a XAML parser that consumes XAML source & execute statements on the fly, or is there a XAML compiler that converts XAML source to a .NET assembly? If the latter, couldn't you use reflection to check for the "Camera" property, so you wouldn't have to specify <Viewport3D.Camera> ? But perhaps the syntax is there for consistency & simplicity.
We did experiment with compiling Xaml directly to IL, but it turned out that the perf difference between Baml and IL were negligible and Baml has the advantage of being more compact and able to be consumed asynchronously.
Have a look at System.Windows.Serialization.Parser. It parses XAML or BAML (binary XAML) on the fly and turns it into an in-memory object graph (and vice versa).
As for using reflection to find the Camera property how would they know to look for a property named "Camera" if you didn't specify it???
HTH,
Drew
Sorry if this question is well documented somewhere. Is there a migration plan from Windows Forms to Avalon for those of us that want it? i.e. Is there someway we can add say an Avalon 3D ViewPort to an existing Winforms app? I would love to be able to replace my flowchart control with a nicely rendered Avalon 3D version later on.
Yes, you can cross host. Avalon content can be hosted in WinForms (via ElementHost), GDI+ content can be hosted in Avalon (via HwndVisual), a windows form control can be hosted in Avalon (via WindowsFormsHost) and any Win32 Window can be hosted in Avalon (via HwndHost). There are performance hits for doing one or the other, but since MS isn't even @ beta with Avalon yet it's hard to know what exactly the cost will be.
Read all about it here.
HTH,
Drew
Of course the tool wont be complete or very useful until I can get my hands on a build of the Avalon SDK, but I can get the basic app done soon.
-Eric
I meant in terms of mapping the <Camera> element to the Camera property of the Viewport3D object instead of using the syntax <Viewport3D.Camera>. I thought the explanation was that the Viewport3D prefix needed to be specified to signifiy Camera being a property of Viewport3D (maybe I got that wrong). I just like the clean-ness of <Viewport3D><Camera><...>. But that's from a total XAML newbie's stand point.
What will it be? Let's take a look at advances made with 3D interfaces today:
Microsoft TaskGallery - Project Looking Glass - Browse3D - 3D Navigator
These are interesting, but do not seem to bring any advancements that 2D equivilants cannot compare with. For example, Browse3D introduces a useful Exposé-like method of looking at the browser history, but it is still represented in a 2D format, like its OS X counterpart. The concepts for implementing 3D used in these applications do not seem to be gaining popularity or enhance productivity.
That's a nice change, but overall it's evolutionary and not revolutionary. This will increase the attractiveness of the interface, but will not directly increase productivity. There is no overwhelming reason to begin writing applications that have a 3D interface.
Interesting. Basically, that's what I do for XCG. The difference is that for XCG, the behaviour of something lile <Viewport> or <Camera> would be determined by its parent. These elements (which are called Generating Elements in XCG) have several default actions, but the parent is free to do with them as they choose. In the case of a <gen:Class>, it will treat its children as field defenitions of the type, just like XAML does for <Viewport>. However, the generating element will then look at its children, and assume them to be property references, and use reflection to look them up. There are some additional concerns here for collection type children and referencing base class properties, some of which still need to be addressed. (Note that the latest code on the site is out of date, and many of the things I've mentioned here aren't in there yet).
One of the things I'm doing purposely is trying to know as little as possible about XAML. XCG is meant more as a learning tool for me than something real people might use in a real situation, and one of the interesting things is to test the "great minds think alike theory". In other words, will I come up with the same solution to certain problems as the XAML team?
Already we see that it is not always the case.
I'm thinking back to the days when VRML started to come in. Sites became 3D storefronts along side 3D streets. The interface was much more interesting, but terribly more inefficient than the then-current 2D UI.
And I think that how it will be. An evolution instead of revolution. Our monitors are still 2D devices afterall. Whatever 3D we throw at it is still faux 3D. People are just to ingrain w/ 2D on monitors to accept anything truly revolutionary, I think.
And if you ask me, I think this is what the brain trust at MS is asking themselves also. How to make Avalon a must have. I don't know. Maybe just to accept Longhorn as the next Windows & go with that.
If that was the case it would be a shame to concentrate on Avalon instead of WinFS which already has a killer app: to provide a unified way of sharing information between applications. This is incredibly useful as the more applications we can use to work with our data, or even program our own applications to work with that data, the more control and capabilities we have. The concept of the "application" disappears and is replaced by the notion of what "tool" we want to use to work with our data, we can start tying together data the way the term "multimedia" described working with sound, still graphics, and videos in computer programs.
Avalon on the other hand is a solution looking for a problem. Perhaps Microsoft have something up their sleeves here but if that's the case, nobody is in on Microsoft's vision, and we can't make that happen. I just picture people using 3D as if it was their first time using filters in Photoshop, adding a lens flare and plasticizing everything in sight!
In any case it was wise for Microsoft to support Avalon on Windows XP, application developers do not have to worry about supporting both a Windows.Forms and Avalon interface, if they do find a way to use 3D in their mainstream applications.
The keywords here are visibility and demand.
Visibility: The best way to garner interest in a product is to give your target audience something really good to look at. Avalon is/was a perfect medium for getting developers, designers, and (eventually) consumers to start looking at the technologies they are working on. You could say Avalon is Microsoft's "buckshot" technology.
Demand: Some of the biggest voices in the developer community are those of us who work on commercial software. Our target is consumers. If our app doesn't look as good as our nearest competitor's product we might as well be writing open source software. I get excited when Microsoft shows me they're going to make it easier for us to make some pretty sweet interfaces. (Hey, don't blame me. Consumers make the rules.)
That said...
Like you, I'm really looking forward to the new messaging/communication layer (Indigo.) I think it's the best thing coming. Of course, I'm a big Don Box fan, so I that may be a biased opinion.
There must be something so complex about WinFS. It's been a twinkle in Bill Gates eyes for, what, a decade now? My guess is it's not a technical issue, but how to maximize ROI & how it'd affect other products. Hell, if I can turn any folder into a SQL database, who'd buy SQL server?
Anderson & Box
'Twas the year before Longhorn, when all through the land
Not a demo was given, not even one canned;
The windows were stacked on each edge with such care
In hopes that some user soon would be there;
The coders were nestled all snug by their desks,
While visions of ship-parties danced in their heads;
And Chris with his pixels, and I with my SOAP,
Had just failed to integrate despite our best hope,
When out from the build lab there arose such a clatter,
I sprang from my desk as working sets grew fatter.
The queries against my old data did hang,
And XAML-based markup from each window rang,
The startup time of our new OS must be fixed
As it seems as if running a 286
When, what to my wondering eyes should they see,
But a leadership team, with eight tiny VP,
With a little old driver, so lively and trim,
I knew in a moment it must be St. Jim.
More rapid than eagles his coursers they came,
And he whistled, and shouted, and called them by name;
"Now, William! now, Eric! now, BrianV and Jonesey!
On, BobMu! on PaulFle, on, Soma and JoePE!
To the tech previews march! to the betas install!
Now ship away! ship away! ship away all!"
As bug counts that before the testers they fly
When they meet with a DCR, mount to the sky,
So up to the ship date the VPs they flew,
With the Windows so shiney, and St. Jim was too.
And then, with a reorg, there came such a hum,
The prancing and pawing of each newly coined PUM.
As I checked in my code, and was running my suites,
A new ship date, St. Jim, says we all now must meet.
He had scenarios, experiences, and use cases few,
For the home user, aye, but MBAs too;
A bundle of features he had thrown off the list,
Just the basics, my boy, lest our ship date get missed.
His eyes -- how they twinkled! his dimples how merry!
And SteveB was pleased with our revenues less airy!
With heads down we code on our features now prime
To WinFS, yes, but perhaps not this time.
With St. Jim now confident with this release,
The rank and file coders may now code in peace.
As VPs now focus on Blackcomb and beyond,
Of Longhorn, St. Jim, remains oh so fond.
And I heard him exclaim, ere he drove out of sight,
"Happy Longhorn to all, and to all a good-night."
you know? you know?
lord ...
To add Avalon support to Windows XP (and XAML support to VS2005) you need to download the WinFX SDK. However, the SDK is not available to the public - meaning you require an MSDN Subscription of some sort.
It weighs in quite at a decent ~260MB, but I'm sure someone could upload it to you if you supplied some sort of FTP details - if someone were so inclined.
<Viewport3D>
<.Camera>
<PerspectiveCamera ... />
</.Camera>
</Viewport3D>
The . implies it's a property of Viewport3D (or the first matching object in the hierarchy that has the Camera property> and not a new object.
Does that make sense?
On the subject of xaml interfaces:
I'm assuming that at some point we are going to see a set of standardised 3d form controls (textboxes, list boxes, etc) for use within Avalon.
This video was great for showing a rather low level way to plot 3d primitives point by point, but most app developers will want to use much more abstract commands to set the interface.
I think xaml will really shine when we can see how easy it is to build slick, 3d styled interfaces with a minimum of camera plotting needed.
And a thought, how about making xaml forms backwards compatible with asp.net forms?
Something we didn't get a chance to explore in this 20-min slot is that in the CTP build the Viewport3D element works inside of VisualStyles. This means that you can author a style that replaces the appearance of all instances of, say, <Button /> with a Viewport3D rending a Model3D that looks like, for example, a toggle switch. You can even respond to PropertyTriggers so that the toggle switch animates to a flipped state on mouse down.
The best part is that only the appearance is replaced. You are still coding against an instance of a Button class so the code to handle the clicked event, etc. stays the same.
There is a lot more to Avalon than the 3D features we were demonstrating in this segment. Avalon is a new client platform being built by the Windows OS team. I happen to be part of the group delivering the new hardware accelerated graphics, animation, and composition features for this platfom and as such tend to focus on the sizzle and wow factor, but there is much more to Avalon. Avalon adds Xaml, a new Control heirarchy with rich styling and layout features, a new application model with navagation framework, new input, automation and data services, and much more.
However it is important not to confuse Avalon with the next generation Windows user experience (Aero). Avalon is a development platform targeted at addressing a set of very pragmatic problems faced by Windows developers. Avalon is not attempting to be a paradigm shift in the fundamental ways that humans interact with computers, although it does enable some very cool opportunities for developers to experiment with altenative UI systems.
The scenarios that motivated us to build 3D features into the platform were primarily to add subtle 3D transitions and effects to primarily 2D content and data visualization. There are other scenarios as well, such as a parts catalog where the user can freely rotate the parts to attempt to find a match with the component they are physically holding in their hand.
I had the same question the first time I saw this also.
Prepending the type name solves another problem for us. Avalon's property engine allows one type to attach a property to another. (Drew has a nice post on this topic.) Potentially multiple types could attach a property with the same name. Explicitly specifying the type of the owner disambiguates.
If I remember correctly, there is also an issue with starting an XML element name with a dot.
Depth-of-field is inherent to camera models with lens of finite aperture, in computer graphics the most commonly used camera model is the pinhole camera, where the lens is supposed to be infinitely small.
Post filtering algorithms suffer from intensity leakage, and algorithms that solve those problems are currently slow, especially for large amounts of depth-blur.The pinhole camera model produces images that are in sharp focus in any distance from the viewer. This can be a desired feature (e.g. for technical visualizations), but often a more realistic 3D image including depth-of-field is required.
The solution may be in pointbased graphics - an algorithm enabling fast depth-of-field rendering for point-based objects.
Anyway I could talk about this stuff all night. Avalon is still in its infancy, who knows what its capabilities may hold.
<ViewPort3D>
<Camera .../>
<Controls>
<Panel .../>
<Button .../>
</Controls>
</ViewPort3D>
?
The addition of 3D features to the user interface so far has been demonstrated in a very superficial manner. It's true that you can dazzle clients with trinkets and baubles, but in the end they will be taking your business because of the product's practical application. There are many examples of excellent looking and useful application interfaces in Windows XP. Media Player, Office, and WinAMP, are examples of various stylish and functional interfaces possible with Windows XP, although it's clear that they have had to go beyond a normal implementation for creating a user interface.
I see, that makes a lot more sense. I'm glad to learn that the emphasis is on usability and not a lot of 3D controls haphazardly combined to create an application.
It's definitely important to have these guidelines in place to provide a consistant interface.
For now the same results would be obtained with a streaming video of the object, or perhaps QuickTime 3D but would presumably not achieve the desired results, especially when trying to target the lowest common denominator. Will Avalon's 3D component face the same challenges?
But this brings up another point, it will definitely be useful in presentation software and will probably provide an avenue for MS to deliver new features in PowerPoint (as with Apple's Keynote).
Text mapping?
What kind of effects on text will be available? Extrusion, animation, etc?
This looks quite good if MS can provide all that!
Bill Gates screwed up again. But this time, he wasn't alone. Such a shame for such a financially wealthy company. You guys need to get more quailty in your products for 7.1 Billion a year in R&D
Bill Gates touts 'digital lifestyle,' despite technical bugs
You have good applications, but you guys new a new Operating System. You were always an applications company, not an OS company. Don't like Linux? Contribute to the development and use the new and improved Linux kernel on Longhorn, eh? Mac has freeware Darwin BSD as it's kernel. Your NT-based stuff doesn't work anymore for the new age. Get over it. Sucks less than DOS, but still sucks!
Also, why defining a perspectivecamera within the viewport3d.camera. why not use elements within the camera itself to specify these settings. would this suggest there could be more than one camera?!? or just MS likes to use single tag elements. <flamebait />.
EDIT: just saw the movie. the main idea is clear... single tag to create just using the constructor. and elements, my guess would be, are accessors.
bah.
It's obvious that you're not a developer, otherwise you would never choose the linux development and config hell over the powerful, user-friendly and well-integrated windows development experience!
I sometimes have to administer and configure Linux servers for my job, and NOT FOR 7.1 BILLION US DOLLAR I would want to trade my windows OS for linux!!! (yes, I mean that) Linux is so unproductive, you can't even install a graphical UI on a server (well you CAN install the nightmare called X, but it's very strongly advised NOT to do so (yeah, they even tell you that in the OS manuals!), as you probably know). Even if you are the nr. 1 linux guru in the world, you can never compete with a Windows Server admin that has a whole scale of graphical admin-, monitoring, and development tools at his disposal.
And btw, Microsoft has very high-quality products! I don't know what planet you are from, but just compare the MS apps with open source alternatives for example... yeah it's just pityful: I looked at so many open source projects in my life, but few, VERY few, meet the quality of Microsoft's commercial applications. Just face it, 99% of open source / linux projects never get completed to a point where you would use the application on a day-to-day basis and can depend on, and their user interfaces (if you can even call them that way) are extremely UGLY and unintuitive! Microsoft applications on the contrary are used by millions of people every second of the day, and they get their work done, and very quickly because of the user-friendly and well-designed GUI's.
I guess you could say that WinFS isn't taking a backseat to Avalon because WinFS isn't even allowed to get in the car and was sent back to it's room for another couple years.
I'm looking forward to Indigo but WinFS was the "pillar" of Longhorn I was looking forward to most.
Is there an editor on it's way for creating XAML windows? That would be even better, since learning all the tags can be a bit of a hassle.
I doubt WinFS has taken a backseat at all.
I think the requirements for WinFS were shifted, hence a recalculation of the actual schedule has occured.
Here is a what I take to be a hint as to one of the reasons, but not the only reason why WinFS is being delayed.
I think some of you might find what is mentioned in this article interesting as well (RE: WinOE).
The demo makes me say that its Yet another Macromedia Flash MX. Haha, BUT I know its not!
I liked it a LOT. So everything is written in XAML.
How can one remember so many XML tags and design an UI. Drag and Drop wud b great.
It wud have been gr8 if the demo has shown us some C# code used to handle simple events like button click.
Overall, I will b starting apps in avalon asap !!
Good Luck MicroSoft,
Srinivas.
I keep seeing interesting Avalon samples displayed in demos, but no corresponding source. Is the 3D app showing Xbox titles available and if not, why?
But the final result look cool.
Stephan
Not at all. It's going to be as flexible as WinForms is now. If using NotePad threw you off, it's only because they haven't finished the designer yet. I don't imagine NotePad being the main development tool.
I have yet to program into a 3D application, maybe this program will spur me on.
(thumbs up)
From an XML point of view, that is the obvious way to do it.
Perhaps some examples of where it doesn't work?
Douglas
Does that make sense?
And finally I have evidence to show to my users why even Microsoft still uses SOME CRTs. Why do I get the feeling Daniel brought in the second and third monitor?
Great insights, I feel like the bleeding edge is within reach - much closer than before anyway.
Thanks again.
LOL, obviously YOU have never coded in any other language than VB... Have you ever tried to compile VB on a machine other than MS Windows?!
Btw, please, tell everyone how MS Windows 2003 is just that much better a server than Linux, please do... Tell everyone how MS Windows 2003 is just that much more secure than Linux to run a huge server that cannot have any downtime, ever... I guess that's why the majority of Internet servers that make up the Internet backbone run Linux. Yeah. They must all be insane or something or haven't been enlightened by the quality OS Gates has to offer with 0 downtime and 0 security issues. Btw, why would ANYONE want a GUI on their server? It's just a bunch of more compromisable apps to be exploited and gives hackers a great GUI to do whatever they want on your PC remotely.
Have you ever heard of a little piece of software called Apache? What about Eclipse? These are only TWO open-source products that happent to be used by millions of people around the world. And guess what... Yup, most of the Internet sites you access are actually running on Apache web servers. Man, are you REALLY a developer? If so, please tell us where you studied so we can warn everyone NOT to study there.
What? What planet are YOU from? MS may make nice and easy to use apps. But they are far from perfect. The worst of all (prior to MS Windows 2000) was the MS OS called MS Windows. Guess why MS decided to ditch the WinX architecture after so many years of suffering instead of fixing the blasted thing? Must be because it was such a high quality product. Yeah. You're right again. Maybe you were born yesterday or maybe you just started using computers yesterday. But there was another MS OS we had to suffer with prior to MS Windows XP and that was DOS, Windows 1.x-3.x and Windows 9x. None which merit any qualifier near "high quality".
Now, if you go back to school or decide to educate yourself a little more in the IT field, you'll discover that:
a) MAC has the best looking and easier to use GUI and PC cases,
b) MS makes good WYSIWYG IDEs and office suites and, now, some cool PC accessories,
c) Games are more widely availible on MS Windows PCs because most of the people that have PCs use MS Windows, mostly because of a long history of MS Windows installations by PC resellers (a great marketing scheme actually, one that made Gates the richest man on Earth),
d) Linux or it's cousin FreeBSD is the OS of choice for running a server because of it's long history as a network-capable OS and the features that entails: security, huge developer community, open-source initiative and extremely fast development cycles,
e) Each programming language has it's advantages and disadvantages (that's why it's up to coders to choose the language that best fits the problem at hand) - VB being the language of choice for GUI-based apps targeted to MS Windows users (duh, it was invented by MS for MS Windows!), just like Cocoa Objective-C is for MAC OSX and C/C++ with the GTK (for Gnome) or the QT (for KDE) for Linux,
f) Linux and FreeBSD are free! The price you pay is a little more learning on your part and patience and skill,
g) Back to the subject of this thread, Avalon looks cool, even I, a Linux desktop/server user and mainly Java developer, am impressed. Even though XML automatically doubles the amount of code in a program (thanks to open and close tags) no matter what MS developers try to tell you, it seems simple to use and I like the fact that it sits atop .NET, thus blurring the line between rich-client and thin-client apps, all the while enhancing the user's GUI experience. If MS was wise (or maybe just friendlier business-wise), they could release it (and obviously some .NET stuff) for Linux and MAC OSX and be able to have everyone coding multiplatform apps with their language and paying royalties to use those frameworks. But, alas, MS wants everyone to use MS Windows, so I doubt they'll do that. I'll still find a copy of MS Windows somewhere to play with Avalon and .NET. And who knows... Maybe the people at MONO will eventually get an open-source openGL equivalent to the Avalon API... If you were really a developer, you would know by now that you should keep on open mind to always choose the best solution to every IT problem. And, unfortunatly, it doesn't always involve Microsoft.
Just my 2 cents.
Yeah, hehe, I was having Macromedia Flex flashbacks too... Maybe they were "inspired" by Flex. Anyway, MS a background in software development user base as where Macromedia has a graphic designer user base... But Avalon has 3D rendering and Flex does not... So... I guess the scales are tilt in MS's favour on this one. =)
It seems nobody's responded to you yet. Odd. Look around Microsoft (an MSDN download so popular it made the main Downloads page) Downloads for the Avalon November 2004 CTP.
And, on the video, no offense, but, y'ow, y'ow, y'ow, y'ow, y'ow...
You seem to be really green behind your ears, because I checked your profile, and all the replies you ever made on Channel 9 are just trolling and bitching about Microsoft!!!
Stop acting like a kid, you obviously have too much time on your hands.
Although your post contains some valid points (especially the "unfortunately, it doesn't always involve Microsoft"), I have no time to reply to it now. Maybe I will later on, but you know the saying "time is money" and that's one of main reasons why Windows is actually cheaper than Linux or *BSD in lots of cases.
I'm currently busy with a 4th year project at the university of the freestate - south Africa. The project involves implementing avalon CTP with visual studio 2005 C#. I watched the video where Daniel Lehenbauer gave a presentation of some code that produces a 3d rectangle using <Viewport3D>. You've also probably seen the video.
My problem is that I type in the exact same code presented in the video and all i get is a blank white screen. My windows xp style is blue, so that won't affect it. There are no errors. The project compiles properly. Could it perhaps be my graphics card (Geforce 2 MX 200 OEM)?
One more thing. The problem above occurs when I don't animate the rectangle. However when I type the code word for word to animate the rectangle (as presented in the video) I get some strange error saying: "Unexpected PropertyComplexStart record in BAML stream. Baml stream may be corrupt." I've installed all the software in the right order and formatted my pc about a million times.
Could someone lpease help me on this one, as i'm really excited about what features Avalon CTP could bring to my application.
<Window x:Class="AvalonApplication1.Window1"
xmlns="http://schemas.microsoft.com/winfx/avalon/2005"
xmlns:x="http://schemas.microsoft.com/winfx/xaml/2005"
Text="AvalonApplication1"
>
<Viewport3D>
<Viewport3D.Camera>
<PerspectiveCamera Position="0,0,5" Up="0,1,0" LookAtPoint="0,0,0" FieldOfView="45"></PerspectiveCamera>
</Viewport3D.Camera>
<Viewport3D.Models>
<AmbientLight Color="White"></AmbientLight>
<GeometryModel3D>
<GeometryModel3D.Material>
<BrushMaterial Brush="Red"/>
</GeometryModel3D.Material>
<GeometryModel3D.Geometry>
<MeshGeometry3D
Positions="-1,1,0 1,1,0 1,-1,0 -1,-1,0"
TriangleIndices="0 1 2 0 2 3">
</MeshGeometry3D>
</GeometryModel3D.Geometry>
</GeometryModel3D>
</Viewport3D.Models>
</Viewport3D>
</Window>
---
I did try to do the animation however the box would display and not move. No errors occured however there was 1 warning:
The element 'Viewport3D' in namespace 'http://schemas.microsoft.com/winfx/avalon/2005' has invalid child element 'Viewport3D.Camera' in namespace 'http://schemas.microsoft.com/winfx/avalon/2005'. Expected 'Viewport3D.Opacity, Viewport3D.Clip, Viewport3D.RenderTransform, Viewport3D.DataContext' in namespace 'http://schemas.microsoft.com/winfx/avalon/2005'. C:\Documents and Settings\Xenon\My Documents\Visual Studio 2005\Projects\TestAvalonApplication\TestAvalonApplication\Window1.xaml 7 4 TestAvalonApplication
Please Microsoft, your effort seems to be trying to force us Back 10 years or more.
This will not fly with 3D content developers when I can create a network friendly 3d applicaiton for less effort. The bottom line is that all the coding will increase cost of production and decrease quantity of production thus hitting developers for a double whammy.
Make it cost effective for me to use it.
Hi Fedor,
When the video was posted, Sparkle Interactive Designer was not announced... Today I can say: you are right, designers will need tools to work on this rich platform.
Sparkle lets designers build the UI side of an application. This includes 2D graphics, 3D models (+lights, etc), Video, Text, Layout behavior (important!), Data Binding, among other things... No hand-coding is necessary to achieve most UI tasks.
Make sure to watch the hour-long Channel 9 video on Sparkle, as well as some more details on the official site, and my blog (I also link to other Sparkle folks there).
Take care
And why revive the Boing demo?
Remove this comment
Remove this thread
close