Max Kosenko's picture

OpenVG Proposal

Hello all.

I know that it's planned to support OpenVG later in future. And that's ok.
But before that is done I'd like to propose some thoughts and ideas.

OpenVG 1.1 is nice open standard for 2D rendering engine.
It's main target mobile devices, but it's also declared for engine for device independent UI framework.

One of such framework is Flash and that's even declared in OpenVG 1.1.

But since we are all in .NET world - we have another alternative - XAML based UIs - WPF and Silverlight. WPF and Silverlight don't need any new frameworks, since Microsoft doing that by themselves, but Mono needs new modern UI Framework. GTK# is nice, Windows.Forms also. But all those are really old enough. It's hard to compare them with Silverlight/WPF UI stack.

WPF for Mono stuck somewhere behind just because it's too large project. But Moonlight is well in very active development. Moonlight main target to do Linux support for Silverlight, but we all know that after all difference in Silverlight and WPF not that large. And with Moonlight that becomes possible to make WPF-Like applications based on full Mono framework access.

But Moonlight problems in that approach are performance and multi-platform compatibility. It's right now using Cairo for drawing and already hitting a wall of Cairo performance which is not that good at all in software mode, and even with ability to change backends - there is no sign of ability to construct fast HW accelerated UI on Cairo. Also currently that leads to a lot of unmanaged code and related problems.

Idea is following: extend Open Toolkit to OpenVG + make Managed OpenVG over OpenTK.OpenGL/ES. That is shown to be possible in Amanith project, but it's native and closed source. Later that can be expanded with using very nice agg-sharp project which is 100% managed Antrigrain rendering engine - fast and very high quality. But on the first step it's just ok to use software renderer from OpenGL. Preliminary tests shown that even software renderer of OpenGL should be faster than Cairo.

As we all know - main driving factor of open projects is in their usage. I think that such approach can lead to creating fast WPF-like UI for Mono and Moonlight faster than Silverlight and Flash. And creating such strong UI Framework for Mono can bring more developers to Mono platform itself. Especially with the upcoming support for Mono development inside VS2010. And after all that can bring new contributors to Open Toolkit since it can become important part of Moonlight and Mono project.

What do you think about that?

Max.


Comments

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
emrnews's picture
Inertia wrote:

Excuse my ignorance, but could you please explain why OpenVG is more appealing to you than OpenGL ES? There's tons of devices with support for that available (and in the consumer's hands) already, and I don't see that Microsoft will care to support VG or ES.

I don't think this is ignorance, we just want to know the difference so we will decide and choose the best one. I hope somebody will answer this question of yours 'cause I want to know the answer to it as well.

renanyoy's picture

it's the same reasons to use open vg or open gl es, that makes khronos group create the 2 standards.. they don't have the same goals.. I don't want to choose, I want to use both..