Moonbeam milestone 1

A place to show off your latest screenshots and for people to comment on them. Only start a new thread here if you have some nice images to show off!

Moonbeam milestone 1

Postby Bekas » Sun Dec 07, 2008 6:38 am

Moonlight is the mono team's open-source implementation of Silverlight, the browser plugin.

Moonbeam is my effort to bring Moonlight to the 3D realm and specifically to Ogre.

Currently Moonbeam can load xaml files and render them with GPU acceleration:

A Moonlight widget rendered onto a texture (the calculator example which I've been lovingly using for lots of testing).
Image


Since we are talking about vector graphics, it's mandatory to bring.. the infamous tiger!
Here, loaded from a xaml file using the Moonlight engine and rendered directly on the main window.
Image
Oooohh, lookie! A vector tiger and a shiny Ogre, place your bets now!


Some details in no particular order:

-Moonlight uses cairo for the graphics. I developed a new backend for cairo that fully utilizes the GPU (through Ogre's RenderSystem) for rendering. This is completely independent from Moonbeam and can be used standalone.

-Moonlight's core is a native C++ engine and is not dependent in Mono. It is flexible enough to be scripted by anything, javascript, managed code, native code, etc. I've got it working on both Mono and the .NET framework and I plan on embedding and trying out Lua for more lightweight stuff.

-If you opt for using managed code, it should be possible, in theory, to utilize the silverlight controls, develop a silverlight widget using visual studio and have it run through moonbeam with full debugging support.

-Getting it to work on Windows was no small task as the moonlight team is completely focused on linux, and there doesn't seem to be much consideration about cross-platform-ness. I think this is reasonable, though, since moonlight is a young project and their specific goal is to implement silverlight for *nix systems. The downside is that it reduces its flexibility, e.g. in order to inject keyboard/mouse events I will have to create and pass to it GDK events or make heavy patches to it.
Hopefully, there will be more push in the future to get the *nix dependencies abstracted away from the core moonlight engine.


Ok, that's all for now, any comments/suggestions/death threats are welcome!
MOGRE (Managed OGRE) - Advanced .NET wrapper for Ogre
Bekas
OGRE Expert User
OGRE Expert User
 
Posts: 253
Kudos: 1
Joined: 16 Oct 2004

Postby ajs15822 » Sun Dec 07, 2008 7:07 am

This is really cool! Great work! :D

I personally don't know too much about Microsoft's Silverlight or the maturity of its content-creation pipeline but I'm really interested in your Ogre-accelerated Cairo back-end; could you give a little more information about it?
User avatar
ajs15822
OGRE Expert User
OGRE Expert User
 
Posts: 570
Kudos: 2
Joined: 02 Jan 2006
Location: Texas

Postby Bekas » Sun Dec 07, 2008 7:46 am

ajs15822 wrote:I'm really interested in your Ogre-accelerated Cairo back-end; could you give a little more information about it?

It's still very much a work in progress and not in a presentable state yet, but the basics are in place:

-Cairo's rendering primitive is the trapezoid, e.g. for rendering a spline/curve, it will create a polygon, tesselate it into trapezoids and give them to the backend. IMO this is a waste of CPU resources, so I made some modifications to cairo itself and made it able to provide the points/vertices of the polygons directly to the backend, without doing any tesselation.

<edit>
-Stroking is done directly with triangles, no tesselation needed.
</edit>

-Tesselation of polygons for filling happens on the GPU using the stencil buffer (both fill rules are supported)

-Clipping is done using the depth buffer

-There's some pixel/vertex shaders for the gradient patterns

-Masking is missing; I intend to use a RTT for that

-Only CAIRO_OPERATOR_OVER for now, I didn't get around to implement the other operators.

Anyway, pretty alpha stuff. Ogre is used directly but I'm considering abstracting the Ogre calls into a very thin wrapper library under a C API and have the backend use that so that it fits more naturally with the rest of cairo.
Last edited by Bekas on Tue Dec 09, 2008 12:05 am, edited 2 times in total.
MOGRE (Managed OGRE) - Advanced .NET wrapper for Ogre
Bekas
OGRE Expert User
OGRE Expert User
 
Posts: 253
Kudos: 1
Joined: 16 Oct 2004

Postby Ruud v A » Sun Dec 07, 2008 6:36 pm

Great work!
Last edited by Ruud v A on Tue Dec 21, 2010 8:48 pm, edited 1 time in total.
User avatar
Ruud v A
Gremlin
 
Posts: 150
Kudos: 5
Joined: 28 Jan 2008
Location: The Netherlands

Postby Bekas » Sun Dec 07, 2008 6:44 pm

Ruud v A wrote:I personally hate Silverlight because it's trying to replace Adobe Flash (and xps is trying to replace pdf and then Microsoft will be closer to it's monopoly...)

Heh, please don't turn this into a Flash vs Silverlight flamewar (that's for the off-topic section, flame on! :) )

@ajs15822:
I'm assuming you have some experience with Webkit, do you know whether its cairo port accepts an externally provided cairo context ? If yes, it would be super easy to have it rendering on Ogre.
MOGRE (Managed OGRE) - Advanced .NET wrapper for Ogre
Bekas
OGRE Expert User
OGRE Expert User
 
Posts: 253
Kudos: 1
Joined: 16 Oct 2004

Postby Azgur » Sun Dec 07, 2008 6:53 pm

I like the possibilities this opens up. This will be especially very interesting for MOgre users who won't have to learn a new language to script their UI.

Ruud v A wrote:I personally hate Silverlight because it's trying to replace Adobe Flash (and xps is trying to replace pdf and then Microsoft will be closer to it's monopoly...)


Now that's the worst reason I've ever heard.
It's called competition, something that is required for a healthy economy.
User avatar
Azgur
Goblin
 
Posts: 264
Kudos: 0
Joined: 21 Aug 2008


Postby ajs15822 » Sun Dec 07, 2008 7:28 pm

Bekas wrote:
Ruud v A wrote:I personally hate Silverlight because it's trying to replace Adobe Flash (and xps is trying to replace pdf and then Microsoft will be closer to it's monopoly...)

Heh, please don't turn this into a Flash vs Silverlight flamewar (that's for the off-topic section, flame on! :) )

@ajs15822:
I'm assuming you have some experience with Webkit, do you know whether its cairo port accepts an externally provided cairo context ? If yes, it would be super easy to have it rendering on Ogre.


Being able to render web content directly in Ogre3D without a texture proxy would be so awesome! I haven't played too much with the Cairo port but from what I've read of the code, it shouldn't be too hard to patch it in! I'll try and mess around with it a bit this upcoming Christmas break.
User avatar
ajs15822
OGRE Expert User
OGRE Expert User
 
Posts: 570
Kudos: 2
Joined: 02 Jan 2006
Location: Texas

Postby jacmoe » Sun Dec 07, 2008 7:31 pm

Azgur wrote:
Ruud v A wrote:I personally hate Silverlight because it's trying to replace Adobe Flash (and xps is trying to replace pdf and then Microsoft will be closer to it's monopoly...)


Now that's the worst reason I've ever heard.
It's called competition, something that is required for a healthy economy.

Competition? :D

Don't make me laugh. :twisted:

Microsoft is grasping at straws here.
They are known to buy/take/reimplement/resell technologies made by others and claim that they made it.
You really can't blaim Microsoft for being innovative.
Name one thing that they invented..! :)

Even .NET is stolen from Delphi - they hired the chief engineers from Borland to make it.
Silverlight is highly uninteresting to me, because we already have Flash.

Yes, competition is nice. But I don't think I like their idea of competition.

What is Silverlight?
Yet another proprietary api which does the same as Flash.
Who needs it?


On the other hand, I am somewhat excited about Moonlight since it's opensource and all..

Very cool Bekas. :)
/* Less noise. More signal. */
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.
User avatar
jacmoe
OGRE Retired Moderator
OGRE Retired Moderator
 
Posts: 20570
Kudos: 181
Joined: 22 Jan 2004
Location: Denmark

Postby KungFooMasta » Sun Dec 07, 2008 10:40 pm

jacmoe, cool your jets. It definately sounds like you haven't used or experienced SilverLight in any way, its actually really easy to create SilverLight apps, and really easy to have visually appealing SilverLight driven web apps. Its definately getting more common these days, if you think it can't compete with Flash you're wrong. :wink:
Creator of QuickGUI!
User avatar
KungFooMasta
OGRE Contributor
OGRE Contributor
 
Posts: 2087
Kudos: 16
Joined: 03 Mar 2005
Location: WA, USA

Postby jacmoe » Sun Dec 07, 2008 10:46 pm

[hi-jack]
I'm not saying that it isn't great.
I'm just saying that I am definitely not going to check it out.
For the same reasons I am definitely not going to jump on anything .NET.
Because it locks you to your Windows.
I prefer open libraries, open tools, open languages.
Like wxWidgets, PHP, AJAX and Cairo. :wink:

And I never digged Flash interfaces anyway! :twisted:

I must admit that I find C# very attractive, but that's because they hired the Delphi Chief Architect. :)
[/hi-jack]
/* Less noise. More signal. */
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.
User avatar
jacmoe
OGRE Retired Moderator
OGRE Retired Moderator
 
Posts: 20570
Kudos: 181
Joined: 22 Jan 2004
Location: Denmark

Postby jacmoe » Sun Dec 07, 2008 10:53 pm

[more hi-jack]
I just might check out MonoLight, now that it's "open source"! :wink:
[/more hi-jack]
/* Less noise. More signal. */
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.
User avatar
jacmoe
OGRE Retired Moderator
OGRE Retired Moderator
 
Posts: 20570
Kudos: 181
Joined: 22 Jan 2004
Location: Denmark

Postby shevegen » Tue Dec 09, 2008 1:34 am

This is fucking impressive. Hope you guys do manage to put out some short howto's for people to get a headstart. I picture that there are a lot of possible widget-combinations which may be beautiful (and useful).

Would be nice to see a collection of small-ish good looking widgets :)

I think C# is quite ok. I prefer the elegance of ruby for most tasks, but if i have to pick among C C++ Java D and C# I am favouring C# (although it is a close tie because C is insanely much used throughout pretty everything... except for Ogre3D which I think is in C++.) .

(PS: I do wonder whether Ogre3D will ever be written in C#. Of course I am aware that there is probably no need at all to switch anyhow, but I am just thinking. Not proposing. Probably C++ can offer some advantage, somewhere)
shevegen
Gnoblar
 
Posts: 17
Kudos: 0
Joined: 13 May 2005

Postby xavier » Tue Dec 09, 2008 1:51 am

shevegen wrote:
(PS: I do wonder whether Ogre3D will ever be written in C#. Of course I am aware that there is probably no need at all to switch anyhow, but I am just thinking. Not proposing. Probably C++ can offer some advantage, somewhere)


The Axiom project did that. To the best of my knowledge it was subsumed into another larger game engine.

You can also use the MOgre project that Bekas started to use Ogre in managed apps. It works great.
Do you need help? What have you tried?

Image

Angels can fly because they take themselves lightly.
User avatar
xavier
OGRE Retired Moderator
OGRE Retired Moderator
 
Posts: 9481
Kudos: 23
Joined: 18 Feb 2005
Location: Dublin, CA, US

Postby Azgur » Tue Dec 09, 2008 7:51 am

jacmoe wrote:
Azgur wrote:
Ruud v A wrote:I personally hate Silverlight because it's trying to replace Adobe Flash (and xps is trying to replace pdf and then Microsoft will be closer to it's monopoly...)


Now that's the worst reason I've ever heard.
It's called competition, something that is required for a healthy economy.

Competition? :D

Don't make me laugh. :twisted:

Microsoft is grasping at straws here.
They are known to buy/take/reimplement/resell technologies made by others and claim that they made it.
You really can't blaim Microsoft for being innovative.
Name one thing that they invented..! :)

Even .NET is stolen from Delphi - they hired the chief engineers from Borland to make it.
Silverlight is highly uninteresting to me, because we already have Flash.

Yes, competition is nice. But I don't think I like their idea of competition.

What is Silverlight?
Yet another proprietary api which does the same as Flash.
Who needs it?


On the other hand, I am somewhat excited about Moonlight since it's opensource and all..

Very cool Bekas. :)


No offense, but this is highly ignorant and terribly biased.
Neither of which is useful of a constructive discussion.
User avatar
Azgur
Goblin
 
Posts: 264
Kudos: 0
Joined: 21 Aug 2008

Postby jacmoe » Tue Dec 09, 2008 8:06 am

Are you calling me ignorant? :)

Azgur wrote:No offense, but this is highly ignorant and terribly biased.
Neither of which is useful of a constructive discussion.

Right.
And your comment is constructive?
You can call Microsoft of many things, but being inventive is not one of them. :wink:
/* Less noise. More signal. */
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.
User avatar
jacmoe
OGRE Retired Moderator
OGRE Retired Moderator
 
Posts: 20570
Kudos: 181
Joined: 22 Jan 2004
Location: Denmark

Postby jacmoe » Tue Dec 09, 2008 9:06 am

Enough hi-jacking.
I think it is so cool to have a Cairo back end!
I don't know what became of BetaCairo, but this is great. :)
/* Less noise. More signal. */
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.
User avatar
jacmoe
OGRE Retired Moderator
OGRE Retired Moderator
 
Posts: 20570
Kudos: 181
Joined: 22 Jan 2004
Location: Denmark

Postby sinbad » Tue Dec 09, 2008 10:26 pm

Nice - I really like to see libs straddling the gaps like this (between 2D vector and 3D rendering).

Personally I have no particular attachment to either Flash or Silverlight, although Adobe do seem to be a bit more open these days (disclaimer: layman's impression - writing one Flash game over a weekend to see if I could is my only experience with developing in either).

Good stuff anyway!
User avatar
sinbad
OGRE Retired Team Member
OGRE Retired Team Member
 
Posts: 19261
Kudos: 69
Joined: 06 Oct 2002
Location: Guernsey, Channel Islands

Postby Bekas » Wed Dec 10, 2008 2:38 am

sinbad wrote:Adobe do seem to be a bit more open these days

Under my own layman's impression, the appearance of Silverlight was a very good thing for the evolution of Flash.

Adobe now has real pressure and is forced to innovate and move flash forward, otherwise it may lose its dominance. We can see the results in the great features of flash 10, open-sourcing Flex, first-rate support for linux, etc.
MOGRE (Managed OGRE) - Advanced .NET wrapper for Ogre
Bekas
OGRE Expert User
OGRE Expert User
 
Posts: 253
Kudos: 1
Joined: 16 Oct 2004

Postby Borrillis » Wed Dec 10, 2008 3:07 am

Just want to correct some mis-information quickly here.

xavier wrote:The Axiom project did that. To the best of my knowledge it was subsumed into another larger game engine.


Axiom most certainly did not get subsumed into some other project. It is still alive and well at http://axiomengine.sf.net. We are currently working on getting an Xna renderer out the door as well as updating the core rendering system to 1.4 compatibilty.
Axiom 3D - .Net 3D Rendering Engine
User avatar
Borrillis
Kobold
 
Posts: 27
Kudos: 2
Joined: 27 Sep 2004

Postby volca » Wed Dec 10, 2008 8:11 am

This thread caught some attention (Warning - in Czech):
http://www.root.cz/zpravicky/moonlight-v-3d-enginu/

It seems that adobe already started pushing the compatibility - I was waiting years for native 64bit (x86_64) linux version of flash player. It was released few days/weeks ago (alpha, that is).
Image
User avatar
volca
Gnome
 
Posts: 393
Kudos: 1
Joined: 08 Dec 2005

Re:

Postby jacmoe » Mon Dec 29, 2008 5:57 am

Borrillis wrote:Just want to correct some mis-information quickly here.

xavier wrote:The Axiom project did that. To the best of my knowledge it was subsumed into another larger game engine.


Axiom most certainly did not get subsumed into some other project. It is still alive and well at http://axiomengine.sf.net. We are currently working on getting an Xna renderer out the door as well as updating the core rendering system to 1.4 compatibilty.

It did get subsumed. :)
Remember Realmforge ?
Which later became Visual3D.NET Game Engine ? :)

Still, it's very cool that the original project continues.

To make things even more intricate, I've heard something about an Axiom and Multiverse coop? :)
/* Less noise. More signal. */
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.
User avatar
jacmoe
OGRE Retired Moderator
OGRE Retired Moderator
 
Posts: 20570
Kudos: 181
Joined: 22 Jan 2004
Location: Denmark

Re: Moonbeam milestone 1

Postby jacmoe » Mon Dec 29, 2008 6:06 am

Let me answer my own questions:
Axiom Wiki - Projects using Axiom - Frameworks and Game Engines wrote:The Multiverse Network - A platform for developing Massively Multiplayer Online Games

Visual3D.NET Game Engine - This product no longer uses much Axiom Code, but has a lot of similarities, including compatibility with OGRE meshes and also fully written in C#. Axiom inspired the creation of this platform as a partnership between xeonx and najak with gravityspec full-time, and contributions from Borillis, and initial involvement from leedgitar.
/* Less noise. More signal. */
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.
User avatar
jacmoe
OGRE Retired Moderator
OGRE Retired Moderator
 
Posts: 20570
Kudos: 181
Joined: 22 Jan 2004
Location: Denmark

Re: Moonbeam milestone 1

Postby nikki » Tue Dec 30, 2008 12:32 pm

I don't know why, but I've always like C++ more. It feels more 'native'.
User avatar
nikki
Old One
 
Posts: 2730
Kudos: 13
Joined: 17 Sep 2005
Location: Princeton, New Jersey, USA

Re: Moonbeam milestone 1

Postby Yasha » Tue Jan 06, 2009 6:39 am

I hate to ask, but is there any chance I can get my hands on some code of this? say the cario backend.
User avatar
Yasha
Gnoblar
 
Posts: 3
Kudos: 0
Joined: 06 Jan 2009

Next

Return to Showcase

Who is online

Users browsing this forum: No registered users and 4 guests