----------------------------------------------------------- New Message on cochindotnet
----------------------------------------------------------- From: BachiGuddi1 Message 1 in Discussion hi all , In the next UG meeting on 31st march , i will be presenting Windows Presentation Foundation (aka WPF ). As u know WPF is one of the four main pillars of the .NET 3.0 ( formerly WinFx ). WPF is designed ground up as the latest Graphics Programming library from MS. Moreover MS is introducing XAML as the Markup language (Actually, XAML is a serialization format ) for having a unified programming model for Web application and desktop applications. Technichally , by changing one line of code in the MSBuild input we can convert an application to a Web app ( XBAP ). This requires discipline on the part of the programmer. As XBAP applications run (most often ) in partial trust mode , many of the desktop application features are not available. Given below are some of the Questions u might have about WPF What is new about WPF which was not present in Winforms or GDI+ ? WPF is projected as the preferred API for UI and Graphics programming . There is some substance behind the hype. WPF is a retained mode vector Graphics library ( if u want to know more , come for my presentation ) The biggest difference is WPF piggy backs on the (GPU) graphics card (through DirectX ). It is having a unified graphics pipeline for both 2D and 3D. Remote desktops will perform better thanks to WPF architecture. What is there in WPF which DirectX or Managed DirectX cannot give me ? Learning curve involved in mastering DirectX or managed DirectX is steep. Those are low level API which require the programmer to be familiar with the underlying GPU , Which version of Pixel Shader or Vertex Shader is available with GPU etc. Moreover , With DirectX 10 Fixed Function Pipeline is phased out. ( Fixed Function Pipeline used to hide the complexity of the graphics pipeline from the programmer ) In sharp contrast , WPF is a much "friendly" API . Using some XAML code u can create stunning scaleable graphics , render in 3D and even animate stuff. Is WPF the solution for all graphics problem ? No , There is scope of DirectX and Managed DirectX ( to be replaced with XNA soon ) in the area of visualization , CAD and even applications which is having a hierarchichal in-memory database. WPF takes care of organizing the data for rendering using a data structure called Scene Graph. Examples of other Scene graph APIs are Java3D , OpenSceneGraph , HOOPS ( used by many CAD vendors ) Is it true that u can present 3D content in WPF without much Math ? Yes and no. One can jump start in Computer graphics programming. IMHO , WPF is the best tool around to learn Computer Graphics programming fundamentals. There are plenty of examples of 3d content presentation ( The generation of content is best left to the artist who are comfortable with low polygon modelling ) . Creating Cube , Cylinder , Sphere and platonic solids are pretty easy. As u progress , u have to encounter the metal. IMHO , 12th standard math is all there is to learn to become a practicioner of computer graphics ( To become a researcher , one requires advanced math ) What is the primary use case of 3D content presentation in WPF ? Using a technique called Texture mapping , one can stick a 2D UI screen on a plane. ( Plane , means a Quad formed by stitching two triangles together ). Since 3D contains 6 degrees of freedom , ur 2D screen will have a 3D effect. That is how all those Vista Demos work. Is to true that WPF applications are single threaded ? WPF UI mandates that all the changes to the UI controls has to happen in the thread which instantiated the Controls. But , that does not prevent us from creating the worker threads. There is a class called Dispatcher which will help us to update the UI (through a delegate ) from a background thread. What is XBAP ? XBAP stands for Xtensible Browser Application Program . XBAP application runs inside the security sandbox of the IE. The Execution context is provided by the browser. The XBAPs are typically run in partial trust mode. Running XBAP in fully trusted mode is possible , but it is invitation for disaster ( at least for security paranoids ) What is WPF/E ? WPF/E stands for Windows Presentation Foundation Everywhere. Basically , the applications contents will be streamed to the client in a binary encoded vector format . This can be regarded as the MS's take on Macro Media (Adobe ) Flash file format. MS has got plans to give WPF/E run time for other platforms too. What is the difference between XBAP and WPF/E ? XBAP is roughly equivalent to ActiveX control. We can create rich client applications using XBAP. WPF/E is a file format and a run time which gives a small subset of WPF to create Rich UI. In XBAP , u can have WPF controls and most of the WPF stuff which is available for the Desktop applications. More over , u can have multi assembly applications running inside the browser. In WPF/E it is just optimized vector encoded stuff can be contained. WPF/E cannot run WPF controls ( other than supported by WPF/E ) contained in DLL assemblies. The most important thing is being a cross platform solution , it is not possible to have assemblies loaded on to the context of WPF/E host. ( How can one run a Intel binary on Mac OS X running on Power PC ? ) Pls. try to make it for the presentation. The whole excersise above was just to give a hint that i know what i am going to talk about. I have been working with WPF for some time now. I am excited about this technology. I hope to inculcate some of my excitment to whoever turns up for the next UG meeting. Praseed Pai ----------------------------------------------------------- To stop getting this e-mail, or change how often it arrives, go to your E-mail Settings. http://groups.msn.com/CochinDotNet/_emailsettings.msnw Need help? If you've forgotten your password, please go to Passport Member Services. http://groups.msn.com/_passportredir.msnw?ppmprop=help For other questions or feedback, go to our Contact Us page. http://groups.msn.com/contact If you do not want to receive future e-mail from this MSN group, or if you received this message by mistake, please click the "Remove" link below. On the pre-addressed e-mail message that opens, simply click "Send". Your e-mail address will be deleted from this group's mailing list. mailto:[EMAIL PROTECTED]