Silverlight Still Needs 3D and Drawing API

by Jon Davis 4. November 2008 07:12

I'm gonna make this short and sweet. [EDIT: Or I thought I would.] I complained a year or so ago that the Silverlight roadmap needs to include 3D support, ideally with hardware acceleration (such as with OpenGL) and a drawing API that doesn't force you to use XAML semantics or canvas controls or other such things. More specifically, I suggested a rastarization API.

I said these things because I've seen people clamoring for such things for a long time in online entertainment and online utilities, but not from Microsoft, rather from Java applets and, more recently, Flash.

Microsoft's responses seemed to be, "Ahh pooh pooh!! What is the bUsINess nEEd?" and, "It's haaaawwrrrd!!" The latter being in relation to minimizing the codebase.

Seems Adobe was listening, though. Flash 10 adds these new features as part of the core feature set.
  • 3D effects and support. (I don't think it is OpenGL-accelerated, but at least it's there and the software renderer performs well.)
  • Enhanced drawing API ("Developers can tweak parts of curves, change styling, replace parts, and use custom filters and effects, delivering improved throughput, creative control, and greater productivity. Enhancements to the Drawing API add the z dimension, real perspective, textured meshes in 3D space, a retained graphics model, read/write rendering, and triangle drawing with UV coordinates, while adding memory and improving performance.")
  • Enhanced 2D hardware acceleration; "to paint SWF files into the browser and accelerate compositing calculations of bitmaps, filters, blend modes, and video overlays faster than would be performed in software".

Adobe's not resting on Macromedia's laurels. Silverlight 2 has some hard core competition here. Let's see if Microsoft makes the mistake of resting on Silverlight 2's laurels.

Now I'm not a Silverlight expert (still), I've had some exposure to Silverlight and have shared some light and simple blog posts but nothing special. So I might be unaware of some drawing APIs that were actually made available since my rant. I know that some real-time rasterization is possible, as is proven by Quake for Silverlight [2]. But I'm not persuaded that this Quake for Silverlight is properly optimized. In fact, I'm still scratching my head as to how it was pulled off.

Personally I'd love to see it if Silverlight and XNA consolidated agendas, although I know for certain that technically that's an impossibility (XNA is significantly platform-oriented). Microsoft needs to pay attention to Unity 3D. Unity 3D has an XNA-like runtime (full 3D support), games built with it are written in C#, and they can deploy to a web browser plug-in just like Silverlight 2, even with support for both Mac and Windows. One might say, "Why not just use Unity?" I would. Unity 3D, requiring a Mac for development, is one of the two reasons (it and the iPhone) why I bought a Mac Mini and even considered abandoning Windows. For that matter, I suppose I have abandoned Windows in a sense; for the last few months I've been using my Mac rather than Windows for my free time. But I've come to realize that I've put all my investments into Microsoft tools, and I don't want to keep spending any more money on non-Microsoft tools when I already have my hands full trying to keep up with the Microsoft tools evolution.

So in the end I wind up with being grateful for great games published by people who use a Mac, and enjoy my iPhone, but I can't do anything like any of those because I'm too distracted with Microsoft tech "evolution", the Zune doesn't have a phone, Windows Mobile doesn't have decent UI standards (where iPhone sets the bar), and for web-based games and 3D presentations Silverlight isn't up to par.

At least I have other things to think about and keep me distracted from these distractions. Like non-game technologies like ASP.NET. *sigh*

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags: ,


Add comment

(Will show your Gravatar icon)  

  Country flag

  • Comment
  • Preview


Powered by BlogEngine.NET
Theme by Mads Kristensen

About the author

Jon Davis (aka "stimpy77") has been a programmer, developer, and consultant for web and Windows software solutions professionally since 1997, with experience ranging from OS and hardware support to DHTML programming to IIS/ASP web apps to Java network programming to Visual Basic applications to C# desktop apps.
Software in all forms is also his sole hobby, whether playing PC games or tinkering with programming them. "I was playing Defender on the Commodore 64," he reminisces, "when I decided at the age of 12 or so that I want to be a computer programmer when I grow up."

Jon was previously employed as a senior .NET developer at a very well-known Internet services company whom you're more likely than not to have directly done business with. However, this blog and all of have no affiliation with, and are not representative of, his former employer in any way.

Contact Me 

Tag cloud


<<  May 2021  >>

View posts in large calendar