Welcome to WindowsClient.net | Sign in | Join

I just published the version 3.0 of Perspective for Silverlight, which gathers a port of the Perspective 2.0 features under Silverlight 5.0, a new high-level 3D framework and some new code samples. Features list.

While Silverlight 5 has hit its final (? wait and see :-) version, I've updated my work about 3D programming with the Perspective library.

 Perspective 3D for Silverlight

Read more :

Enjoy !

Version 5 of Silverlight allows building 3D scenes that use hardware acceleration (ie, that delegate display calculations to the graphics processor or GPU). This is actually an integration of XNA within the Silverlight runtime. As Don Burnett points out in his article XNA for Web Browsers or Silverlight 5 3D from Mix11, the focus is on code portability and not on XNA compatibility with WPF high-level 3D API. XNA is a low-level API, designed for programmers, and a priori unsuitable for a declarative language like XAML and for associated tools. So, what about the designer/developer collaboration ?

With my experience of encapsulation of the WPF 3D API, I created in the Perspective library a set of classes to bring 3D programming with Silverlight 5 to a level close to WPF and Perspective for WPF.

Perspective 3D for Silverlight 5 

Read more :

Download Perspective 3 for Silverlight 5 [updated February 7, 2012]

Enjoy !

A new MSBuild API was introduced in .NET 4.0. Unfortunately, until today I have found no examples of implementation of the new API, nor in the documentation or on the Web. So I conducted investigations and prepared a summary.

Read the article

I just published the 2.1 version of Perspective FX. This tool generates graphical effects and enables image edition programming in WPF 4 or Silverlight 4. It uses a filter combination system that is easy to use and does not require HLSL skills...

 

 

Loading a large Silverlight application from a Web server can be very long. So it is necessary to establish a mechanism for application assemblies progressive loading. The principle consists in dividing the application into multiple packages that are loaded on demand.

MEF, the Managed Extensibility Framework, integrated with Silverlight 4, offers a solution to this problem using the DeploymentCatalog class. But its implementation does not cover some features expected in Out-Of-Browser mode (OOB).

Based on similar work for Silverlight 2, I developed an alternative mechanism in the Perspective 2.0 for Silverlight framework with the following features :

  • Plug-ins loading.
  • Plug-ins pages loading (i.e. for display in a Frame element).
  • Lazy loading support.
  • Works in and outside the browser. Out-Of-Browser plug-ins are loaded from the isolated storage, where they have been installed automatically.

This extension system is not generic : it is limited to loading modules and pages. But it remains simple and can serve as an example developing a more sophisticated system, while waiting for the next MEF version.

Its use is presented in detail in this article.

I have adapted to Silverlight 4.0 my article about manual compilation (originally written for versions 2.0 and 3.0). Indeed, for various reasons, it may be useful to explore the Silverlight compilation command line. This allows for example a better understanding of the compilation mechanism of Visual Studio. This can also allow to dynamically generate Silverlight assemblies, as does the Perspective FX library.

The second edition of my book about WPF has been released :-)

The book presents in detail the features of WPF 4 : 2D and 3D graphics, animation, multimedia, user interfaces, databinding, custom classes and application model. In this second edition, the plan was modified and content was expanded in the following areas : graphics (BitmapCache, Pixel Shader), realistic animations (Ease), templates (VisualStateManager), multitouch, databinding, MVVM paradigm, support for Windows 7 Taskbar, etc. The code examples have been upgraded.

To buy the book or download the sample files from the publisher's website 

The version 2.0 of Perspective for WPF 4 has just been released.

New features are described in the announce of the beta version.

After the 2D matrices, here is a new article about 3D matrices. It covers the 3D coordinate systems (left handed, right handed...), the different matrix kinds (translation, rotation, scaling, perspective, viewport), their combination and their use in WPF (within the 3D engine) and Silverlight (through Matrix3DProjection). It also shows how to reproduce and customize the PlaneProjection features through matrices.

I've just published a review article about 2D matrices, which specifically addresses the rotation calculations. To be clear on the fundamentals...

 

A .NET 4.0 version of Perspective with many improvements :

  • New panels :
    • BeePanel : a honeycomb layout wrap panel.
    • BeeGrid : a honeycomb layout grid panel.
  • New shapes :
    • RegularPolygon : draws a (roundable) regular polygon.
    • Star : draws a n-branch star.
    • Arrow : draws an arrow.
    • Checkerboard : draws a checkerboard.
  • MayaEase : a custom interpolation curve for easing animations 
  • 3D :
    • Workshop3D : new property ShowCommandPanel.
    • RelativeTransformer : a new class to manage by code the transformations and the current position of a Visual3D. The successive transformation operations (translation, scaling or rotation) are cumulative (the last one is relative to its previous one).
  • MVVM orientation (see SignalCommand).
  • Perspective application (under construction) :
    • A new WPF 4 application which can dynamically load pages from extension assemblies using MEF. This application is used here as demo of Perspective library.
    • The background image is loaded randomly from a PerspectiveAlbum subdirectory in the application directory or in the system Images directories.

Presentation of the RelativeTransformer class, from the Perspective library, which can apply successively moving, sizing and rotation operations on a Visual3D, by memorizing its position and its transformation matrix.

Perspective FX 1.0 released : see how to adjust contrast, brightness and saturation of an image, and how to build custom effects by simply assembling filters, without HLSL skills...

Here is an example of saturation adjustment done with the Saturator filter :

For pedagogical reasons, or to build a code generator (like Perspective Fx does), it may be useful to compile Silverlight code on the command-line. Last year, I wrote an article for Silverlight 2.0 about this subject. I have adapted it today to Silverlight 3.0.

The main differences are at the paths :

  • libraries path (/lib compiler option, .rsp file),
  • MsBuild Microsoft.Silverlight.CSharp.targets task path (.proj file).
Next page »
 
Page view counter