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!
Bekas
OGRE Expert User
OGRE Expert User
Posts: 253
Joined: Sat Oct 16, 2004 11:21 pm
x 1

Moonbeam milestone 1

Post by Bekas »

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
User avatar
ajs15822
OGRE Expert User
OGRE Expert User
Posts: 570
Joined: Mon Jan 02, 2006 2:05 am
Location: Texas
x 2
Contact:

Post by ajs15822 »

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?
Bekas
OGRE Expert User
OGRE Expert User
Posts: 253
Joined: Sat Oct 16, 2004 11:21 pm
x 1

Post by Bekas »

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
User avatar
Ruud v A
Gremlin
Posts: 150
Joined: Mon Jan 28, 2008 6:44 pm
Location: The Netherlands
x 5
Contact:

Post by Ruud v A »

Great work!
Last edited by Ruud v A on Tue Dec 21, 2010 8:48 pm, edited 1 time in total.
Bekas
OGRE Expert User
OGRE Expert User
Posts: 253
Joined: Sat Oct 16, 2004 11:21 pm
x 1

Post by Bekas »

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
User avatar
Azgur
Goblin
Posts: 264
Joined: Thu Aug 21, 2008 4:48 pm

Post by Azgur »

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
ajs15822
OGRE Expert User
OGRE Expert User
Posts: 570
Joined: Mon Jan 02, 2006 2:05 am
Location: Texas
x 2
Contact:

Post by ajs15822 »

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
jacmoe
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 20570
Joined: Thu Jan 22, 2004 10:13 am
Location: Denmark
x 179
Contact:

Post by jacmoe »

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
KungFooMasta
OGRE Contributor
OGRE Contributor
Posts: 2087
Joined: Thu Mar 03, 2005 7:11 am
Location: WA, USA
x 16
Contact:

Post by KungFooMasta »

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
jacmoe
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 20570
Joined: Thu Jan 22, 2004 10:13 am
Location: Denmark
x 179
Contact:

Post by jacmoe »

[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
Joined: Thu Jan 22, 2004 10:13 am
Location: Denmark
x 179
Contact:

Post by jacmoe »

[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.
shevegen
Gnoblar
Posts: 17
Joined: Fri May 13, 2005 6:21 pm

Post by shevegen »

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)
User avatar
xavier
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 9481
Joined: Fri Feb 18, 2005 2:03 am
Location: Dublin, CA, US
x 22

Post by xavier »

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
Azgur
Goblin
Posts: 264
Joined: Thu Aug 21, 2008 4:48 pm

Post by Azgur »

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
jacmoe
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 20570
Joined: Thu Jan 22, 2004 10:13 am
Location: Denmark
x 179
Contact:

Post by jacmoe »

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
Joined: Thu Jan 22, 2004 10:13 am
Location: Denmark
x 179
Contact:

Post by jacmoe »

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
sinbad
OGRE Retired Team Member
OGRE Retired Team Member
Posts: 19269
Joined: Sun Oct 06, 2002 11:19 pm
Location: Guernsey, Channel Islands
x 66
Contact:

Post by sinbad »

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!
Bekas
OGRE Expert User
OGRE Expert User
Posts: 253
Joined: Sat Oct 16, 2004 11:21 pm
x 1

Post by Bekas »

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
User avatar
Borrillis
Kobold
Posts: 27
Joined: Mon Sep 27, 2004 5:44 pm
x 2
Contact:

Post by Borrillis »

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
volca
Gnome
Posts: 393
Joined: Thu Dec 08, 2005 9:57 pm
x 1
Contact:

Post by volca »

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
jacmoe
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 20570
Joined: Thu Jan 22, 2004 10:13 am
Location: Denmark
x 179
Contact:

Re:

Post by jacmoe »

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
Joined: Thu Jan 22, 2004 10:13 am
Location: Denmark
x 179
Contact:

Re: Moonbeam milestone 1

Post by jacmoe »

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
nikki
Old One
Posts: 2730
Joined: Sat Sep 17, 2005 10:08 am
Location: San Francisco
x 13
Contact:

Re: Moonbeam milestone 1

Post by nikki »

I don't know why, but I've always like C++ more. It feels more 'native'.
User avatar
Yasha
Gnoblar
Posts: 3
Joined: Tue Jan 06, 2009 6:01 am

Re: Moonbeam milestone 1

Post by Yasha »

I hate to ask, but is there any chance I can get my hands on some code of this? say the cario backend.
Post Reply