Google

Updating Mogre! [Mogre 1.8.1 was build successfully]

Discussion regarding the Managed .Net Wrapper for Ogre, MOGRE (http://sourceforge.net/projects/mogre)

Moderators: OGRE Team, MOGRE Moderators

Re: Updating Mogre!

Postby se5a » Sun Feb 09, 2014 7:09 pm

Thanks, that's quite usefull information.
much of that though you wouldn't or can't put in the sdk.

I would debate the point that there's not much benefit of an x64 version when you can't know what the non graphics/rendering part of the application is doing. though I agree that it shouldn't be a high priority - as long as it's not overly tough for someone to build an x64 version themselfs.
On that note though, what would it take to get it to compile for "AnyCPU"? I've noticed that you can compile a debug version for "AnyCpu" but compiling a release is where it will break.


Yeah, the full version of VS allows plugins, and some tools for working with a larger team. though I've yet to come across any that would make me fork out that much $ for the full version, especially as I'm just a hobbyist programer.
se5a
Halfling
 
Posts: 87
Kudos: 2
Joined: 27 Mar 2009

Re: Updating Mogre!

Postby BrainScan » Sun Feb 09, 2014 8:18 pm

This is interesting timing. I recently ran into a problem with compositors in 1.7.4 that required me to update Mogre. I've spent the last few days working on it and I now have 1.8.1 "working". Essentially, I had to disable the Paging and Terrain Components and the new Instance Manager to get it to compile initially. But I have it up and running with my current project now. I have some cleanup to still do and there will be some breaking changes but it looks promising.

What exactly is required for contributing these change back? I know the main Ogre project requires a contributor agreement be filled out. Anything like that here?

I'm not familiar with Hg at all for source control, so it make take me some time to be able to push any changes. Do we need a new branch? Should the auto-wrapper be able to wrap both versions or do we stop development on 1.7.4 and just move forward?

What about the license? When Mogre was started the main Ogre project was still licensed using the LGPL. Now Ogre has switched to the MIT license, but most of the Mogre files still have LGPL headers.
User avatar
BrainScan
Halfling
 
Posts: 49
Kudos: 3
Joined: 04 May 2012

Re: Updating Mogre!

Postby se5a » Sun Feb 09, 2014 9:00 pm

Excellent News!
se5a
Halfling
 
Posts: 87
Kudos: 2
Joined: 27 Mar 2009

Re: Updating Mogre!

Postby Beauty » Sun Feb 09, 2014 9:25 pm

se5a wrote:On that note though, what would it take to get it to compile for "AnyCPU"?

When you compile with AnyCPU, then VS uses that type (x86 or x64), which is equal to your operation system.
So compiling with 64 bit Windows: VS tries to compile a project against x64.
And x86 for 32 bit Windows.

When VS tries to build against x64 and your project contains 32 bit libraries, then you'll get trouble.

se5a wrote:Yeah, the full version of VS allows plugins, and some tools for working with a larger team.

There are also improvements for "normal users".
For example to set conditional breakpoints. (Example: Break only if value xx is larger than 100.)
There are also other debugging improvements. Just to let you know that the people get something more for the money.
Help to add information to the wiki. Also tiny edits will let it grow ... :idea:
Add your country to your profile ... it's interesting to know from where of the world you are.
IRC chat ... Mogre: irc://freenode/#mogre ... Ogre: irc://freenode/#ogre3d
User avatar
Beauty
OGRE Community Helper
 
Posts: 1645
Kudos: 37
Joined: 09 May 2007
Location: Germany

Re: Updating Mogre!

Postby se5a » Sun Feb 09, 2014 9:31 pm

express has conditional breakpoints in 12.
se5a
Halfling
 
Posts: 87
Kudos: 2
Joined: 27 Mar 2009

Re: Updating Mogre!

Postby Beauty » Sun Feb 09, 2014 9:38 pm

BrainScan wrote:I've spent the last few days working on it and I now have 1.8.1 "working". Essentially, I had to disable [...]
But I have it up and running with my current project now.

Great news !!


BrainScan wrote:What exactly is required for contributing these change back?
I know the main Ogre project requires a contributor agreement be filled out. Anything like that here?

I never heard about such an agreement. Maybe it means if somebody can't use LGPL he could ask for an agreement.
But this is many years ago. Ogre (and Mogre) switched to MIT license to make the live easy for all users.

My proposal:
Download the current Mogre repository and create a new branch (e.g. name "Mogre 1.8").
Then commit all your changes and upload the modified repository to your BitBucket account.
So everybody can see your changes and it's easy to push them to the official Mogre repository.
If you have good experience with Mercurial, I can offer you write access to the official Mogre repository.

BrainScan wrote:I'm not familiar with Hg at all for source control, so it make take me some time to be able to push any changes. Do we need a new branch? Should the auto-wrapper be able to wrap both versions or do we stop development on 1.7.4 and just move forward

... I should read the whole posts, before I answer.

A new branch would be very useful.
There are good chances, that the Ogre 1.6 branches get updates in the future. There are still some things to do (e.g. terrain has no full support and is less tested).

BrainScan wrote:Now Ogre has switched to the MIT license, but most of the Mogre files still have LGPL headers.

Just ignore this point. The reason is that nobody changed it. I suppose it's a boring job.


Did you use the MogreBuilder?
If yes, did you apply changes / additions to the code?
Help to add information to the wiki. Also tiny edits will let it grow ... :idea:
Add your country to your profile ... it's interesting to know from where of the world you are.
IRC chat ... Mogre: irc://freenode/#mogre ... Ogre: irc://freenode/#ogre3d
User avatar
Beauty
OGRE Community Helper
 
Posts: 1645
Kudos: 37
Joined: 09 May 2007
Location: Germany

Re: Updating Mogre! [Mogre 1.8.1 was build successfully]

Postby Beauty » Sun Feb 09, 2014 9:47 pm

BrainScan wrote:there will be some breaking changes

It would be nice if you write some details.
Are the changed caused by Ogre (API changes) or something related to the Mogre wrapper?
Help to add information to the wiki. Also tiny edits will let it grow ... :idea:
Add your country to your profile ... it's interesting to know from where of the world you are.
IRC chat ... Mogre: irc://freenode/#mogre ... Ogre: irc://freenode/#ogre3d
User avatar
Beauty
OGRE Community Helper
 
Posts: 1645
Kudos: 37
Joined: 09 May 2007
Location: Germany

Re: Updating Mogre!

Postby BrainScan » Tue Feb 11, 2014 1:04 am

Beauty wrote:Download the current Mogre repository and create a new branch (e.g. name "Mogre 1.8").
Then commit all your changes and upload the modified repository to your BitBucket account.
So everybody can see your changes and it's easy to push them to the official Mogre repository.

I created a BitBucket account and forked the repository. I still need to find a nice Hg client for windows and figure it all out. That will probably need to wait until I've finished polishing up the 1.8 stuff that I need immediately for my current project. I might start with pushing some of my 1.7.4 improvements just to get my feet wet a bit.

Beauty wrote:Did you use the MogreBuilder?
If yes, did you apply changes / additions to the code?

I've never used MogreBuilder, so I'm not sure what changes would be needed. Perhaps someone who knows MogreBuilder could make the required changes once I've pushed the 1.8 branch.

Beauty wrote:
BrainScan wrote:there will be some breaking changes

It would be nice if you write some details.
Are the changed caused by Ogre (API changes) or something related to the Mogre wrapper?

Any Ogre breaking changes will certainly be inherited by Mogre. For my project the new Depth Buffer sharing caused a bunch of weird stuff to happen with my compositors and RTTs until I set the depth buffer pools correctly. There were also some method signatures that changed on the Ogre side. I'm not sure if there's a comprehensive list anywhere.

As far as the wrapper goes, so far I've had to make some minor changes to the way properties are wrapped to get some of the new stuff to generate properly. This could have made some existing code also generate properties instead of get and set methods. I haven't run into any in my code, but it should be easy to fix since it will cause compile-time errors.
User avatar
BrainScan
Halfling
 
Posts: 49
Kudos: 3
Joined: 04 May 2012

Re: Updating Mogre! [Mogre 1.8.1 was build successfully]

Postby se5a » Tue Feb 11, 2014 1:40 am

BrainScan wrote: I still need to find a nice Hg client for windows and figure it all out.

I use http://tortoisehg.bitbucket.org/

which is not horrible, as far as these things go, which isn't saying much really.
se5a
Halfling
 
Posts: 87
Kudos: 2
Joined: 27 Mar 2009

Re: Updating Mogre! [Mogre 1.8.1 was build successfully]

Postby Beauty » Tue Feb 11, 2014 8:35 am

Yes, TortoiseHG is a great graphical front end.
But HG and the front end need some learning / experience to undestand how it works.
There are good tutorials and overviews in the web. Unfortunately I don't have my bookmark collection here.

Well, polishing up your code is fine and your project has a higher priority than publishing. But please don't forget us.

Even if you don't need MogreBuilder, it could be a nice experience for you to download, compile and run it.
It takes about 5 or 10 minutes to start the automatic build process.
You don't need to modify it - that can be done by us.

The porting notes are always published in the wiki. For Ogre 1.8 look here:
http://www.ogre3d.org/tikiwiki/ByatisNotes

Thanks for your details and good luck for your further work.
Help to add information to the wiki. Also tiny edits will let it grow ... :idea:
Add your country to your profile ... it's interesting to know from where of the world you are.
IRC chat ... Mogre: irc://freenode/#mogre ... Ogre: irc://freenode/#ogre3d
User avatar
Beauty
OGRE Community Helper
 
Posts: 1645
Kudos: 37
Joined: 09 May 2007
Location: Germany

Re: Updating Mogre! [Mogre 1.8.1 was build successfully]

Postby Pitancos » Wed Feb 12, 2014 8:49 pm

Cool news! :D But one question, BrainScan: you said you removed the terrain and paging components, do you plan to include them again? I think they are a really important part of Ogre 1.8+. Especially the paging system can be really powerful.

Beauty wrote:I don't think x64 is important for most users. If somebody needs it, he can compile it by the -64 option of MogreBuilder and include the binaries to his project.

I think it is important, I saw several times people asking here on the forums for x64 binaries. While building Mogre it is pretty easy to build it both x64 and x86 as it is just one more step in CMake (create OGRE x64 build files) and some more compilation. The only change is it takes twice as long to compile but that doesn't make much of a difference anyway :P I put my focus on the "common" x86 binaries and only do the other ones if there is no more effort involved. As x64 is getting more important in the future (at least I think so) we should be prepared.

An other point: Which Visual Studio version should be offered? VS 2010 or 2012 or both.

I am using VS 2012 Professional (benefits of being a student :D ) but I think it would be best to provide solutions/projects for VS 2010 too. VS 2013 is not needed yet, I think, so far I have not seen it being provided by OGRE etc.

You want to do much. Ogre update, add-ons update, SDK update ... this is too much for one person at one time.

You probably missunderstood, I do not want to really dive into the code of addons but I want to recompile and distribute them for the new Mogre binaries. If there are just some small changes to be made that's fine as well. But definitely not full support for addons, that would be too much, you're right.


What I got so far is Mogre binaries for Ogre 1.7.4 which are still "experimental" as I just grabbed the source code and didn't do any changes. There are two problems I am facing right now:
  • What is missing for Mogre 1.7.4? The terrain and paging component are wrapped but are they fully working? Samples do work, I know and tested, but what is still missing? Which features are missing that exist in the corresponding Ogre version? I took a look at the bug tracker but those are not especially problems relating to the current version (meaning no missing features) but general bugs (should be fixed anyway).
  • Does anyone ever had the error LNK2034? I appears only when I am compiling Mogre for .NET3.5 in debug mode (both in x86 and x64), the release mode works fine. It is poorly documented or I am just too stupid to find the right sources on the internet...

@BrainScan: It would probably really useful if we combined our forces to avoid work being done twice :wink: I sent you a pm, check it :)

At last, I am glad there is still interest in a new Mogre version, so I will do my best to contribute something :)
Pitancos
Gnoblar
 
Posts: 6
Kudos: 1
Joined: 26 Jan 2014

Re: Updating Mogre! [Mogre 1.8.1 was build successfully]

Postby se5a » Wed Feb 12, 2014 10:04 pm

This is a bit of a 'for the future' question, and I don't in anyway know the full implications (I realy have no idea what I'm talking about) but I went looking at why mogre can't run on linux or mac.
Basicaly this is due to mono not supporting C++/CLI - then I stumbled across CXXI.
Would it be worth looking at CXXI in the future for mogre? (I supose it would require a compleate rewrite :( but might it be worth it if it alows cross platform suport?)

Edit: reading a bit more, it seems that CXXI was looking very promising a few years ago... then nothing.
though looks like this branch of it has had activity six months ago: https://github.com/tritao/CppSharp
se5a
Halfling
 
Posts: 87
Kudos: 2
Joined: 27 Mar 2009

Re: Updating Mogre! [Mogre 1.8.1 was build successfully]

Postby BrainScan » Thu Feb 13, 2014 4:08 am

Pitancos wrote:Cool news! :D But one question, BrainScan: you said you removed the terrain and paging components, do you plan to include them again? I think they are a really important part of Ogre 1.8+. Especially the paging system can be really powerful.

I removed them because they were causing problems and I don't actually use them in my project. For whatever reason the way they were integrated before required them to be included in order for Mogre to load properly. This eliminates the whole point of them being components. In my opinion, what has to happen first is to figure out how to optionally include and build components in general. This would have to include the ability to choose which components are being wrapped though the AutoWrapper. This will be increasingly necessary as time goes on. For example, in 1.9 the overlays were removed from OgreMain and put into their own component.

Pitancos wrote:What is missing for Mogre 1.7.4? The terrain and paging component are wrapped but are they fully working? Samples do work, I know and tested, but what is still missing? Which features are missing that exist in the corresponding Ogre version? I took a look at the bug tracker but those are not especially problems relating to the current version (meaning no missing features) but general bugs (should be fixed anyway).

There doesn't seem to be a good list of what is missing in 1.7.4. The approach I have taken is to try and wrap things as I need them. I suspect a better approach would be to analyze the output of doxygen and somehow compare it to what is wrapped. One thing on my TODO list is to organize the Attributes.xml so I can get a better picture of what's missing. But that's a nightmare for later merges so I haven't gotten around to it yet.

Pitancos wrote:Does anyone ever had the error LNK2034? I appears only when I am compiling Mogre for .NET3.5 in debug mode (both in x86 and x64), the release mode works fine. It is poorly documented or I am just too stupid to find the right sources on the internet...

I'm only targeting .NET 4.0 with my projects so I've never run into this.
User avatar
BrainScan
Halfling
 
Posts: 49
Kudos: 3
Joined: 04 May 2012

Re: Updating Mogre! [Mogre 1.8.1 was build successfully]

Postby BrainScan » Thu Feb 13, 2014 4:17 am

se5a wrote:Edit: reading a bit more, it seems that CXXI was looking very promising a few years ago... then nothing.
though looks like this branch of it has had activity six months ago: https://github.com/tritao/CppSharp

The main repository for that project is now part of Mono and is located here: https://github.com/mono/CppSharp
It seems to get regular updates but still has some limitations and experimental features. Most notably is the standard library support which Ogre uses quite extensively. It looks very promising for the future though since it can generate C++\CLI for windows targets and P\Invoke for linux.
User avatar
BrainScan
Halfling
 
Posts: 49
Kudos: 3
Joined: 04 May 2012

Re: Updating Mogre! [Mogre 1.8.1 was build successfully]

Postby se5a » Thu Feb 13, 2014 4:44 am

that does sound promising. we'll definatly have to keep an eye on it.
how much work would it be once it's got the required fetures in it to convert mogre over?
se5a
Halfling
 
Posts: 87
Kudos: 2
Joined: 27 Mar 2009

PreviousNext

Return to MOGRE

Who is online

Users browsing this forum: No registered users and 2 guests