This article demonstrates how Avalon’s simple 3-D support enables you to create 3-D scenes. Discusses the ViewPort3D element and the use of point of view, camera, and lights in XAML markup.
This article demonstrates how Avalon’s simple 3-D support enables you to create 3-D scenes. Discusses the ViewPort3D element and the use of point of view, camera, and lights in XAML markup.
whats the point of introducing yet another 3d api?! doesn’t d3d and opengl already do the job just fine?
Certainly D3D and OpenGL are sufficient. But the managment (code- and integrationwise) amount just to render some simple objects is huge.
The Avalon-API should simplify this and isn’t ment for something else.
d3d and opengl are lower level api’s, avalon sits on top of d3d
What do you mean? If I was tald 5 years ago that scientist will ever come with a way to script OpenGL calls to XML file I would call him nuts! How else you could ever implement .ASP server that renders torus object which is projected in different angle for each username, and lit with ambient light? Please don’t troll and accept future is here. Now, if they only could disable popups in explorer we will enter the bright .NET era.
“Now, if they only could disable popups in explorer we will enter the bright .NET era.”
I love your sarcasm The new era, where popup killers have been replaced with lay-over flashing mega ads, making the browsing experience even more horrible. Thanks for listening to customers when it was NOT needed, dear Microsoft.
>> How else you could ever implement .ASP server that renders torus object which is projected in different angle for each username, and lit with ambient light? <<
sorry didn’t think of that
>> How else you could ever implement .ASP server that renders torus object which is projected in different angle for each username, and lit with ambient light? <<
Uh..? It’d work if every terminal had a graphic card that rendered it. AFAIK, even the old computers that mightbe used as terminals already have a 3D graphic card, and I feel that either:
– Usually the 3D scene would be simpel enought to be rendered by any graphic card.
– Otherwise, then normally the software would come with a light alternative version of itself for old hardware, just as MS said would Longhorn do.
– Finally, if none of that options are true, then just don’t use that software because it hasn’t been designed with terminal servers in mind =)
People need to understand that XAML is a purpose-built technology. Its purpose it to provide a foundation for Avalon. Nothing else. It is not an attack on SVG, VRML, X3D, XUL, X/HTML, LaTeX or any other “standard” format. All these existing technologies were built for their respective purposes and although some were designed very well, none of them were designed for Avalon. And that is why Microsoft created XAML.
Innovate first. Standardize later. That’s how it works. (Well, in Microsoft’s case they often let someone else innovate then acquire/license it)
i just don’t see how one is actually going to use xaml to create a useful 3d-application. it sounds too inflexible and slow to me compared to a proper api. can someone explain to me the purpose of this? i *do* think using xaml to create ordinary ui:s sounds interesting though.
I think you hit the name squarely on the head. I mean, why should MS care about standards? With the pull they have, they can easily ignore the standards. Do you think we really needed *another* iteration of the C language (C#)? Ask any webmaster to write a strict standard-compliant web page with the latest features (or any level of serious complexity)and see how horribly IE keeps up. Having to develop a webpage that looks good on both Mozilla and IE is like two separate platforms yet they are *supposedly* using the same *standardized* html/xhtml/javascript.
IMHO, MS and standards go together oil and water…
“Do you think we really needed *another* iteration of the C language (C#)?”
What the hell are you talking about? C# is nothing near the C language. Just another chance to rip on MS I guess. If your going to rip on C# you had better know more about it then you obviously do…
“C# is nothing near the C language”
You’re kidding right? You are correct, I have not coded in C#, but it only takes a quick peek at any C# tutorial to see that is quite similiar to C (syntax-wise). To say that C# is “nothing near” the C is simply an overstatement.
Admittedly, C# takes it roots from the C language, just look at the while(), for(), pointers, operators, type-declarations, the list goes on…
But more importantly, why in this green earth of ours would MS even name it “C#” if it is “nothing near” C? Just to confuse us? No, of course not, because it is derived from C (as was C++ && Objective-C).
I’m not suggesting in any way that C can accomplish what C# can (or C++ for that matter) because I know it can’t, I’m simply suggesting that C# is rooted in C and that is undeniable, hardly “nothing near” though…
And in all honesty, I don’t really think I was bashing MS, I was pointing out that their sheer market strength can trump the standards, this is true of a lot of other companies as well…
You are correct…C# is in fact a rip off of Java, not C. Go Microsoft!
You’re kidding right? You are correct, I have not coded in C#, but it only takes a quick peek at any C# tutorial to see that is quite similiar to C (syntax-wise). To say that C# is “nothing near” the C is simply an overstatement.
Admittedly, C# takes it roots from the C language, just look at the while(), for(), pointers, operators, type-declarations, the list goes on…
But more importantly, why in this green earth of ours would MS even name it “C#” if it is “nothing near” C? Just to confuse us? No, of course not, because it is derived from C (as was C++ && Objective-C).
It is syntactically similar to C (and C++ and Objective-C), but functionally it’s nothing like C (and only vaguely like C++ and Objective-C). It’s basically a language built from the ground up to take advantage of managed memory and object-oriented programming methodology, and based on the syntax of C in order to make it easier for developers to learn the new language (much like C++, Objective-C, and Java before it).
I’m not suggesting in any way that C can accomplish what C# can (or C++ for that matter) because I know it can’t, I’m simply suggesting that C# is rooted in C and that is undeniable, hardly “nothing near” though…
C++ can accomplish the same thing, if you use Managed C++, but that’s another story… In any way of looking at C (not C++) and C# other than syntactically, they couldn’t be further apart (well, maybe if it were possible to make the language impossible to use in a procedural manner).
And in all honesty, I don’t really think I was bashing MS, I was pointing out that their sheer market strength can trump the standards, this is true of a lot of other companies as well…
Of course, in the case of C#, they simply submitted it for standardization, and it has been a standard for quite some time now. Of course, that doesn’t really matter when a good part of the CLR environment C# depends on is not standardized.
As usual, though, a later comment had to bring up Java, which of course is not standardized through an independent standards body and is syntactically based on the same languages. The idea that C# rips off Java conveniently ignores J#, though, which would, if this were C#’s purpose, make C# completely useless.
i just don’t see how one is actually going to use xaml to create a useful 3d-application. it sounds too inflexible and slow to me compared to a proper api. can someone explain to me the purpose of this? i *do* think using xaml to create ordinary ui:s sounds interesting though.
The point of it is to make integrating 3D functionality into 2D applications easier. A good example would be almost any program that handles development of 3D models, or CAD applications, where the majority of the application interface is 2D, but the functionality of the application is based around creating 3D objects, which the user would naturally want to view in 3D.
If you’re creating a major 3D application, it may be better to use a 3D API (OpenGL or Direct3D) for the entire application, or you may want to use a pre-existing 3D engine (ie when developing design software for games) which would make it better (though perhaps not easier) to avoid this functionality. On the other hand, if you just need some 3D display capability in an otherwise 2D application, and the application is going to be built for Avalon anyway, then why not use Avalon’s 3D capabilities?
To me the Java / C# rants sound like Apple vs Windows they have a lot of similarities. MS got to like the mouse driven GUI of Apple and implemented it in Windows. MS liked the Java approach of “developing” and implemented it in .NET/C#. Both times they didn’t do a pure copy and actually added nice features.
However don’t forget that Java like the Apple GUI had roots that were not from their respective companies. Apple GUI was from Xerox (they paid for it) and Java is not the first language to have: OO, byte code, automatic memory management and more. Sun was just the first to combine these features.
This quote I got from Joel on Software really explains MS: “MS lets the ISV (independent software vendors) do the market research.”
This explains a lot of MS, for instance the new CLI that’s coming. They got the message from Linux/Unix people that they like the CLI. They would have never done something like this without some market proof (*nixes rants). Now they should look at Apple’s xserver and see what there for them. Hey its business.
However on the other hand GNU/Linux is also not a really innovative software suite/group. Only thing it has going for it is its price. I can’t think of a single useful thing GNU/Linux was first at (neither MS). Ok some people Win2k/WinXP boxes crash every 60 seconds but mine and other boxes (about 10) I have used don’t either. So stability isn’t an issue.
Now you may want to argue about servers. And MS related viruses, well about the viruses; I haven’t had one not on purpose. I opened once an exe from an email attachment to see what would happen but my virus checker picked it up. And BTW, I’m behind a NAT firewall. But then I would personally prefer to use BSD/Linux as network servers as Windows NT feels to much as a desktop OS hacked to work as a server. I’ll bet to run a Windows server you could dump 90% of it. I don’t need most of the stuff that’s included with Windows to run a server.
As desktop OS Windows is nice. But for servers it’s too pricey and bloated. With a desktop OS, I want point and click but with a server, I don’t mind editing a config and prefer it that way to make (easy) copies of it. A desktop OS, I can format anytime as I keep my user created files on a separate partition. But a server, no, I want to run always even after applying patches (no reboots).
Sorry about this little rant, I had one to many of you know what.
It’s basically a language built from the ground up to take advantage of managed memory and object-oriented programming methodology
Um, what exactly is “ground-up” about C#? Let’s look at the semantic components of C#:
Memory model: It uses the Lisp memory model. Objects are accessed via references into the heap. The heap is garbage collected. Object references are not first class (thus you cannot have references to references or do pointer arithmatic on references).
Type model: It uses a safer version of the C/C++ type model. It’s a strongly-typed, pseudo-static model with no type inference, ad-hoc semantics, and only loose static type-safety guarantees.
Object model: It uses the standard Simula object model. Objects contain their methods, and a class defines an additional lexical scope for it’s methods.
Runtime model: It uses the Smalltalk runtime model. Usually, the bytecode is translated to machine code at runtime via a JIT.
Syntax: It uses a Pascal-style syntax, taking a lot of the class notation from C++.
Now, if you had said “it was designed from the ground-up for multi-language interoperability” you would have still been wrong, but much closer to the truth. C# itself isn’t designed for interoperability, but the CLR that it runs on is. As far as I can see, this facet of the CLR is pretty unique, and you could justify saying that it was designed from the ground-up for that purpose.