VG.NET 1.7 has recently been released, offering a full-fledged, API-stable vector-graphics solution for .NET – not three years down the road and exclusively for Avalon, but available today, hosted on any .NET platform that supports GDI+ (VG.NET is 100% managed code).Coupled with MyXaml, the two offer a compelling alternative to Microsoft’s Avalon technology, given the current widespread userbase of Windows NT/XP/98/ME – all platforms supported by Mono and Microsoft’s own .NET distribution.
This is an example of what is possible by using VG.NET and MyXaml in tandem. Doesn’t it look familiar to this?
Although GDI+ has yet to be hardware accelerated (Go Microsoft!) VG.NET runs remarkably fast for something hosted on GDI+. There must be some blackmagick voodoo going on underneath the intutitive API, cuz its pretty fun to play with.
Their website is really messed up in Moz Firefox. A good example of ASP.Net. It may be the ASPX generated stuff because I’ve seen a similar blog setup on other sites that worked fine. This is why I stress adhereing to web standards.
Cool SVG technology though. It will be interesting to see KDE/GNOME with it too.
For the lesser clever of this google of geese, the download is at http://www.vgdotnet.com !
You may want to link to the Official Site:
the more it reminds me of Sodipodi (www.sodipodi.com). It looks like it exports directly to MyXAML. so it wouldn’t really be coupled with it. It would still just be MyXAML. What about a XUL exporter?
Note that it is also integrated with VS.Net. The runtime can only be redistributed. To me, it does not sound like Mono would be an option without a complete reimplementation of it.
Heck man, thats not ASP.net! It is just our own stupidity about CSS. If you know how to make the CSS work in FireFox without using tables or messing up IE, please let us know! We don’t know how to fix it.
We chose MyXaml because it is a clean, gemeric, extensible xml format specifically designed for .NET object models.
Re Mono: We would love to port to Mono, but we need a good solid GDI+ rendering layer. We could also port to another similar rendering layer, but I don’t know if there is any real incentive given that the designer only works in VS.net right now, and the runtime is free.
Heck man, thats not ASP.net! It is just our own stupidity about CSS. If you know how to make the CSS work in FireFox without using tables or messing up IE, please let us know! We don’t know how to fix it.”
You really need to fix that css thing to a standards compliant setting before developing latest gizmos on .net.
there are some really nice guides available on css sites. can you check and make sure that your site works in mozilla and mozilla firefox. a lot of users are using something other than IE now
No porting needed, bruh. The Mono team, the Ximian Crew, they’re already porting the entire GDI+ framework over to *nix, man. As long as you don’t do any nasty P/Invokes, then, everything is gravy. Someday in the future when they finish all you’ll have to do is just copy Prodigee assemblies into the Mono GAC. They’re using something called the Cairo Graphics rendering engine for their back-end work, but as long as the output is the same… neh?
Although, I think, Portable.NET’s GDI+ interface is mostly done, and VG.NET might work on it right now, if I recall correctly.
Sorry about that CSS problem. I think the blog can be fixed by switching to a different style (it is .Text). But for the website, we just wanted 3 columns, but we wanted it to position the columns vertically if the browser was narrow (such as on a PocketPC). So we did not want tables either. I could not find a better way to do that. Yes, I read all the tutorials, etc. You know, a person could go insane trying to get these things working on different browsers
Shapeshifter, maybe someone should try right now. Does it have to be recompiled to try on Mono, to link with the alternative assemblies? I don’t have much hope for performance with that Cairo layer, though. No GAC is needed — we don’t use it.
We don’t have a mono build or a way to test that stuff now.
Recompiled? Nope! Its just like Java in that respect, yah.
The only time you’d need to recompile an assembly, in .NET, C#, whatever, is when you P/Invoke into native libraries, and, you know, on Windows that library might be skanksrus.dll, but on Linux its gonna be libskanks.so. If you’ve used managed code you won’t have a problem.
Try it out? Yeah, I’ll give it a go later tonight when I get the time, if nobody else beats me to it.
just sent to your blog what I believe is the solution for your CSS problem. That problem, because you have other CSS problems on the site.
“Yes, I read all the tutorials, etc. You know, a person could go insane trying to get these things working on different browsers ”
ya i know. i have developed a few web pages. i develop websites for firefox with a few developer plugins installed and it usually works on IE without any tweaks not the other way.
Try a simpler design if not.
Shapeshifter, Manik: thank you both for you help!
The VG.net run-time (Prodige.Drawing.dll) has no PInvokes or unsafe code.
Although GDI+ has yet to be hardware accelerated (Go Microsoft!)
You’re kidding, right? Line, rectangle and all sorts of other window related drawing functions were integreated into video card silicon back in the SVGA and video-local-bus slot days. Yeah, the stuff isn’t on polygons, but it doesn’t need to be for current Windows. That doesn’t mean that it isn’t being drawn in hardware, though.
I think GDI+ drawing functions are not accelerated, if you use antialiasing, and other nice-looking features. Also I doubt any double buffered rendering is accelerated, since it operates on a memory bitmap. But we get some excellent performance by minimizing the number of pixels painted.
> there are some really nice guides available on css sites. can you check and make sure that your site works in mozilla and mozilla firefox. a lot of users are using something other than IE now
You mean 5% of all web users?
But what percentage of that 5% are technically-inclined tech-savvy people who are interested in reading this blog?
“You mean 5% of all web users?”
I dont know. I guess it could be 10 % but if you have something more definite stats then it would be good. Are you saying that just because we use a alternative browser or we are on a different platform we dont get to see a IE specific site. surely you dont want to support that?.
say there are 10 million people using a particular website and 5 % of it gets locked due to a website using non standard html or something like that.thats a significant amount of people. right?. just stick to something more standard and make a quick check that it works in other browsers too.
BTW: For static SVG images I’ve been using SharpVectors.org (there’s been a further release on SourceForge that’s not linked on their page that’s much better to work with). It’s pretty damn good.
GDI/GDI+ are hardware accelerated for most of the common drawing operations. These are primitive accelerations, but they do a very nice job considering most drawing is in fact simple.
If someone can point me to a hello world type example, I will test it on mono. libgdiplus (in mono) has greatly improved recently.
Yay, another NoVA Cox Cable Customer
In any case, the classic 2D accelerator engines do not handle anti-aliased, alpha-blended drawing of lines, arcs, etc. Some of the newer cards (pretty much anything with a pixel shader) do support special GDI+ acceleration. GDI+, however, seems to be something of an evolutionary dead-end (bookended, as it is, by classic GDI and Direct3D-based Avalon), so I doubt GDI+ acceleration is a high priority at NVIDIA or ATI.
Absolutely true, but there isn’t an isntance I know of in Windows where explorer draws window containers with non-orthogonal lines. In those cases anti-aliasing doesn’t matter since the lines are parallel or perpendicular to the screen space edges.
Does the window transparency that Win2K and above support make use of any alpha blending available in hardware? I know that 3rd party apps/hacks like Stardock’s WindowFX will make use of hardware acceleration for the same effects. I don’t know if the GDI/+ calls do, though.
Now I can make some flash like interfaces for my apps without using flash to do it.
yes, gdi+ is at least partially accelerated (i think it is close to fully accelerated by now) and definately is for alpha blending
stardock windowfx uses gdi+ to make the window translucent