Mogre Terrain and Paging (alpha) ... BINARIES NOW AVAILABLE

mstoyke

14-08-2010 18:17:11


.
.
---------------------------------------------------------------
:arrow: Details about the Terrain usage you can read at the bottom in this post.
:arrow: Scroll down and read the "update" sections.
---------------------------------------------------------------


Hello everybody, time for some awesome news :D

[attachment=0]MogreTerrain05.png[/attachment]

I started to extend Mogre some weeks ago to also wrap the terrain and paging components. Now I have reached a point that allows me to release a first version, let's call it a "sneak preview" or pre-alpha. The code is in the repository, in a separate branch called "TerrainAndPaging" and I finally managed to compile it without errors. I only use VS2010 and will not update the project older compiler versions until it's at least in beta state.

So the first step is taken, but I believe that the hard part will start now. All I did so far is extend the wrapper, but now we need users that help us to stabilize the new wrappers. I'm attending the GDC next week, so I don't really have much time to work on this for at least a week. But you, the Mogre community, can start using the stuff and collect feedback that helps me in my next steps.

Because we usually don't really get much feedback here, the last release of Mogre is still in beta because of lack of feedback, I want to try something new. I will create a list of things that I can't do myself at the moment and the first users that provide solutions for the task will be preferred for some time in the Mogre wishlist.

So more active users will get their feature requests done much quicker than others. That is actually an improvement in the development process, because usually, in open source project, most developers work on what they like most, not what others might need. So this is an opportunity for everybody to improve Mogre and the features that you need will not be delayed because nobody wants to work on them.

So, now for my first list:

Terrain

1) Terrain Testing. I need a test project for the terrain component first, the paging component will be worked on later. I'm currently focused on improving the wrapper and fix some bugs that I found while extending it. So it would be of great help if somebody else could provide the tools for testing. Use the quick start project that I released some time ago and add some terrain to it. We need to get the initialization and shut-down of the component working first before we can test all the other features.

2) Terrain Documentation. It's important that users can find all information they need to use the components, so I want to have everything in the Wiki. Contact Beauty to discuss the structure of the pages first, I don't want to end up with a lot of unfinished pages all describing the same stuff.

General

3) Add-ons maintenance. The projects in the MogreAddons repository need to be updated. I want them to be compatible with Mogre 1.7.1 and they need to be updated to Visual Studio 2010.

4) General feedback. If you send us feedback in this forum about bugs or even things that just work fine, your name will also be added to the list of preferred requesters for new features.

If you want to work on any of these tasks, let us know in this thread for 1) and 2) or the Mogre 1.7.1 thread for 3) or 4).

If you don't already have write access to the official repositories, just create a new account at bitbucket and fork the projects you need. Work in this new repositories and send me a link to your bitbucket pages. Eventually you might be granted write access to the official repository.

The amount of work I will put into extending Mogre will depend on the amount of feedback and support we get. May sound harsh but I don't have much free time and don't want to waste it on things that nobody else needs, except the things that I need for my own projects. So if you use Mogre let us know, like all open source projects its success depends on the community activities.

Update 3:

With the tool MogreBuilder you can build Mogre very easy.
It also builds the Terrain and Paging components.


Update 2:

User Cycon built Mogre 1.7.3 from the base, inclusive the Terrain and Paging wrapper.
You can download and try it here.
User McDonte ported the Ogre tutorial 3, which is related to the new terrain and paging system.
The example code is available here.


Update:

  1. Build instructions (Mogre incl. terrain/paging component) are here.[/*:m]
  2. Binaries are available vor VS2008 and VS2010. Both packages contains the files OgreTerrain.dll and OgrePaging.dll.
    Downloads: ..... Mogre171VS2010Libs.7z ..... Mogre171VS2008Libs.7z[/*:m]
  3. Usage for Ogre is documentated in the Basic Tutorial 3. (Not yet in the Mogre Basic Tutorial 3, but the code should be similar.)[/*:m]
  4. Feedback is welcome! (Post in this forum topic.)[/*:m][/list:u]

Beauty

14-08-2010 23:41:00

Nice to read.
Did you embedd it to the Mogre autowrapper?
Or do you wrap it manually? (In this case: do you use C++/CLI or P/Invoke?)

User boyamer also wants to wrap the new terrain system. Maybe he still started the work. In this case maybe it's bad to do redundant work instead of combining the forces. (Ok, I suppose he use P/Invoke. If the terrain system will be wrapped by the Mogre autowrapper, I don't know if it's compatible.) I will invate boyamer to this thread.


2) Terrain Documentation. It's important that users can find all information they need to use the components, so I want to have everything in the Wiki. Contact Beauty to discuss the structure of the pages first, I don't want to end up with a lot of unfinished pages all describing the same stuff.
Please don't send me private messages. Quickly my postbox is full (because of the quota). So instead use a forum thread for suggestions. This is also better, because other people can see the suggestions and can give feedback.

In general - don't be afraid to put content to the wiki. Just add content to the wiki and don't think about the layout or structure too much. The wiki maintainers still have the chance to improve it :wink:
On the page Ogre Wiki Overview are useful notes. Also there is the wiki menu entry "Ogre Wiki Help" (on top of each wiki page) with good information about creating pages, adding pictures, etc.


I'm interested to test the new terrain system. Where are useful information about how to use it?
Can I use my texture and heightmap pictures of the plain old Terrain Scene Manager?

About your "general" notes - maybe it would be a better place to post it in the Mogre 1.7.1 thread. Attach it to your first post (for newcomers) and additionally write it in a new post (for older users). It's a more common place than in this more specialized thread.

In the future I want to put the content of your first Mogre 1.7.1 post on a new wiki page called MOGRE Introduction, which should contain useful information for newcomers, e.g. first steps, where/how to find information, etc.

mstoyke

15-08-2010 01:01:38

Did you embedd it to the Mogre autowrapper?
Or do you wrap it manually? (In this case: do you use C++/CLI or P/Invoke?)


I extended the Mogre autowrapper to support wrapping the components. In fact the two components are embedded in the Mogre.dll at the moment, so it's easier to use it with existing projects by just switching to the new release. The drawback is that you now also need the Terrain.dll and Paging.dll, not just OgreMain.dll in the same folder to load Mogre.dll without exception. I don't know when I will split it up, but my estimate is somewhere between the beta and the stable release.

User boyamer also wants to wrap the new terrain system. Maybe he still started the work. In this case maybe it's bad to do redundant work instead of combining the forces. (Ok, I suppose he use P/Invoke. If the terrain system will be wrapped by the Mogre autowrapper, I don't know if it's compatible.) I will invate boyamer to this thread.

I saw that boyamer wanted to wrap the terrain wrapper some time ago. But because I need it soon and (mostly) completely wrapped I decided to just do it now. It's also better for future releases of Mogre, because when 1.8 is ready we can quickly provide a (hopefully) working wrapper. The effort that boyamer will put into a P/Invoke wrapper is not obsolete, because we still have to think about the future and a way to support other platforms with Mono some day.

I'm interested to test the new terrain system. Where are useful information about how to use it?
Can I use my texture and heightmap pictures of the plain old Terrain Scene Manager?


I can provide you some code that I'm currently implementing in the quickstart project to test the basics of the terrain wrapper. It's not much, but at least I already managed to create a very simple terrain and render it. So, I think, the good news here is, it actually works. But there is still some work to do to get the API fixed, because some functions are just not wrapped correctly yet. I even needed to temporarily remove the functions to re-calculate the lightmap and the normalmap to compile it.

About your "general" notes - maybe it would be a better place to post it in the Mogre 1.7.1 thread. Attach it to your first post (for newcomers) and additionally write it in a new post (for older users). It's a more common place than in this more specialized thread.

I want to keep the list in one place, because it's easier to maintain it this way. This thread and the extended wrapper is actually something I want to use to see if there are more than just 10 people out there actually interested in Mogre :)

In the future I want to put the content of your first Mogre 1.7.1 post on a new wiki page called MOGRE Introduction, which should contain useful information for newcomers, e.g. first steps, where/how to find information, etc.

Feel free to do so. I think it's great to have the most important information from these forums collected in the wiki. Threads get old and will be forgotten, once they are not on the first page anymore. But the wiki can provide access to all kind of information quickly without browsing through hundreds of post.

Beauty

15-08-2010 19:18:21

Oh, I got good news.
The basic (C++) tutorial about terrain was been updated and now it contains much useful information about the new terrain system. :D
http://www.ogre3d.org/tikiwiki/Basic+Tu ... ls#Terrain

mstoyke

15-08-2010 19:45:11

Oh, I got good news.
The basic (C++) tutorial about terrain was been updated and now it contains much useful information about the new terrain system. :D

Yes, that is where I got some basics from to start testing the terrain wrapper. As you can see in the first post of this thread, I was already able to initialize the terrain component and create a simple terrain.

The terrain component is a nice addition to Ogre, but it's only useful when you pre-generate terrains and save them for later use in a game or application. If you want the component to create a terrain from a heightmap it takes ages (30 seconds for a simple 257x257 terrain), so it's only useful for editors. Loading a pre-generated terrain is much faster.

boyamer

20-08-2010 19:36:11

What i really would to try to full managed port terrain and Paging system, Axiom already has them, i'm rewritting SkyX to fit Mogre so no need for wrappers,
maybe you should do the same thing, just an idea :)

mstoyke

20-08-2010 20:43:08

What i really would to try to full managed port terrain and Paging system, Axiom already has them, i'm rewritting SkyX to fit Mogre so no need for wrappers,
maybe you should do the same thing, just an idea :)

I'm not a big fan of ported modules and libraries. A wrapper is much easier to maintain and can be kept up-to-date with new engine releases quickly. That's why I abandoned using the Axiom engine long ago.

A completely native engine would have some advantages, especially if you want to support other platforms that don't allow native code (like XNA on XBox). But it will take a lot of time and effort just to recreate something that already exists. I will still happily accept ported projects in the add-ons repository if you intend to release the source code, but I don't want to put any of my time in porting existing systems.

Leron

24-08-2010 12:48:27

Hi, Is there any progress? A was fixing dotsceneloader so that it could load scenes from ogitor and stuck at terrain.

amirabiri

24-08-2010 16:43:35

Hello,

I'd like to help. I'm new to (M)Ogre and just going through the tutorials now. I've hit #3 and noticed the fork between Ogre and Mogre.

Which of the tasks you've mentioned are still relevant?

elfric

27-08-2010 17:38:49

Hi, just a note saying that I'm very interested in the work you're doing with the terrain components and paging. I'm new to Mogre, however (though not to game engines or programming), so I'm not sure how much immediate help I can be. I still have a learning curve to get through in learning to use MOgre at all. Nonetheless, I do plan on using what you're working on in my own project (http://www.ogre3d.org/addonforums/viewtopic.php?f=8&t=13316), so don't feel like your work will be going to waste :)

Beauty

04-09-2010 16:11:42

I'm not a big fan of ported modules and libraries. A wrapper is much easier to maintain and can be kept up-to-date with new engine releases quickly.
I agree to the advantages of a wrapper. Even when a port was created (with a huge amount of time). It's much more harder do update a port than a wrapper. And I suppose there is a bigger chance for a port to get obsolete or even dead. Especially when the porter/developer retires.

But I don't hit you (boyamer). For your Alimer engine a port is useful, because it also support XNA targets.
Although I prefer a wrapper of complex add-ons, I'm also happy when you donate a port for us :wink:

I'm new to (M)Ogre and just going through the tutorials now. I've hit #3 and noticed the fork between Ogre and Mogre.

Which of the tasks you've mentioned are still relevant?

The Ogre C++ basic tutorial 3 was been updated. Now it contains useful information about the new terrain scene manager.
The Mogre basic tutorial 3 still contains some notes about the old terrain scene manager. It's a simple manager and still works. But in Ogre 1.8 it will be removed (replaced by the new terrain scene manager).
An update of the Mogre tutorial would be good, but maybe this should happen not until the wrapper is ready. Currently not all functions are wrapped. Also we should keep the chapter of the old Terrain Scene Mananger until Mogre 1.8.x is out. So the user have a choice which to use. The old TSM is still fine for simple tests of beginners.

McDonte

29-09-2010 11:06:03

I just read through this thread and I'm feeling a little bit guilty of not helping to Mogre at all (besides amirabiri with the tutorials) but using all the knowledge here. I really would like to help but in this thread there are totally different topics mentioned and so it seemed hard to get back to the main topic of the first thread.

I don't know, it's a long time since the first post, but do you still need this, mystoke?

So, now for my first list:

Terrain

1) Terrain Testing. I need a test project for the terrain component first, the paging component will be worked on later. I'm currently focused on improving the wrapper and fix some bugs that I found while extending it. So it would be of great help if somebody else could provide the tools for testing. Use the quick start project that I released some time ago and add some terrain to it. We need to get the initialization and shut-down of the component working first before we can test all the other features.

2) Terrain Documentation. It's important that users can find all information they need to use the components, so I want to have everything in the Wiki. Contact Beauty to discuss the structure of the pages first, I don't want to end up with a lot of unfinished pages all describing the same stuff.


Well, I'm getting back :) so: is this testing solution still needed?

mstoyke

29-09-2010 11:24:24

A testing application is still needed. I did some basic test to see of ot works at all, but to get the API stable, I need to get feedback about the methods that are wrapped. Especially if they are wrapped properly or need some finetuning.

So an application that uses as much features of these components as possible will help to get the wrapper done faster.

McDonte

29-09-2010 18:46:48

Well, I created one with your quickstart project (VS2010). I took the Ogre BasicTutorial #3 and adapted the code for Mogre and put it as a state. It's running fine but I have no terrain...
I just read your first post and noticed that you have already uploaded a first version of the wrapper but I can only find some source files...shall I compile them on myself?

mstoyke

29-09-2010 19:09:42

Well, I created one with your quickstart project (VS2010). I took the Ogre BasicTutorial #3 and adapted the code for Mogre and put it as a state. It's running fine but I have no terrain...
I just read your first post and noticed that you have already uploaded a first version of the wrapper but I can only find some source files...shall I compile them on myself?

Sorry, no pre-compiled binaries yet. You'll need to compile the wrapper yourself. If you can't compile it for any other reason than lazyness ( :) ), I can provide you some compiled binaries.

McDonte

29-09-2010 19:13:23

It's not lazyness :D I just tried but i failed :(

The compiler is missing "CLRObjects.inc" ... I used search on the whole computer but it doesn't exist... maybe you could provide me with this little file?

EDIT:
I figured something out: in "Main\include" is no folder called "auto" where the specified file should be. At the repository there is one neither. Could you tell me where to gte these?

mstoyke

30-09-2010 19:49:21

Did you follow these build instructions in the repository?

McDonte

03-10-2010 14:58:28

Thanks for this hint, no I didn't. I didn't know that I'm supposed to compile evrything again. Well I will try this!
One question about this: how do I apply a patch?


EDIT:
I know how to apply a patch with Mercurial or TortoiseHG but both don't work. First I got errors that the file "include/OgrAnimable.h" is not found. It is there, no problem, so I changed this "OgreMain/inlucde/" from the patch to "OgreMain\include\". Now both (Mercurial and TortoiseHG) found the specified files but are not able to apply the patch. There are errors at "TRUNK #1 and TRUNK #2"... I tried it ten million times but it doesn't work.

Please help me, I have no idea anymore and I checked every possibility given by Google.

McDonte

27-10-2010 17:23:50

Well, after many weeks of trying I still have no idea how to get the terrain working. The testing project is running fine, I testet it on my x64 Debug and Release with the Konfiguration x86, so I think it should run on all machines.
But I can't solve my problems about compiling Mogre. I was able to apply the patch through an extern program but the rest doesn't work. CMake is complaining about a hundred errors. And some of the instructions I don't understand.
The project is ready to use even the terrain code is included (it's commented at the moment). Unfortunately I can't do anything else till I got somehow the needed terrain files...

If somebody could help I would be very pleased :roll:

AliAkdurak

04-11-2010 12:36:27

Hello Mystoke

I just wanted to say there is whole team(kdr35, myself and two others) working with mogre in Turkey. And started to have excellent results from our Simulator software. Both you and gantz are/were wonderfully helpful and really made this possible and less brain damaging for us. I will try to build mogre from source again today just to give you feedback in the new things you are doing and see if we can use new terrain manager instead of old one to do tests for you. I am already feeling guilty for myself and my team that we didn't give anything back to the community we learned so much from.

Thank You

PS: I also should say thanks to everyone who were supported and provided for mogre and ogre to us. To name a few beauty, Jajdoo(Although after seeing his shader guide I think he is completely insane) and jacmoe and the one who wrote the pro ogre programming book with the avatar of stewie and sinbad of course.

I am writing this message here in this post as you said you wanted to know if people cared about mogre or if there was anyone using it. Yes there are. I will post some screenshots after I take necessary permissions from management.

mstoyke

04-11-2010 19:33:06

I just wanted to say there is whole team(kdr35, myself and two others) working with mogre in Turkey. And started to have excellent results from our Simulator software. Both you and gantz are/were wonderfully helpful and really made this possible and less brain damaging for us. I will try to build mogre from source again today just to give you feedback in the new things you are doing and see if we can use new terrain manager instead of old one to do tests for you. I am already feeling guilty for myself and my team that we didn't give anything back to the community we learned so much from.
Hello, it's great to hear that you use Mogre in your project and it works well for you. The whole Mogre and Ogre community is very helpful in my experience and I'm glad if I could help you to have a more or less painless experience using Mogre. Feedback for the terrain component is very appreciated, because the Ogre maintainers want to remove the old terrain scene manager in favor of the component in Ogre 1.8, so we need to get this part of the wrapper done soon.

Beauty

19-12-2010 21:28:27

But I can't solve my problems about compiling Mogre. [...] And some of the instructions I don't understand.
Please give us details. Quote the lines of the build instruction which you don't understand. Then I will ask user manski to improve these lines. (If I remember right, he is the author of this build documentation.)


I just wanted to say there is whole team(kdr35, myself and two others) working with mogre in Turkey. [...] Thank You [...] thanks to everyone who were supported and provided for mogre and ogre to us.
Many thanks for your feedback and "thanksgiving". So we see that our public work is useful. Especially to read my name makes me face smiling :D

To make the other quoted people happy, I sent messages to let them know. (Because most of them don't read in the Mogre section.)


In our forum is the topic Full stack for a game built in C#?. There some Mogre developers wrote which add-ons and libraries they use. It would be great if you can publish there, which ones you use.
Also you could write there a little bit more about your Simulator Software.
Is it a game or a scientific software?
(In my scientific application I use Mogre for simulation of Sonar sensors for underwater vehicles.)

sws

05-01-2011 14:18:44

Hello,

I would like to test the new terrain scene manager and followed the posted build instructions.

Now I am stuck at step 20 (Starting autowrap.exe):
When I start autowrap.exe, it throws the "Unexpected" exception in CreateExplicitType(DefTypeDef typedef), because "_StringStreamBase" respective "std::basic_stringstream" isn't contained in any switch-case.

What is the right way to solve this issue? Did I something wrong in the steps before that can cause this error?


EDIT:
Nevermind, problem solved. Looks like I downloaded the wrong ogre version. After downloading the one with the correct hash it worked :-)

amirabiri

16-01-2011 01:12:06

Hi,

For the game that I've started developing heightmap terrains are an important part of it. So I need to use the wrapped terrain component.

To do this do I need to compile the TerrainAndPaging branch in your repository myself, or are there precompiled binaries of this branch?

amirabiri

03-02-2011 23:05:22

I would like to help test the Paging an Terrain component, my little application definitely can use it.

Now that I can compile Mogre, I'm happy to compile your terrainpaging tag, but it's a lengthy process so if there are binaries available I will just use them.

Are there binaries for this branch or should I compile myself?

mstoyke

03-02-2011 23:07:47

You'll have to compile the sources yourself. I lost the compile binaries when my HD crashed and will not have the time to recompile a terrain component version before the release of Mogre 1.7.2 is finished.

amirabiri

03-02-2011 23:12:06

Then I will do so.

Is there anything special I should do to compile this branch, or will the same process work? I'm particularly asking this because of the Ogre revision to checkout and the Ogre patch to apply.

amirabiri

07-02-2011 16:08:31

I was able to compile the TerrainAndPaging branch. It was a breeze now that I understand the compilation process. The only small issue I encountered was that the patch file was wrong for two files: OgreTerrain.h and another one that I forgot now. Anyway I just manually patched these two files and I'll send the revised diff.

The main problem now is understanding how to actually *use* the paging as the documentation on this matter isn't something. I've added an item to my mental wiki TODO list to write a better guide on how to use paging in Mogre/Ogre.

Also I have the final binaries which I'm happy to share if anyone is interested. Just drop a line here and I'll post them somewhere.

McDonte

07-02-2011 17:20:22

Hey amirabiri,

I would be very glad when you shared your binaries with me! Are they compiled for .Net 4?
I think it can be useful for others too so decide where to post them.

amirabiri

07-02-2011 21:28:22

Yes for now I only work with .NET4 I only use .NET2 when I work on the tutorials.

I'll post the binaries somewhere later tonight.

Pyritie

15-02-2011 20:53:51

Just out of curiosity, what's the progress like on this whole thing? Is it almost done, mostly done, halfway done, or what?

CodeKrash

02-03-2011 22:30:31

another request for an update.

There seems to be a lot of obsolete/broken mogre addons lately, and I want to be sure that the developers for this aren't going to pack up and disappear as soon as I'm into it! :roll:

BobbyFischer

05-03-2011 16:11:31

Hi

I'd also like to state how amazing the Ogre3D project is, and how much I appreciate the efforts done to keep the Mogre wrapper up to date.
Some addons are out of date, I guess that is to be expected, but the messiness in the forums/Wiki makes it hard even to track-down those that have been updated e.g. MOIS has been updated for net 4, but the tutorial still states that "there is no available binary release of MOIS compiled against .NET 4.0"
http://www.ogre3d.org/tikiwiki/Mogre+Basic+Tutorial+4

Of course, simply complaining doesn't accomplish anything, and unfortunately I'm not experienced enough to work on updating any wrappers myself, but if you need more personnel to keep the wiki or forums current (so that updates don't fall through the cracks) then I'd gladly volunteer for that.

Beauty

05-03-2011 23:29:59

MOIS has been updated for net 4, but the tutorial still states that "there is no available binary release of MOIS compiled against .NET 4.0"
Thanks for your hint. I updated the MOIS page in the wiki when MOIS binaries for .NET were published. I didn't know that there was also a note on a tutorial page.


how much I appreciate the efforts done to keep the Mogre wrapper up to date.
Well, this is really much work and we are just a few people who spend our free time for that. A bigger problem is that some things changes for newer Ogre versions and sometimes it's terrible hard to update some code. Either because of needed specialized knowledge (e.g. about wrapper techniques) or there is a need for much time for do changes. And of course the effort to find out what's the source of a problem.
Related to add-ons: When an add-ons author leaves the Mogre world, often there is nobody who continues the job. And if there is somebody who is interested, he often burnes his fingers.
Nethertheless we try the best to keep Mogre and useful add-ons alive.


if you need more personnel to keep the wiki or forums current (so that updates don't fall through the cracks) then I'd gladly volunteer for that.
Thanks for your offer.
We don't have "special tasks" for our Wiki, especially for newcomers it's not easy to write about something what he doesn't know very well.
Just "play" with Mogre and use it for 3D stuff.
Useful for us are reports.
For example about problems with the installation setup, wrong/unclear/missing/outdated information in the wiki or similar.
So we know where we shout put our focus.

CodeKrash

09-03-2011 21:32:57


Related to add-ons: When an add-ons author leaves the Mogre world, often there is nobody who continues the job. And if there is somebody who is interested, he often burnes his fingers.
Nethertheless we try the best to keep Mogre and useful add-ons alive.


There should be a certification and associated standard, the "Certified Mogre Addon" stamp should be incentive for the addons' maintainers to keep a compatibility chart, and other vital information. This kind of accountability would save thousands of hours of work/play for people who try and fail due to compatibility issues.

I would still like to know the status of this paging addon.

Beauty

11-03-2011 19:53:03

Thanks for your idea.
Unfortunately I don't think that such a given certificate will change anything.
Because when an add-on developer/maintainer has no interest in continuing the development (which includes updates), then we can't fore hin.
We can just ask him for an update or to help when other people have update problems.

Also I think, Mogre newcomers could be confused about the certification.
They could think "is is a better add-on" or are uncertificated add-ons less useful.
And we would need to discuss when to add or remove a certification.

Well, for our small Mogre community (with only a few maintainers/publishers) I don't think it's a good idea.
We try to help as we can. That's all we do. :roll:

CodeKrash

13-03-2011 02:55:56

why is this thread even a sticky if the project is abandoned (correct me if I'm wrong)

Beauty

13-03-2011 14:06:53

It's sticky, because it's very important for the future of Mogre (terrain support).
The "classic" Terrain Scene Manager will be removed in Ogre 1.8.
Until then Mogre should have a wrapper for the new Ogre terrain system.

Well, it's still in development and just a pre-release for testing.
We want to get feedback about the pre-release and hope that maybe somebody support us in the development.
Until now only mstoyke works on it. Unfortunately he has not much free time.

CodeKrash

13-03-2011 18:05:17

can someone point me in the correct direction to download binary compilations of this? I really don't feel like using today to reinvent the wheel.

Beauty

13-03-2011 19:28:56

Mstoyke refers to a repository page, with a description how to build Mogre (incl. terrain and paging component).
https://bitbucket.org/mogre/mogre/src/tip/BUILD

Binaries? Good question.
Currently I don't know if the binaries were published.
I read the whole topic again.
I don't know if the binaries were published.

.....
Now I searched on different locations.
Then I found out that the related files OgreTerrain.dll and OgrePaging.dll are in the binary download packages, which are downloadable from sourceforge:
Mogre171VS2010Libs.7z
Mogre171VS2008Libs.7z

Well, this important information wasn't published in this topic. Sorry for that.

How to use the new terrain, I don't know.
For Ogre it's documentated in the Basic Tutorial 3 and I suppose the usage for Mogre is similar.
(Note: The Mogre Basic Tutorial 3 is still based on the old Terrain Scene Manager. We want to wait for updating this tutorial until the new terrain component works stable.)

I hope I could help ...


@amirabiri:
When we update the Basic Mogre Tutorial 3 for the new terrain system
I think it would be useful to keep the current content (related to the old Terrain Scene Manager).
Reason: This is useful for people who still use Mogre 1.6 or 1.7.

Beauty

13-03-2011 21:44:05

Now I added the important links to the first post, too.

McDonte

14-03-2011 12:23:13

Thanks, Beauty, for these really important links. I didn't know either that there were binaries.

I downloaded them but the Terrain component is not included. I can't find any type that used in the Ogre Tutorial...So far they are only the usual Mogre binaries or I am missing an important point :)

Please correct me if it was only my mistake

Beauty

14-03-2011 14:39:57

the Terrain component is not included
You mean the files? (I downloaded the VS2008 zip file and there they are inside.)
Or can't you get access to the API?
In this case I can't help. I have no idea how to integrate/use the wrapped terrain and paging components.

Beauty

14-03-2011 14:47:18

I got an idea. Maybe you have to "enable" the terrain component in the config file Plugins.cfg.

McDonte

14-03-2011 15:08:39

Is the terrain component something like a plugin?
I will give it a try.

Edit:
It doesn't work. Apparently it's used different than plugins.
Cannot find symbol dllStartPlugin in library .\OgreTerrain_d
There has to be another way...

AliAkdurak

17-03-2011 08:01:20

It is compiled with the ogre through cmake parameters. it is going to replace the current scene manager in 1.8 of Ogre. We tried several times so that we can test mystokes development but failed to achieve anything.

McDonte

17-03-2011 12:23:15

Yeah, I noticed that Cmake creates the Terrain component as well but as you said nobody has so far compiled the wrapper for it successfully...I really would like to test ist, hopefully amirabiri will soon finish his autobuilder.

Beauty

17-03-2011 13:36:31

Thanks for reporting.
Mstoyke (the wrapper author) currently has no free time, because he moves to an other city and has a new working place environment.
Tree days ago he wrote me that he want to come back to the Mogre public when he managed his move (including preperation and post facility).
Maybe will be active again in May??
It's just a imprecise note, but maybe somebody wants to know the current state of him.

Herb

26-04-2011 18:55:16

Maybe I don't understand or am missing something...but, the binary downloads listed on the first page don't have the terrain/paging component in there... The OgreTerrain.dll and OgrePaging.dll are the c++ binaries, but Mogre.dll doesn't have the Terrain or Paging namespaces in it. Wasn't the point of posting the binaries was to be able to test the 1.7 terrain in Mogre? Hopefully I'm just missing something someone could clarify for me.

AliAkdurak

22-05-2011 07:17:44

I wasn't around for sometime but I was checking occasinally to see if build problem was solved. It seems mystoke or someone else updated the build instructions :) and pointed the right direction for "_ITERATOR_DEBUG_LEVEL" problem of ours. Thanks a lot :) for the hard work. I am now building it. Here is some feedback and clarification on where I stuck a little bit with the latest build instructions.

If there are linker errors for "_ITERATOR_DEBUG_LEVEL" mismatch, check "http://www.ogre3d.org/forums/viewtopic.php?f=1&t=54533&start=100#p388654";,
I could fix the errors by compiling debug version of dependencies first, then compiling release versions of dependencies separately.


For lazy bunch this does not work directly. if you read the link provided you will eventually understand what you should do but I will give the cheats anyway. The problem is that when building ogre dependencies solution release references of FreeImageLib to his other fellow projects in the solution are refereed to debug ones because of bad build environment management of VS 2010 and some bugs.

-Build using batch build in debug mode settings for all libraries.
-Build using batch build in release mode settings for all EXCEPT FreeImageLib(Just don't check it in release batch build.)
-Then change enviroment to release go to references of FreeImageLib remove the references of other projects there is total of 8 references to other projects in the solution apply and close.
-Now add references of projects back to FreeImageLib references. I know it is silly but it seems it is a bug of VS 2010. The references are LibJpeg, LibMng, LibOpenJpeg, libPng, LibRawLite,LibTiff,OpenEXR,ZlibFreeimage.
-Check the FreeImagelibs properties>librarian>commandline to assure that in release mde it is going to take releases of the other projects.
-Build the freeimagelib in release(Remember that you already build it in debug settings) and everything will be ok when building OGRE for the next step.

I also get 111540 error when building mogre. There was no BOOST_INCLUDE_DIRECTORY and no BOOST_LIBRARIES_DIRECTORY macro in my VS2010 so you may need to change these to non-macro path before hitting the build of Mogre2010. You will need to make changes in additional includes and linker properties for both debug and release settings. I made total of 4 absolute path showing. 2 for debug 2 for release.

So far everything seemes to be going well I will post when it is done.

AliAkdurak

22-05-2011 14:23:35

Error 34 error C2059: syntax error : 'public' C:\OGRE\Mogre\Main\include\auto\MogreDataStream.h 283 1 Mogre
Error 35 error C2143: syntax error : missing ';' before '<class-head>' C:\OGRE\Mogre\Main\include\auto\MogreDataStream.h 287 1 Mogre
Error 36 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int C:\OGRE\Mogre\Main\include\auto\MogreDataStream.h 287 1 Mogre
Error 37 error C2504: 'Mogre::DataStreamList' : base class undefined C:\OGRE\Mogre\Main\include\auto\MogreDataStream.h 288 1 Mogre
Error 38 error C2888: 'DataStreamListPtr::NativePtr' : symbol cannot be defined within namespace 'Mogre' C:\OGRE\Mogre\Main\include\auto\MogreDataStream.h 356 1 Mogre
Error 39 error C2888: 'DataStreamListPtr::Unique' : symbol cannot be defined within namespace 'Mogre' C:\OGRE\Mogre\Main\include\auto\MogreDataStream.h 361 1 Mogre
Error 40 error C2888: 'DataStreamListPtr::UseCount' : symbol cannot be defined within namespace 'Mogre' C:\OGRE\Mogre\Main\include\auto\MogreDataStream.h 369 1 Mogre
Error 41 error C2888: 'DataStreamListPtr::Target' : symbol cannot be defined within namespace 'Mogre' C:\OGRE\Mogre\Main\include\auto\MogreDataStream.h 377 1 Mogre
Error 42 error C2614: 'DataStreamListPtr' : illegal member initialization: 'DataStreamList' is not a base or member C:\OGRE\Mogre\Main\include\auto\MogreDataStream.h 293 1 Mogre
Error 43 error C2027: use of undefined type 'Mogre::DataStreamList' C:\OGRE\Mogre\Main\include\auto\MogreDataStream.h 314 1 Mogre
Error 44 error C2227: left of '->_native' must point to class/struct/union/generic type C:\OGRE\Mogre\Main\include\auto\MogreDataStream.h 314 1 Mogre
Error 45 error C2614: 'DataStreamListPtr' : illegal member initialization: 'DataStreamList' is not a base or member C:\OGRE\Mogre\Main\include\auto\MogreDataStream.h 315 1 Mogre
Error 46 error C2027: use of undefined type 'Mogre::DataStreamList' C:\OGRE\Mogre\Main\include\auto\MogreDataStream.h 316 1 Mogre
Error 47 error C2227: left of '->_native' must point to class/struct/union/generic type C:\OGRE\Mogre\Main\include\auto\MogreDataStream.h 316 1 Mogre
Error 48 error C2039: '_native' : is not a member of 'DataStreamListPtr' C:\OGRE\Mogre\Main\include\auto\MogreDataStream.h 327 1 Mogre
Error 49 error C2039: '_native' : is not a member of 'DataStreamListPtr' C:\OGRE\Mogre\Main\include\auto\MogreDataStream.h 336 1 Mogre
Error 50 error C2039: '_native' : is not a member of 'DataStreamListPtr' C:\OGRE\Mogre\Main\include\auto\MogreDataStream.h 343 1 Mogre


Well I could not solve why I get 10000+ error the error looks like every line. It is probably a simple thing and I am open to suggestions right now :D. I changed every relative path but It does not solve the problem so it is not the thing.

Edit: Now I am at work and will try it again where it doesn't take 2 hours to rebuild ogre

Edit 2: I gave up and downloaded the pre-builded binaries. I will test it with ogitor and report back.

Edit 3: Definitely the posted pre-build binaries for VS2010 does not contains the namespace or the classes for Terrain :( we need to get to the bottom of this. I was editing the dotsceneloader so that we can get new terrain made with ogitor but no success.

crashtua

29-05-2011 19:26:43

What is the state of "Mogre Terrain and Paging". Is it ready for use? Or there is some critical bugs in it?

mrboese

02-06-2011 00:24:46

I don't think, they will finish it in next time.
I will use C++ now.

crashtua

03-06-2011 12:59:09

I think the same way. Maybe it will be possible to mix managen and unmanaged code for my needs....

umityildiz

01-07-2011 18:03:36

Thanks for reporting.
Maybe will be active again in May??

You can look up to someone else? Because, it seems very orphan mogre.

zarfius

09-08-2011 06:41:22

Hello fellow Mogre developers :)

I thought I'd let everyone know that I'm currently working on adding Terrain and Paging to my Glue Editor project. Rather than wrapping the entire terrain and paging component as has been the approach in this thread I decided to take a slightly different approach and only wrap the bare minimum functionality required by the editor.

The way I do this is to effectively hide Ogre from the managed code by first wrapping it into another native C++ DLL using the pimpl idiom then wrapping that into C++/CLI. It creates an extra layer, but gives the advantage of being able to wrap any C++ code into .NET without having to deal with the boost errors and other such annoyances.

Currently, it's wrapping Ogre directly without the use of Mogre. The advantage is that you could potentially expose the latest versions of any of the ogre addons without first wrapping them into Mogre. However, I'm still faced with the problem of using it with Mogre. The solution to this is fairly simple, compile Mogre and my terrain wrapper against the same version of Ogre. The easiest solution would be to grab the exact copy of Ogre that was used to build the pre-compiled binaries of Mogre. Alternatively, I could compile Mogre myself, but I'm still confused about the best way to approach that.

[attachment=0]managed_terrain_window.jpg[/attachment]

If anyone is interested in this approach I'd be happy to share the code and work through the issues with the community?

Beauty

09-08-2011 10:57:25

You can look up to someone else? Because, it seems very orphan mogre.
I'm happy about everybody who support our small (sub)community.
Nevertheless I can't conjure up anybody who has the needed specialist knowledge, time and motivation.
Ogre and Mogre are open source projects and we can't hire people. Most work is based on freetime activity. I can't force people to spend their (mostly spare) free time to something. Also I don't want to push people to something.
Either somebody does something by his own motivation or in association with their working place. (In the second case the boss need to agree publishing improvements).
In the last years people are coming and people are going idle. Most Mogre "supporters" were active only for a few months. It's no long timespan in the long term, but each support was useful (partial huge merrits) and I'm grateful about the people.

It's a little bit hard, but for open source projects there is this rule:
If you need something, you need to wait (hope) that somebody does the job or you have to do it yourself.

We would be happy about support of the new terrain component. Especially because the old terrain scene manager will be removed in Ogre 1.8. Unfortunately I can't help to wrap anything, because I have very less C++ knowledge.

Beauty

09-08-2011 11:07:54

I'm currently working on adding Terrain and Paging to my Glue Editor project.
Nice to know.
Do you "just" want to load terrain or also support terrain editing?

Also it's an interesting way how you handle it.
The plain source code I can't use.
But when your terrain extention is ready, maybe I could use your editor for my application.

zarfius

09-08-2011 12:02:02

Do you "just" want to load terrain or also support terrain editing?

It's going into an editor, so yes, terrain editing is on the cards.

But when your terrain extention is ready, maybe I could use your editor for my application.

I've had a few requests to add terrain editing features into the editor. The main thing stopping me was the difficulty but the more support I get some the community the more I am motivated to implement it. So far I have completed the proof of concept to show that it can be done fairly easily.

My plan tonight is to get the terrain rendering in the editor and to do that I need to make sure the editor is using the same version of Ogre / Mogre as the terrain component I've used in the screenshot. There are a few ways I can approach this:
1. Build the terrain component with the same Ogre source code used to build the pre-compiled Mogre binaries; or
2. Build Mogre with the same source code as I'm already using for the terrain component; or
3. Some other way that I haven't thought of yet.

The first option is tricky because I don't know which version of Ogre to use.
The second option is tricky because I don't know which build instructions to follow. The instrucitons on the wiki look like the easiest (using mstoyke's modified sources). The auto builder tool looks good but I can't tell if it's actually finished.
Lastly, I want the process to be easily reproducable so that if I have to do it again it won't hold me up. At this stage I'm leaning towards using the full build process just in case I run into other issues with the auto builder.

Beauty

09-08-2011 13:01:23

1. Build the terrain component with the same Ogre source code used to build the pre-compiled Mogre binaries; or
2. Build Mogre with the same source code as I'm already using for the terrain component;

I don't know which source code the Mogre.Builder project uses. Maybe it's a good way to use the same. Then your terrain wrapper could be build automatically by this build tool, too.
McDonte wrote that the build tool would only need the source download support to get ready. He wants to try to implement this feature.


3. Some other way that I haven't thought of yet.
You could use the source code of user Cygon, which he published in the topic Some x64 builds of Mogre 1.7.3. It also contains x86 versions of Ogre.
It's looking good that his builds will become "official" and included to the MogreSDK.

I want the process to be easily reproducable
This is a good point in the long term.

catchsparrow

11-08-2011 14:05:59

Hello guys,

Are there any news on Terrain and Paging functionality being wrapped in Mogre? I have just begun working with Mogre and I'm curious if it is possible to use Ogre Terrain System without touching unmanaged code.

Beauty

11-08-2011 21:29:34

Hi catchsparrow,

currently you can use the plain old "Terrain Scene Manager" (without touching unmanaged code).
More information you find in the Mogre Basic Tutorial 3 and on the TSM wiki page.
An alternative could be the Editable Terrain Manager, but this is only usable for Mogre 1.6, not 1.7 (because it's developer got idle and nobody else updated the code).
Perhaps also the landscape editor Artifex Terra is usable with Mogre. It's based on the Editable Terrain Manager and also supports Ogre 1.7.

Unfortunately there exists no finished Mogre wrapper for the new "official" Terrain Component.

zarfius

12-08-2011 00:12:56

Are there any news on Terrain and Paging functionality being wrapped in Mogre?

I'm not going to promise anything but I am currently having a look at what I can do to take over this task. Earlier this week I hacked up a prototype and got the new terrain to render in a managed window. This wasn't using Mogre though, so there's a whole bunch of other issues to deal with first.

Next I attempted to build Mogre from source, but ran into the same _ITERATOR_DEBUG_LEVEL errors that a few others have mentioned (as far as I can tell is this caused by a bug in VS2010). I'll try again soon when I get some time.

If all goes well I'll be more than happy to finish the wrapper, however, after reading all of the related threads I can find on the topic I'm unsure what problems are blocking it. My goal is to create a wrapper that I can use in my Glue Editor project and if I run into too many issues wrapping the entire terrain system, I'm going to have to settle for a cut down version specifically for the editor.

In any case, I'll keep everyone updated with my progress and document whatever issues I happen to run into so hopefully we can solve them together.

Beauty

12-08-2011 01:40:21

Zarifus - thank you very much for your efforts

catchsparrow

12-08-2011 11:14:42

currently you can use the plain old "Terrain Scene Manager" (without touching unmanaged code).
More information you find in the Mogre Basic Tutorial 3 and on the TSM wiki page.

Thanks, Beauty. I'm aware of Terrain Scene Manager, and I'm using it, although I figured out that this component is going obsolete with Ogre 1.8, so I was wondering if Ogre Terrain System, which is going to replace TSM, is available in Mogre.

If all goes well I'll be more than happy to finish the wrapper, however, after reading all of the related threads I can find on the topic I'm unsure what problems are blocking it. My goal is to create a wrapper that I can use in my Glue Editor project and if I run into too many issues wrapping the entire terrain system, I'm going to have to settle for a cut down version specifically for the editor.
Great, I hope you will succeed. I'm not a professional in C++, so unfortunately I cannot create a wrapper myself.

zarfius

18-08-2011 03:24:19

I'll keep everyone updated with my progress and document whatever issues I happen to run into so hopefully we can solve them together.

Unfortunately I haven't got much further with this. The main issue being trying to build Mogre from source. I've tried doing it manually a couple of times and also using the Mogre.Builder project. I haven't had a lot of time to spare lately due to some other real life commitments and I've already spent a lot more time than I expected on these issues.

If anyone has got any further than this and wants to help I'd be very grateful?

Beauty

21-08-2011 20:03:40

Since 3 weeks there is a FAQ page in the wiki, which is related to the new terrain system.
Maybe it's useful for some of your.
http://www.ogre3d.org/tikiwiki/Ogre+Ter ... ponent+FAQ

Beauty

29-08-2011 21:42:39

Today I wrote e-mails with mstoyke.
In his spare free time he still works on the terrain wrapper and wants to to publish it, when it's ready.
Unfortunately he can't say when it's done.

Just as a tiny note :wink:

McDonte

17-09-2011 19:23:43

A small update onto this topic:
If you want to use the new Terrain and Paging component in Mogre you can do this! I just found out when I looked onto Cygon's binaries then I saw that all needed classes has already been wrapped. This is because Cygon compiled the Mogre branch TerrainAndPaging and provided these binaries.

Mstoyke said that this wrapper is (pre)alpha but it already works. For everybody who wants to try it I converted the Ogre BasicTutorial 3 (using the TutorialFramework):

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using Mogre;

namespace Mogre.TutorialFramework
{
class Program : BaseApplication
{
TerrainGlobalOptions mTerrainGlobals;
TerrainGroup mTerrainGroup;
bool mTerrainImported;


static void Main(string[] args)
{
new Program().Go();
}

protected override void CreateScene()
{
// setting up the camera
mCamera.Position = new Vector3(1683, 50, 2116);
mCamera.LookAt(new Vector3(1963, 50, 1660));
mCamera.NearClipDistance = 0.1f;
mCamera.FarClipDistance = 50000;

if (mRoot.RenderSystem.Capabilities.HasCapability(Capabilities.RSC_INFINITE_FAR_PLANE))
mCamera.FarClipDistance = 0;

// setting up the light
Vector3 lightDir = new Vector3(0.55f, -0.3f, 0.75f);
lightDir.Normalise();

Light light = mSceneMgr.CreateLight("tstLight");
light.Type = Light.LightTypes.LT_DIRECTIONAL;
light.Direction = lightDir;
light.DiffuseColour = ColourValue.White;
light.SpecularColour = new ColourValue(0.4f, 0.4f, 0.4f);

mSceneMgr.AmbientLight = new ColourValue(0.2f, 0.2f, 0.2f);

// create the terrain
mTerrainGlobals = new TerrainGlobalOptions();
mTerrainGroup = new TerrainGroup(mSceneMgr, Terrain.Alignment.ALIGN_X_Z, 513, 12000.0f);
mTerrainGroup.SetFilenameConvention("BasicTutorialTerrain3", "dat");
mTerrainGroup.Origin = Vector3.ZERO;

ConfigureTerrainDefaults(light);

for (int x = 0; x <= 0; ++x)
{
for (int y = 0; y <= 0; ++y)
{
DefineTerrain(x, y);
}
}

mTerrainGroup.LoadAllTerrains(true);

if (mTerrainImported)
{
foreach (TerrainGroup.TerrainSlot t in mTerrainGroup.GetTerrainIterator())
{
InitBlendMaps(t.instance);
}
}

mTerrainGroup.FreeTemporaryResources();
mTerrainGroup.SaveAllTerrains(true);
}

protected void ConfigureTerrainDefaults(Light light)
{
// Configure global
mTerrainGlobals.MaxPixelError = 8;
// testing composite map
mTerrainGlobals.CompositeMapDistance = 3000;

// Important to set these so that the terrain knows what to use for derived (non-realtime) data
mTerrainGlobals.LightMapDirection = light.Direction;
mTerrainGlobals.CompositeMapAmbient = mSceneMgr.AmbientLight;
mTerrainGlobals.CompositeMapDiffuse = light.DiffuseColour;

// Configure default import settings for if we use imported image
Terrain.ImportData defaultimp = mTerrainGroup.DefaultImportSettings;

defaultimp.terrainSize = 513;
defaultimp.worldSize = 12000.0f; // due terrain.png is 8 bpp
defaultimp.inputScale = 600;
defaultimp.minBatchSize = 33;
defaultimp.maxBatchSize = 65;

// textures
defaultimp.layerList.Add(new Terrain.LayerInstance());
defaultimp.layerList.Add(new Terrain.LayerInstance());
defaultimp.layerList.Add(new Terrain.LayerInstance());
//defaultimp.layerList.Resize(3, defaultimp.layerList[0]);

defaultimp.layerList[0].worldSize = 100;
defaultimp.layerList[0].textureNames.Add("dirt_grayrocky_diffusespecular.dds");
defaultimp.layerList[0].textureNames.Add("dirt_grayrocky_normalheight.dds");

defaultimp.layerList[1].worldSize = 30;
defaultimp.layerList[1].textureNames.Add("grass_green-01_diffusespecular.dds");
defaultimp.layerList[1].textureNames.Add("grass_green-01_normalheight.dds");

defaultimp.layerList[2].worldSize = 200;
defaultimp.layerList[2].textureNames.Add("growth_weirdfungus-03_diffusespecular.dds");
defaultimp.layerList[2].textureNames.Add("growth_weirdfungus-03_normalheight.dds");
}

protected void DefineTerrain(int x, int y)
{
string filename = mTerrainGroup.GenerateFilename(x, y);

if (ResourceGroupManager.Singleton.ResourceExists(mTerrainGroup.ResourceGroup, filename))
mTerrainGroup.DefineTerrain(x, y);
else
{
Image img = new Image();
GetTerrainImage(x % 2 != 0, y % 2 != 0, img);
mTerrainGroup.DefineTerrain(x, y, img);
mTerrainImported = true;
}
}

protected void GetTerrainImage(bool flipX, bool flipY, Image img)
{
img.Load("terrain.png", ResourceGroupManager.DEFAULT_RESOURCE_GROUP_NAME);

if (flipX)
img.FlipAroundX();

if (flipY)
img.FlipAroundY();
}

protected unsafe void InitBlendMaps(Terrain terrain)
{
TerrainLayerBlendMap blendMap0 = terrain.GetLayerBlendMap(1);
TerrainLayerBlendMap blendMap1 = terrain.GetLayerBlendMap(2);

float minHeight0 = 70, minHeight1 = 70;
float fadeDist0 = 40, fadeDist1 = 15;

float* pBlend1 = blendMap1.BlendPointer;

for (int y = 0; y < terrain.LayerBlendMapSize; ++y)
for (int x = 0; x < terrain.LayerBlendMapSize; ++x)
{
float tx, ty;

blendMap0.ConvertImageToTerrainSpace((uint)x, (uint)y, out tx, out ty);

float height = terrain.GetHeightAtTerrainPosition(tx, ty);
float val = (height - minHeight0) / fadeDist0;
val = Clamp(val, 0, 1);

val = (height - minHeight1) / fadeDist1;
val = Clamp(val, 0, 1);
*pBlend1++ = val;
}

blendMap0.Dirty();
blendMap0.Update();
blendMap1.Dirty();
blendMap1.Update();
}

protected float Clamp(float value, float min, float max)
{
if (value <= min)
return min;
else if (value >= max)
return max;

return value;
}

protected override void UpdateScene(FrameEvent evt)
{

}

protected override void DestroyScene()
{
mTerrainGroup.Dispose();
mTerrainGlobals.Dispose();
}
}
}

You need the six textures from the Ogre SDK Media/Materials/Textures/nvidia. Alternatively you can use your own textures but they have to be made like this.

Hope this helps somebody.


Update:
Direct download link: needed texture files (6 MB)

Beauty

17-09-2011 21:51:28

Oh, these are great news !!
Can you send the needed files to me by e-mail, please?
--> beautyod at gmx.de
I would like to add it to the MogreSDK repository.
Also I want to create a new wiki page for the new Mogre terrain compontent. There I want to put your demo code and direct download links to the needed materials (which will be in the MogreSDK repository).

McDonte

17-09-2011 22:11:05

Can you send the needed files to me by e-mail, please
They are on the way!

Shall we already update the Mogre tutorial? (even if it is a alpha version)

Beauty

17-09-2011 22:58:23

I thing it's good to have both tutorials.
One for the old stable Terrain Scene Manager and an other for the new (alpha) terrain.
So we could just create a clone of the tutorial and modify this.

Beauty

17-09-2011 23:15:01

Ok, I cloned the wiki page:
Mogre Basic Tutorial 3b
Have fun :mrgreen:

McDonte

19-09-2011 22:40:25

I converted the parts of Ogre BasicTutorial 3 related to Terrain to Mogre. You can find it here. I think we should combine the both Terrain tutorials because actually in Ogre 1.7 there exist two possible ways to create terrain.

I just added the texture files to the SVN, nothing more.
Can you add a link to the tutorial page? Because I don't know where you put the textures and it should be mentioned so the people can actually use the Tutorial.

Edit:
I saw you put a link to the files under my code snippet. Thank you for that, I added it to the tutorial.

Beauty

20-09-2011 19:48:37

I still added further information to the wiki, but there seems to be a bug in the wiki software. After adding my information the whole page was cleared.
I thought, I had found a solution for this problem. As I see now, the page was still cleared.
Here is my added section. If you like you can merge it with your added notes.

!Important Note
{DIV(class="achtung")}This tutorial is related to the __new terrain component__.
Its Mogre wrapper is currently an alpha version.
To learn the usage of the old and stable ''Terrain Scene Manager'' look to the ((Mogre Basic Tutorial 3)) instead.

The new terrain wrapper is only usable with the Mogre 1.7.3 build, provided by user Cycon. You can download the binaries [http://www.ogre3d.org/addonforums/viewtopic.php?f=8&t=14645|here].
Currently (September 2011) the new terrain system is NOT available in the MogreSDK.

%help% For questions __related to the new terrain component__ use this [http://www.ogre3d.org/addonforums/viewtopic.php?f=8&t=13224|forum topic]
{DIV}


In Ogre 1.7 both systems are available, but in Ogre 1.8 the old Terrain Scene Manager will be removed. Nevertheless I want to keep the information about the TSM in the wiki. It's a simple, but still useful terrain system.
One problem of the next Mogre 1.8 will be: Even when we don't have a stable terrain wrapper, we can't use the old TSM instead.

Your idea to put information about both terrain options is interesting.
If you think you can put both versions to the same tutorial without disturbing the overview, than you can do.
I'm not shure what's more suitable for Mogre beginners. Either one tutorial with 2 terrain options (could be confuse) or 2 seperate pages, which focuses on only one version.

By the way:
Shall I move this post and your last post to the terrain topic?

Beauty

20-09-2011 20:01:09

After some minutes of relaxing I think, it could be better to keep the current Basic Tutorial as it is.
The new terrain wrapper is only a less tested alpha version which doesn't support all features. So we should not confuse newcomers until it's not improved and well tested.

The new tutorial clone 3b we can keep (hidden) for a hopefully better terrain future.
Instead we could create a seperate page which only focuses on the new terrain usage under Mogre.

McDonte

20-09-2011 20:20:43

Sounds pretty reasonable what you said, so let's keep it how it is right now. I will try to add your note to the wiki page, maybe I have more luck...

And yes, move my posts, I don't know why they are here :?

Beauty

20-09-2011 20:33:10

Note:
I moved a few posts from an other topic to here.
The moved posts starts here.

Aweb

07-11-2011 22:39:37

Hello,

Is there any code available (in .Net or C++) explaining how to use the newly integrated Paging Manager (from what I understood, it is available with Cygon's binaries) ? I'm very interested (it is a necessary feature for my project wich requires huge, almost virtually "unlimited" terrains) and can't find any sample on the wiki.

If I missed any informations, please excuse me as I did the best I could to find it.

Thanks a lot,
Aweb

Beauty

09-11-2011 23:43:35

Hi Aweb,

thanks for your interest in Mogre.
Unfortunately I have to tell you, that the Mogre wrapper for the new Ogre Terrain component is just an alpha version. We can't tell you when there will be a better solution.
So I don't think it would be a good idea to use it as basis for your application.

If you want to play a little bit with it, look to the details inside the first post of this topic. There I added several links. For example to a Basic Tutorial, which shows how to use the terrain component.

For a stable project you should consider to use an other terrain manager. For example the Terrain Scene Manager or the Paged Landscape Scene Manager (PLSM2). Look to the wiki and search in the forums for details.
Artifex Terra is a sweet terrain editor. It also contains a plug-in/add-on to load its scenes to Mogre. The official website with screenshots is here.

Aweb

11-11-2011 18:11:13

Thanks a lot for your answer.
The fact is that I'd prefer using Ogre's paging component, but since it seems like it's quite new and there's still no documentation on it, I'll wait for it to mature a bit before using it.

Beauty

11-11-2011 22:10:21

In general it's a fine terrain solution and seems to be stable, although there is still space for improvement.
Some documentation is in the wiki and in forum topics. Additionally I suppose there is a description for the API in the Ogre class reference.
Our problem is that we need a wrapper for usage with Mogre.

Your opinions:
* Improve our current wrapper at your own (needs good wrapping knowledge)
* Use Ogre (C++) instead of Mogre
* Look to Axiom (a port of Ogre to pure C#, but with some differences, especially features) - perhaps it supports the new Terrain component
* Use an other terrain solution (as I told you before)
* perhaps more options??

Beauty

14-11-2011 22:49:13

In the Ogre User Survey 2011 Report I see that about 80 percent of the Ogre users use the Octree Scene Manager for terrain.
[attachment=0]Ogre_Survey_Terrain.PNG[/attachment] (click to enlarge)

I don't know much about the Octree Scene Manager. Does anybody knows more about?
Is it available for Mogre?
If yes, this would be a good alternative when the (old, but still usable) Terrain Scene Manager until we have a stable wrapper for the new Terrain Component.
In the near future Ogre 1.8 will be published officially. Then the Terrain Scene Manager isn't available anymore.
Later when we update our Mogre wrapper for Ogre 1.8, then it's gone for us, too.

zarfius

14-11-2011 23:22:08

I don't know much about the Octree Scene Manager. Does anybody knows more about?
Is it available for Mogre?
If yes, this would be a good alternative when the (old, but still usable) Terrain Scene Manager until we have a stable wrapper for the new Terrain Component.


I hate to burst your bubble but the scene manager doesn't really have a lot to do with the Terrain component. Unless I'm terribly mistaken Mogre already has the Generic / Octree scene managers by default. None of the other scene managers mentioned in that graph are particularly important unless your project requires some very specific behavior.

Unfortunately, Mogre's terrain situation is still a big problem. If my current project required terrain I would be considering hand wrapping the bits that I need or finding some other alternative.

Beauty

14-11-2011 23:46:44

Oh right ... it's not focused for terrain display. :cry:

McDonte

15-11-2011 08:36:15

Maybe you, Beauty, could ask mstoyke what exactly needs to be done to finish the wrapper. As he wrote it is only a pre-alpha version, but I do not know what features are still missing. When I tested it I did not encounter bugs or problems at all... It's just that maybe with some instructions we could do some stuff on our own.

Pyritie

15-11-2011 17:51:02

I don't know much about the Octree Scene Manager. Does anybody knows more about?
Is it available for Mogre?

it doesn't have to do with mogre at all! You just load it in plugins.cfg like you would any other ogre plugin and then do
root.CreateSceneManager("OctreeSceneManager", "sceneMgr");

but as far as I know, the whole octree thing is an algorithm for culling entities and doesn't have anything to do with terrain

Beauty

15-11-2011 19:47:21

Maybe you, Beauty, could ask mstoyke what exactly needs to be done to finish the wrapper.
He is always very busy for his job and the spare free time he has he prefer to spend with his family.
In the last months, sometimes he even did not reply to tiny questions.
If I remember right, he told me that he still improve the terrain wrapper from time to time.
Hi didn't publish the improved code, because he said it's hard to understand without comments.
And instead of creating documentations he prefer to work on the code.
When it's ready he want to publish it. (I hope the day will come one day.)

For the pubished version I suppose only a few functions of the API are still wrapped.
Also I suppose they were not tested very much.
Perhaps it was something like a quick wrapping test which should get improvements (e.g. optimizations).
This could be the reason for pre-alpha.

Beauty

16-11-2011 10:24:32

In the main forum I started a discussion about SceneManagers and also talked about the TerrainSceneManager.
It contains interesting details and summaries about several scene managers of Ogre.
[Split] Insight information about the SceneManager

Here are the posts related to the dropped Terrain Scene Manager:
The old TSM was based on the OctreeSceneManager (and in fact was provided by the same plugin). More accurately, it was the OctreeSceneManager, just with added terrain chunks :)

Octree is still in there, but it has no terrain stuff.

Very very interesting:

..
If not - is there a trick how to use the TSM even with Ogre 1.8?
For my application it's still fine and for Mogre (C#) we still have no working wrapper for the terrain component. So we Mogre users would be happy if we still can use the TSM with Ogre 1.8.


You could try taking the TSM code from 1.7 , remove the OctreeSceneManager specific code and build a new OctreeTerrainSceneManager plugin against the OctreeSceneManager headers/library from 1.8. You could then run your example using the 1.7 media.

I did this last night and it appears to work OK. Not sure if there are issues doing the above, there must be otherwise this would already have been implemented.


This could be one important reason why the TSM was dropped:
Both the terrain manager and terrain component had a header with the same file name and similar but not identical content (ogreterrainprerequisites.h). That was a real pain in the ass for my custom ogre framework. So I was incredibly glad when I saw the terrain manager was removed. :)

So perhaps we have a new option:
Replace the OctreeSceneManager by the TerrainSceneManager. If we can do so, we would have terrain support also for Ogre 1.8.
Does anybody know if for this case we need to modify the Mogre autowrapper? (Could be needed if there are differences for the API.)

Further questions can be asked in the terrain discussion of the Main forum. (same topic as linked on top)
It's not Mogre related, but there are Ogre developers, which know many internal details. This could be very useful.

McDonte

16-11-2011 15:08:28

He is always very busy for his job and the spare free time he has he prefer to spend with his family.
In the last months, sometimes he even did not reply to tiny questions.
If I remember right, he told me that he still improve the terrain wrapper from time to time.
Hi didn't publish the improved code, because he said it's hard to understand without comments.
And instead of creating documentations he prefer to work on the code.
When it's ready he want to publish it. (I hope the day will come one day.)

Well, it is understandable that he does not want to spend his spare time completely for Mogre. Unfortunately we do not have a clue how to continue without him... When he adds comments to the wrapper this could be a good start.

So perhaps we have a new option:
Replace the OctreeSceneManager by the TerrainSceneManager. If we can do so, we would have terrain support also for Ogre 1.8.

As far as I know this should not be such a big effort. It's basically about picking source files from 1.7 and 1.8 and compiling everything again. Since it is only a plugin you do not even have to compile Ogre or Mogre again...
Does anybody know if for this case we need to modify the Mogre autowrapper? (Could be needed if there are differences for the API.)
Since plugins are managed by Ogre and do not concern Mogre I guess it is not neccessary. At least I hope so because otherwise it would not make any difference to wrapping the new terrain component (regarding the work and complexity).

zarfius

17-11-2011 00:17:13

Since plugins are managed by Ogre and do not concern Mogre I guess it is not neccessary. At least I hope so because otherwise it would not make any difference to wrapping the new terrain component (regarding the work and complexity).

That sounds good in theory, until you get the the point of writing some code to create the terrain? Like how it's described in basic tutorial 3 I guess.

So I think what it essentially boils down to is making a .NET wrapper for the terrain interface code.

Unfortunately we do not have a clue how to continue without him...

Maybe we are putting too much weight on his approach. How hard can this task really be? It's only one plugin, maybe the wrapping can be done by hand. Sure, it's not as elegant as auto-wrapping but we seem to have tried and failed that approach a few times now so perhaps it's time to come at this from a different angle.

Beauty

17-11-2011 00:19:16

Sounds good.
At least as long as we don't try to mix the TSM with the new terrain component.
Because as Kojack wrote, there are file name conflicts between both terrain solutions.

So I suppose when we have a working/stable wrapper for the new terrain component, we need to publish different Mogre binaries.
One compiled against TSM and one against the new terrain.
Or did I misunderstood the quote of Kojack? (Perhaps it would be enough to just ignore the TSM plugin file?)

But I don't care much about this mixture problems, because we don't have a new terrain wrapper.
Ogre 1.8 (RC1) was published officially a few days ago.
When we update Mogre to 1.8, it would be great to keep the stable and still usable TSM by the "plugin replace trick".

McDonte

17-11-2011 01:10:39

Maybe we are putting too much weight on his approach. How hard can this task really be? It's only one plugin, maybe the wrapping can be done by hand. Sure, it's not as elegant as auto-wrapping but we seem to have tried and failed that approach a few times now so perhaps it's time to come at this from a different angle.
It is not just a plugin but a whole component that sinbad created over two years... :? I agree auto-wrapping seems to be elegant but nobody is able to do it so we need another solution. Basically we could also write a C++/CLI wrapper as it was done for other addons (for example Hydrax). But since Mogre uses another approach of wrapping I do not know if they work together. The new terrain component is intended to be a core feature not just an addon.

That sounds good in theory, until you get the the point of writing some code to create the terrain? Like how it's described in basic tutorial 3 I guess.
That's the difference between a component and a plugin: the component brings new classes, interfaces and methods. A plugin like TSM is only providing another SceneManager. You do not exactly use it in code, you only specify the name when you create it. Therefore it should not be a problem to keep the old terrain as a plugin in the Mogre 1.8.

So I suppose when we have a working/stable wrapper for the new terrain component, we need to publish different Mogre binaries.
One compiled against TSM and one against the new terrain.

I hope there is a better solution than providing different binaries. This would become a mess regarding maintaining and compiling always two versions of Mogre. I prefer to rename the TSM files Kojack mentioned to avoid troubles. So we can have the official Ogre terrain and the little plugin with the old terrain for Mogre users until we got a finished wrapper (and maybe even after that).

zarfius

17-11-2011 02:36:09

But since Mogre uses another approach of wrapping I do not know if they work together. The new terrain component is intended to be a core feature not just an addon.

Are you saying that the new terrain system is embedded in the OgreMain.dll rather than being a separate terrain DLL?

McDonte

17-11-2011 12:36:54

There is a separate dll called OgreTerrain.dll, it is absolutely independent from OgreMain. But different from plugins they are not included manually but are a static part of Ogre.

Beauty

17-11-2011 12:54:43

That sounds good in theory, until you get the the point of writing some code to create the terrain? Like how it's described in basic tutorial 3 I guess.
The Ogre basic tutorial 3 (C++) describes how to setup the new terrain component.
Our current Mogre Basic Tutorial 3 shows how to use the old TSM. For this you just need one line of code to load a config file. All forther settings are defined there.
So (I hope) we just would need the SceneManager and one single API method:
mSceneMgr.SetWorldGeometry("terrain.cfg");

By the way: McDonte published Tutorial 3b, which explains the usage of the new Terrain component.

So I think what it essentially boils down to is making a .NET wrapper for the terrain interface code.
Interesting to know this source file. In the past I wanted to look into the terrain source, but didn't know where to find it.

Unfortunately we do not have a clue how to continue without him...
It seems to be typical for open source that there is a fluctuation. Many people are only active for a period.
We shouldn't put our hope only on him.
In the past Mogre had good active developers. It was always sad when they leaved. But we should not look down. We should be happy that each of them for improving code, forum support and documentation work. Look to the future instead. I'm shure that other developers will find a way to our community.
An other fact is, that open source has no full support. If there is no support by others, people have to do the needed task for its own. I know, that can be hard.

Maybe we are putting too much weight on his approach. How hard can this task really be? It's only one plugin, maybe the wrapping can be done by hand. Sure, it's not as elegant as auto-wrapping
I think mstoyke wrote the terrain wrapper by hand. I never had read about other autowrappers than the Mogre wrapper.
Wrapping can be done by hand, but it needs a knowledge about C++ and wrapping techniques. A good wrapper doesn't just wrap API members. It keeps references, copies or similar things inside. (I don't know many details.)
In the past there was the .NET wrapper MogreDotNet. It was created by SWIG and was bad for performance, because it creates new object instances for each call (or somehow like that)? Mogre was better, because it doesn't create redundant references. Well, I know too less about such wrapping details. But I know there are differences.

But since Mogre uses another approach of wrapping I do not know if they work together.
One other thing I know (by asking):
For wrapping you can use either C++/CLI or P/Invoke.
Mogre uses C++/CLI, but add-ons can also be wrapped by P/Invoke. So a mixture of both ways seems to be possible and the user (wrapper creator) has the choice which he uses.
P/Invoke has the advantage that it even works on MacOS and Linux. C++/CLI works only on Windows (because the Mono developers have no interest in supporting CLI).
On the other hand it doesn't matter, because you can't use a P/Invoke add-on on other systems, because Mogre doesn't run there.
Well, this is just for background information.

McDonte

17-11-2011 14:37:41

So (I hope) we just would need the SceneManager and one single API method:
This whole procedure is related to the fact that TSM is a plugin. Other scene managers are having the same API but are working different inside. So I think we do not need to wrap TSM again for Mogre 1.8 but simply integrate it into the Ogre sources (since it will not be longer included).
By the way: McDonte published Tutorial 3b, which explains the usage of the new Terrain component.
Reading this tutorial you can see that you have a bunch of new classes and do not need a scene manager. This was one of sinbad's goals: create a terrain component that is independent from any scene manager.

It seems to be typical for open source that there is a fluctuation. Many people are only active for a period.
We shouldn't put our hope only on him.
In the past Mogre had good active developers. It was always sad when they leaved. But we should not look down. We should be happy that each of them for improving code, forum support and documentation work. Look to the future instead. I'm shure that other developers will find a way to our community.
An other fact is, that open source has no full support. If there is no support by others, people have to do the needed task for its own. I know, that can be hard.

You are right! We have to become active on our own.

I think mstoyke wrote the terrain wrapper by hand. I never had read about other autowrappers than the Mogre wrapper.
Wrapping can be done by hand, but it needs a knowledge about C++ and wrapping techniques. A good wrapper doesn't just wrap API members. It keeps references, copies or similar things inside. (I don't know many details.)
In the past there was the .NET wrapper MogreDotNet. It was created by SWIG and was bad for performance, because it creates new object instances for each call (or somehow like that)? Mogre was better, because it doesn't create redundant references. Well, I know too less about such wrapping details. But I know there are differences.

I agree, the approach of OgreDotNet was totally different to the one Mogre uses. Mogre uses modified Ogre sources with CLRObjects to avoid these redundant references. This code is created by the AutoWrapper. Without this tool we have to write all by hand... sounds hard. Anyway we should get started soon so we do not have to do all after the official release of 1.8. So the questions are now:
  1. Who wants to help?[/*:m]
  2. What are the goals? (so far: include TSM, finish the new terrain wrapper)[/*:m][/list:u]
    I will help as much as I can but I am afraid I am not able to do it alone.

Beauty

18-11-2011 14:08:37

Important for everybody who uses Ray Queries for terrain detection with the Terrain Scene Manager.
I figured out that ray scene queries with the Terrain Scene Manager are very imprecise.

For this I published a solution. Details you find here:
viewtopic.php?f=8&t=14975

Pyritie

18-11-2011 14:31:14

if we ever get the new terrain component all good and finished, do we even need the old TSM any more? What benefits does it have that the new component doesn't?

Beauty

18-11-2011 16:45:07

Yes, the new terrain system has several advantages.
I'm not against it.
Nevertheless I think it's good, when the user has the choice.

Here are my positive points for TSM. (my personal point of view)

Mogre community:
  1. Good terrain solution as long as we have no stable wrapper for the new one.[/*:m]
  2. (Re-)Integration to Mogre 1.8 seems to be much more easy than writing a wrapper.[/*:m][/list:u]

    Most easy upgrade to Mogre 1.8 for applications that still exist, because
    1. You don't need to change anything related to terrain.[/*:m]
    2. You can keep your still existing terrain config files and terrain resources.[/*:m][/list:u]

      Also:
      1. Quick loading of terrain.
        (Loading terrains with the new terrain component needs much more time)[/*:m]
      2. It's still usable and easy to use.
        (Create terrain by external tool, use the texture/heightmap file and set world size in config file. That's all.)[/*:m][/list:u]

        ------

        My ray query improvement is easy to integrate and works well.
        Just copy and paste my method.
        And add just 2 lines of code to each loop of RaySceneQueryResult.
        No further line of code has to be changed.

Pyritie

20-11-2011 12:17:50

So TSM's better for a simpler implementation. Got it.

zarfius

20-11-2011 23:40:04

Anyway we should get started soon so we do not have to do all after the official release of 1.8. So the questions are now:
  1. Who wants to help?[/*:m]
  2. What are the goals? (so far: include TSM, finish the new terrain wrapper)[/*:m][/list:u]
    I will help as much as I can but I am afraid I am not able to do it alone.


Maybe we should move these questions to a new thread so they don't get lost in this already mammoth one? I'm happy to help where I can, but I'd almost forgot about these questions.

Include TSM and Finish the new terrain wrapper are pretty high level goals. To be honest, I'm not sure how to even start. We'll need to break it down into a bunch of smaller tasks and to do that I think the first task is to get a bit more organised. Maybe it would be a good idea to gather up everything we already know into a summary. Like a list of links to the wiki pages, tutorials, forum topics, code and whatever else to do with the terrain components.

Then, we need to clearly define what we want to have at the end. Are we expecting a new managed DLL that sits along side Mogre.dll?

Beauty

21-11-2011 01:35:37

In the wiki I found the page Ogre Terrain Component FAQ with much useful information.
Maybe it's useful for somebody. :wink:

McDonte

23-11-2011 09:31:32

Thanks, Beauty, this was interesting to read but didn't give me an idea of how to use paging... but I found the code section in the terrain sample and so got an idea how the paging has to be set up. Compared to the setup of the terrain it is really easy:

/// This class just pretends to provide procedural page content to avoid page loading
class DummyPageProvider : PageProvider
{

public bool PrepareProceduralPage(Page page, PagedWorldSection section) { return true; }
public bool LoadProceduralPage(Page page, PagedWorldSection section) { return true; }
public bool UnloadProceduralPage(Page page, PagedWorldSection section) { return true; }
public bool UnprepareProceduralPage(Page page, PagedWorldSection section) { return true; }
}

This class is needed as a pge provider but I have no idea how it works. As you can see in the sample this class is only used as a dummy so usually you probably will have something else.
Now about the interesting part:

// Paging setup
mPageManager = new PageManager();

// Since we're not loading any pages from .page files, we need a way just
// to say we've loaded them without them actually being loaded
mPageManager.PageProvider = mDummyPageProvider;
mPageManager.AddCamera(mCamera);
mTerrainPaging = new TerrainPaging(mPageManager);
PagedWorld world = mPageManager.CreateWorld();

mTerrainPaging.CreateWorldSection(world, mTerrainGroup, 2000, 3000,
TERRAIN_PAGE_MIN_X, TERRAIN_PAGE_MIN_Y,
TERRAIN_PAGE_MAX_X, TERRAIN_PAGE_MAX_Y);

I hope this helps somebody!

McDonte

24-11-2011 21:13:04

Maybe we should move these questions to a new thread so they don't get lost in this already mammoth one? I'm happy to help where I can, but I'd almost forgot about these questions.

Include TSM and Finish the new terrain wrapper are pretty high level goals. To be honest, I'm not sure how to even start. We'll need to break it down into a bunch of smaller tasks and to do that I think the first task is to get a bit more organised. Maybe it would be a good idea to gather up everything we already know into a summary. Like a list of links to the wiki pages, tutorials, forum topics, code and whatever else to do with the terrain components.

Then, we need to clearly define what we want to have at the end. Are we expecting a new managed DLL that sits along side Mogre.dll?

You, are right, I will open up a new thread and ask everybody for support. I hope we can find some people who are willing to help.

zarfius

28-11-2011 00:17:40

You, are right, I will open up a new thread and ask everybody for support. I hope we can find some people who are willing to help.

Is this the new thread you setup? I thought it would be a good idea to link it from this topic.
viewtopic.php?f=8&t=14888

Aweb

04-12-2011 14:18:22

As a follow up to my questions about paging two pages earlier, I just tried compiling Myrddin for Mogre 1.7 for four hours, and even if I made some progress (thanks to this topic about compiling it for Ogre 1.7), I've not been able to compile it...

If anybody managed to do it or knows another good paging manager for Mogre (this seemed the best, unfortunately), I'll appreciate greatly your help !

Thanks

McDonte

20-12-2011 08:19:21

Is this the new thread you setup? I thought it would be a good idea to link it from this topic.
viewtopic.php?f=8&t=14888

Opps, forgot about that. It's this thread.

As a follow up to my questions about paging two pages earlier, I just tried compiling Myrddin for Mogre 1.7 for four hours, and even if I made some progress (thanks to this topic about compiling it for Ogre 1.7), I've not been able to compile it...
I tried once to compile Myrddin, too, but never were successful. There are no notes how to do it and it's outdated anyway. I droped trying and started to write my own terrain manager :wink:
You can try Ogre's new paging component if this is what you are looking for. I posted a snippet how to use it in this topic. Keep in mind that it's still alpha but basically it is working - as far as I could see... the advantage is definetely that you do not have to implement a third-party addon and you can be sure about a long term support by the Ogre team itself!

Aweb

20-12-2011 17:00:52

Thanks for the code, I'll try to find more information about PageProvider in order to load terrain but this seems really easy to use!

McDonte

20-12-2011 17:36:52

When you find some please post them here since I could not find any. But obviously this seems the be the key to use paging...

Beauty

17-01-2012 13:07:43

Tere is a new, very interesting topic:
Paged Geometry in Mogre (alpha)

It starts with the following words:
I built Mogre 1.73 from scratch using a version derived from Cygon's he posted (with MyStoke's terrain wrapper). I then extended the autowrapper around PagedGeometry 1.1.3.
...

Beauty

22-03-2012 16:51:25

Here is information that I posted in an other topic.
Perhaps it's also interesting for the followers of this topic.


The last two days I talked with mstoyke (retired Mogre maintainer) in the mogre chat.
I asked him for details about the Terrain wrapper which he created. Here they are:

The Mogre autowrapper was modified to wrap the Terrain and Paging component automatically. (All public API members.)
In other words: The wrapper for the Terrain/Paging component is no hand written wrapper.
The advantage of the current solution is, that it wraps changes and new API features automatically.

Note: Some API functions of the components are disabled / not wrapped, because they caused problems.
The list of all disabled API functions are defined in file Codegen\AutoWrap\Attributes.xml.

So, I hope this is useful for people, who want be play with the components or modify the wrapper.

Beauty

30-03-2012 14:53:16

Just a note:
Our new tool MogreBuilder works fine. Building Mogre is now very easy.
It also builds the Terrain and Paging components.

For details and download links I created a wiki page:
http://www.ogre3d.org/tikiwiki/MogreBuilder

Feedback is welcome.
For terrain/paging feedback use this topic.
For general feedback about the MogreBuilder, use the topic [MogreBuilder] My mission to build a better Mogre.

Information how to use the new terrain component was described by McDonte on this tutorial page:
http://www.ogre3d.org/tikiwiki/Mogre+Basic+Tutorial+3b

P.S.
Now I changed the status of this terrain topic from "announce" to "normal".

questore

05-06-2012 14:39:22

Hi guys...I've trying to work with the new terrain system and I have some serious problem with raytracing and terrain hitpoint calculations. Please look at it if you have more knowledge..
http://www.ogre3d.org/forums/viewtopic. ... 06#p459806

Norris

14-11-2012 18:17:17

Hi. I'm new at Mogre and have a very bad english, so sorry for that.
I try to use the new terrain system by using a custom build compiled by Beauty. I use the tutorial in the wiki, but I have a problem in the "InitBlendMaps" method.
I can't find a property named "BlendPoint" in the "TerrainLayerBlendMap" class. What is the purpose of this property and where to find it ? Are there alternatives ?

Another small problem as a newbie, I don't know where to put the dds textures in my "Media" folder. Do I must put them in the "textures" folder ?

I think Mogre is a great tool, but the help for newbie is very disorganized :oops: . I understand that it's hard to maintain an open source project, but it's frustrating for newbies like me.