Mogre 1.6.2 binaries for testing

Bekas

21-04-2009 12:09:55

UPDATE 2: New bug fixes.

UPDATE: There was a nasty bug in the previous package, redownload the new one if you had got it.

Hey, binaries for Mogre 1.6.2 are out and you can download them from sourceforge.

This is not a user-friendly SDK installer but raw binaries. You'll find:
-MOIS - The MOIS.dll is self-contained, it doesn't need an OIS.dll to be in the same directory
-Mogre/Ogre binaries.
-Modified Ogre's include files.

The binaries were compiled on Visual Studio 2008, using DirectX SDK November 2008.

Please note that if you are using a native plugin (like Hydrax) you *must* recompile it using the modified include files.

Also note that OgreException.IsThrown has been removed, use OgreException.LastException != null instead.

Please take the binaries for a test drive and let me know about problems, missing classes, etc.

smiley80

21-04-2009 12:45:52

Ahh, Bekas I love you! (in a totally manly non-gay way...)

I've tested CaelumSharp, and after some minor adjustments it seems to work fine so far.

Edit:
I get an InvalidCastException when try to cast the OverlayElement returned from OverlayManager.Singleton.CreateOverlayElement to PanelOverlayElement, BorderPanelOverlayElement or TextAreaOverlayElement.

Beauty

21-04-2009 13:32:01

Also note that OgreException.IsThrown has been removed, use OgreException.LastException != null instead.
Is there a specific reason for removing?
I suppose the property would be not much overhead.
Also it would be good for a better backward compatibility and old code snippets.

Chulein

21-04-2009 16:53:28

Thank you for your effort!
This is a huuuuuge step for Mogre!.
Both thumbs up for you Bekas. You da man.


Chulein.

raygeee

21-04-2009 17:16:12

Great work bekas! :D
I will try that version soon.

Also note that OgreException.IsThrown has been removed, use OgreException.LastException != null instead.Does it return the exception itself?

Also it would be good for a better backward compatibility and old code snippets.I'd say compatibility to Ogre 1.6.x should be first priority,
and by that I mean Mogre usage should be almost similar to Ogre usage.

Beauty

21-04-2009 19:12:03

I'd say compatibility to Ogre 1.6.x should be first priority,
and by that I mean Mogre usage should be almost similar to Ogre usage.

Ok, this is a reason. Generally right.
For high compatiblity compatibility there would be bigger works needed.
For example the Ray classes have several differences.

Bekas

21-04-2009 19:29:30

Thank you for your feedback!

I get an InvalidCastException when try to cast the OverlayElement returned from OverlayManager.Singleton.CreateOverlayElement to PanelOverlayElement, BorderPanelOverlayElement or TextAreaOverlayElement.
Ouch, that's an ugly bug; I've made a small change and the wrappers were not created based on the subclass :oops:

Also Beauty has a good point about backward compatibility, I've added the IsThrown back, which just does a "LastException != null" now.
The reason I removed it was that It didn't work as it was supposed to (it never did actually); the idea was that it would become false automatically after you handled the exception but it actually remained true all the time after the first Ogre exception, so if you would get another SEHException, isThrown was true even if it didn't originate from an Ogre exception.

Now, you are supposed to clear the cached Ogre exception information (LastException) using OgreException.ClearLastException(). (in reality it doesn't matter much since 99.99% if you get a SEHException, it was because of an Ogre exception).

To elaborate more about OgreException, this has nothing in common with how you handle exceptions in C++ Ogre, this is an ugly workaround due to Ogre exceptions not having a way to "become" .NET exceptions.

Get the new package from here: https://sourceforge.net/project/downloading.php?group_id=174997&filename=mogre-v1.6.2-1_bin.zip

Bekas

21-04-2009 19:43:01

For high compatiblity compatibility there would be bigger works needed.
For example the Ray classes have several differences.

These classes may have differences due to being hand-made and one would need to manually check for new additions in them.
But the 1.6.2 Ray class seems identical, what differences you have in mind ?

GantZ

21-04-2009 20:23:49

many thanks to you Bekas ! now we have entered the shiny 1.6 ogre era :)

i will start to port my applications tomorrow with this version, should be a good way to test it

smiley80

21-04-2009 21:10:37

Thanks Bekas!

One more thing I've noticed, ManualObject hasn't a public constructor anymore.

Beauty

22-04-2009 03:54:56

the 1.6.2 Ray class seems identical, what differences you have in mind ?

The class structure is different. If I remember right, there are classes in Mogre that aren't in Ogre.
I had much problems to find out how to do ray queries with Mogre, because I couldn't just port Ogre code snippets.
Also the members have no XML documentation. I was annoyed, because it was difficult to find descriptions of a Mogre member in the Ogre API. Without knowing the meaning of class members it's not easy to work.
This was one reason, why I put some Mogre related ray information to the wiki (after I found out how to do).

Look to this wiki page. RaySceneQueryResultEntry and the following classes I didn't found in the Ogre API.
www.ogre3d.org/wiki/index.php/Ray_classes_in_MOGRE

smiley80

22-04-2009 04:11:07


Look to this wiki page. RaySceneQueryResultEntry and the following classes I didn't found in the Ogre API.
http://www.ogre3d.org/wiki/index.php/Ra ... s_in_MOGRE

1) RaySceneQueryResultEntry is here: http://www.ogre3d.org/docs/api/html/str ... Entry.html

2) RaySceneQueryResult is typedef std::vector<RaySceneQueryResultEntry> in Ogre. So something like a List<RaySceneQueryResultEntry>.

3) RaySceneQueryResult.Enumerator and RaySceneQueryResult.Iterator: Enumerator and Iterator of the above

koirat

22-04-2009 15:24:59

Thank bekas.
Saying that you rule would be not enough :).

btw. did you ever thought about adding attributes to some classes for PropertyGrid support ?

It comes in handy when you can manipulate your scene via PropertyGrid.
This idea came to my mind when i was trying to do external game console as a Form. Since I'm designing my game as a kind of service oriented architecture. I just added my main ServiceManager to PropertyGrid and could manipulate almost every aspect of my engine. but Mogre classes are not expandable and properties like ColourValue Vectors Quaternions and such are not editable. I had to do proxy objects to solve this issue.

If you reconsider what i wrote here i don't mind putting my effort and time in helping with such a task.

Bekas

22-04-2009 17:11:39

One more thing I've noticed, ManualObject hasn't a public constructor anymore.
I'll check it out.

The class structure is different. If I remember right, there are classes in Mogre that aren't in Ogre.
I had much problems to find out how to do ray queries with Mogre, because I couldn't just port Ogre code snippets.
Also the members have no XML documentation. I was annoyed, because it was difficult to find descriptions of a Mogre member in the Ogre API. Without knowing the meaning of class members it's not easy to work.
This was one reason, why I put some Mogre related ray information to the wiki (after I found out how to do).

RaySceneQueryResult is a wrapper for a "list", it's main purpose is to be used in a foreach loop ("foreach (RaySceneQueryResultEntry entry in result)")

It would be really useful if in that wiki page you include a code snippet of how you would use the Ray classes.

I agree the no XML doc is really bad, I'll look into it.

did you ever thought about adding attributes to some classes for PropertyGrid support ?
Sure, for these classes it's trivial to add attributes. What kind of attributes are you talking about ?

koirat

22-04-2009 20:11:16


Sure, for these classes it's trivial to add attributes. What kind of attributes are you talking about ?


These are structures (value based types) they need none trivial TypeConverter Attributes :P. But for reference based types (classes) you can add [TypeConverter(typeof(System.ComponentModel.ExpandableObjectConverter))]
this will allow to navigate through object, in a tree like manner.

I will spend some time on writing some TypeConverters for Vectors Quaternions and ColourValue, I will try this week. so you could add it. Of course if you allow such an additions.

Some code of my SceneService


public Color AmbientLight
{
get { return GraphicsUtils.ColourValueToColor(sceneManager.AmbientLight); }
set { sceneManager.AmbientLight = GraphicsUtils.ColorToColourValue(value); }
}

public FogMode FogMode
{
get { return sceneManager.FogMode; }
set
{
SceneManager sm = sceneManager;
sm.SetFog(value, sm.FogColour, sm.FogDensity, sm.FogStart, sm.FogEnd);
}
}

public Color FogColor
{
get { return GraphicsUtils.ColourValueToColor(sceneManager.FogColour); }
set
{
SceneManager sm=sceneManager;
sm.SetFog(sm.FogMode, GraphicsUtils.ColorToColourValue(value),sm.FogDensity,sm.FogStart,sm.FogEnd);
}
}

public float FogDensity
{
get { return sceneManager.FogDensity; }
set
{
SceneManager sm = sceneManager;
sm.SetFog(sm.FogMode, sm.FogColour, value,sm.FogStart,sm.FogEnd);
}
}

public float FogStart
{
get { return sceneManager.FogStart; }
set
{
SceneManager sm = sceneManager;
sm.SetFog(sm.FogMode, sm.FogColour, sm.FogDensity, value,sm.FogEnd);
}
}

public float FogEnd
{
get { return sceneManager.FogEnd; }
set
{
SceneManager sm = sceneManager;
sm.SetFog(sm.FogMode, sm.FogColour, sm.FogDensity, sm.FogStart,value);
}
}


This allowed me to change fog options and scene ambient light, everything at run time via property grid.
As you can see some of properties cannot be changed with TypeConverters only.
And they got to have some code typed. Could you reconsider messing :) inside some wrapping classes ??

lilljohan

22-04-2009 21:23:32

Works great =)

Btw I made type converters for ColourValue, Vector3 and Quaternion some time ago.
http://pastebin.com/f67e58957

Beauty

22-04-2009 22:22:30

It would be really useful if in that wiki page you include a code snippet of how you would use the Ray classes.
After I found out how to do, I created a wiki page about:
http://www.ogre3d.org/wiki/index.php/Ra ... with_MOGRE

RaySceneQueryResult is a wrapper for a "list", it's main purpose is to be used in a foreach loop
... now I see I didn't use a foreach loop in the wiki example. Good idea with the foreach loop, but the user needs to know.
(a noob question: does C++ not have a foreach loop??)

lilljohan

22-04-2009 22:34:57

It would be really useful if in that wiki page you include a code snippet of how you would use the Ray classes.
After I found out how to do, I created a wiki page about:
http://www.ogre3d.org/wiki/index.php/Ra ... with_MOGRE

RaySceneQueryResult is a wrapper for a "list", it's main purpose is to be used in a foreach loop
... now I see I didn't use a foreach loop in the wiki example. Good idea with the foreach loop, but the user needs to know.
(a noob question: does C++ not have a foreach loop??)

foreach can be used with anything that implements IEnumerable, which RaySceneQueryResult happens to implement. I usually use Go To Definition (F12) or the object browser (ALT + J) when i need to find out more about a specific type.

C++ does not have a foreach loop.

koirat

23-04-2009 06:59:25

Works great =)

Btw I made type converters for ColourValue, Vector3 and Quaternion some time ago.
http://pastebin.com/f67e58957


I'm assuming it's working.
It would be nice to got it attached to mogre by default.

btw where can i get source code for Mogre 1.6.2. I could test how it works with all the attributes attached.

lilljohan

23-04-2009 08:01:04

They should be working, but it's been a couple of months since i used them so i leave nor guarantees =)

Beauty

23-04-2009 12:43:19

Between what you want/need to convert?
I don't understand (also after looking to the code).

smiley80

23-04-2009 13:16:18

I was forced to create a TypeConverter for Pair<Type1,Type2> yesterday:
http://code.google.com/p/miyagi/source/ ... nverter.cs
It might be dodgy in some cases (when you don't use primitives), cause it uses Convert.ChangeType.
And the values are not expandable in the PropertyGrid (like Size, Location), since it uses fields instead of properties.


One minor request for the custom classes:
An overload for .ToString that takes a IFormatProvider parameter, which will then be used in the string formatting.

lilljohan

23-04-2009 14:46:23

Between what you want/need to convert?
I don't understand (also after looking to the code).

It's for the property grid control, it uses strings internally so you have to provider type converters for it.

koirat

23-04-2009 15:23:00

What do you think about this solutions ?? (I'm in a process of implementing it. So it is not checked yet.)

Implement "VersatileTypeConverter" (I called my class like this :) ) that inherits from TypeConverter.
Use this class to decorate all the Types.
This implementation will posses some static fields allowing to add type conversions for their parent objects at run time.
For example Dictionary<Type,TypeConverter> or this class might contain replaceable method to resolve what Converter to use.


"beauty " these converters are needed for PropertyGrid and design time support.

thatnerdyguy

24-04-2009 17:17:54

This is fantastic news.

Bekas, any chance you can look at updating http://www.ogre3d.org/wiki/index.php/Bu ... rom_source, or even explaining in this thread how exactly the updates were done?

I personally was lost once I had the latest Mogre source, with no ogrenew, what the next step was, what special CLR_OBJECT() or whatever macros I would have to put in what classes or whatnot.

smiley80

25-04-2009 23:35:11

Are the PCZ Scene Manager and OctreeZone/TerrainZone not wrapped?
Or have I overlooked something?

When I add them as plugins, I get an AccessViolationException at Root.RenderOneFrame.

Demorian

01-05-2009 02:13:37

Hello (M)Ogre Community,

I was wondering if anyone has successfully used Miyagi with the new version .......

EDIT: deleting rest of post to avoid confusion, problem solved and nothing to do with MOgre.
Thanks for your help smiley80 :)

smiley80

01-05-2009 15:25:01

I don't have any problems running it with 1.6.2.

There might be something wrong in the material script.
Please post the content of it in this thread.

boyamer

01-05-2009 18:15:41

anybode can provide a guide on how to compile Mogre 1.6.2 and maybe release full source pack?

Beauty

01-05-2009 22:13:48

I integrated Mogre 1.6.2-1_bin to my project, but I can't compile it.

The following properties are not available:

Root.CurrentFrameNumber
SceneNode.WorldPosition
SceneNode.WorldOrientation


Why did you remove it? Just a mistake? An autowrapper bug?
Maybe also other member are commented out or removed?

smiley80

01-05-2009 22:25:00

Beauty, see Porting notes here: http://www.ogre3d.org/wiki/index.php/ShoggothNotes

Root.CurrentFrameNumber -> Root.NextFrameNumber
SceneNode.WorldPosition -> SceneNode._getDerivedPosition
SceneNode.WorldOrientation -> SceneNode._getDerivedOrientation

Beauty

01-05-2009 23:52:07

You are right, I should look to the UpdateNotes.

For me it's strange that sinbad renamed WorldPostion / WorldOrientation.
These property names I did understand quickly and for me are the new ones less logical.
Also the underscore, which is for internally variables, that only should used if it's really needed. (This I read about.)


Then I got this error:
OGRE EXCEPTION(7:InternalErrorException): Could not load dynamic library .\RenderSystem_Direct3D9. System Error:
If somebody else has the problem, then install the DirectX Redist (November 2008)
http://www.microsoft.com/downloads/deta ... 20f1244a8e

Now there is an error related to my old MogreNewt wrapper. This could be solved by the current version.
I'll test it, but today it's enough.

Strange in Visual Studio:
Pushing F5 the project did compile and run (until the exception).
But pushing F6 (only compile) the compiler said, it can't find the Mogre assembly (yes, it's updated and linked).
This remembers me to a previous Mogre update. I searched for the problem for hours. Now I hope it will not be the same again :evil:

codo

04-05-2009 09:20:01

Hi,
great job with the wrapping :)
When do you reckon Mogre 1.6.2 will be officially released with an installer?

Beauty

04-05-2009 12:33:17

First some more people should test it (+report) and possible bugs should be fixed.
For an SDK we should think about some content update (e.g. demos, runnable tutorials).

jmix90

04-05-2009 15:13:08

Hello,

I have a project running under the last Mogre version...

How can I perform the migration to the new version and give you some bug to fix ;) :?:

+++

koirat

04-05-2009 21:34:17

Bone.IsManuallyControlled this property is read only.
There is Bone.SetManuallyControlled function so you can actually set it to manually controlled but was such a design intentional ??


Should i post such a info in this thread or in main thread ??

codo

05-05-2009 19:17:19

Ok, I played a bit with a new Mogre. Can't make it run though.
Here is the exception when trying to set Caption property of OverlayElement:

at _CxxThrowException(Void* , _s__ThrowInfo* )
at Ogre.UTFString._verifyUTF8(basic_string<char\,std::char_traits<char>\,std::allocator<char> >* str)
at Ogre.UTFString.assign(UTFString* , basic_string<char\,std::char_traits<char>\,std::allocator<char> >* str)
at Ogre.UTFString.{ctor}(UTFString* , basic_string<char\,std::char_traits<char>\,std::allocator<char> >* str)
at Mogre.OverlayElement.set_Caption(String text)
at Wof.Controller.Screens.IndicatorControl.UpdateGUI(Single timeSinceLastFrame) in W:\wings\WoF\src\Controller\Indicators\IndicatorControl.cs:line 315

I use UTF-8 string containing Polish characters (like ą, ę, ł, etc...). It worked with 1.4.6, 1.4.8. Ogre.log does not show any errors connected with fonts or overlays.

Bekas

05-05-2009 19:59:54

Hey codo,

Can you post a small test sample that throws the exception ?

Bekas

05-05-2009 20:02:51

Bone.IsManuallyControlled this property is read only.
There is Bone.SetManuallyControlled function so you can actually set it to manually controlled but was such a design intentional ??

Nope, ideally it should be a read/write IsManuallyControlled. Thanks for the report!

Should i post such a info in this thread or in main thread ??
Here is fine.

Bekas

05-05-2009 20:05:45

Are the PCZ Scene Manager and OctreeZone/TerrainZone not wrapped?
Or have I overlooked something?

When I add them as plugins, I get an AccessViolationException at Root.RenderOneFrame.

Can you post a test sample and more details about what you did ?

smiley80

05-05-2009 20:28:54

I tried to port the PCZ sample: http://ogre.svn.sourceforge.net/viewvc/ ... CZTestApp/

Bekas

05-05-2009 20:33:26

Took a look a the PCZ sample; things don't look good, it requires the PCZ project to be wrapped, currently only OgreMain is wrapped :?

codo

05-05-2009 21:50:48

Hey codo,

Can you post a small test sample that throws the exception ?


There you go. I made an example using SkeletalAnimation sample. All you need to do is copy 1.6.2 dlls to bin\release\ and compile using \Samples\Test\Demo.SkeletaAnimation.sln
Encoding .cs file to utf8 does not help...

Any ideas what's wrong with 1.6.2?

Link: http://pozycja.org/download/TestSample.zip

codo

07-05-2009 14:38:05

Hi, any update on this?

Bekas

08-05-2009 11:08:46

@codo:
Can you try the dlls from here and let me know if everything is fine with displaying polish characters ?

boyamer

08-05-2009 16:31:55

Bekas,would you mind share the whole Mogre source you used for compile?

thanks

Bekas

08-05-2009 16:59:46

All the necessary stuff is on SVN, I just need to put compilation instructions on the wiki.

codo

08-05-2009 17:52:29

@codo:
Can you try the dlls from here and let me know if everything is fine with displaying polish characters ?


Thank you Bekas. The version your provided works like a dream ;)

boyamer

08-05-2009 22:44:16

All the necessary stuff is on SVN, I just need to put compilation instructions on the wiki.

I download the source code from the trunk svn,but there are all Manager Class missing,like MAxisAligneBox.cpp etc.
where can i get source?

codo

08-05-2009 22:48:53

I'd like to report rather strange behaviour of Quaternions in 1.6.2. Some of my objects get rotated in strange directions.
Here is the code:

Quaternion q = new Quaternion(Math.HALF_PI, Vector3.UNIT_Y);
Console.WriteLine(q);

Results:
1.4.8: Quaternion(0.7071068, 0, 0.7071068, 0)
1.6.2: Quaternion(0.9999061, 0, 0.01370735, 0)

smiley80

09-05-2009 01:15:47

Quaternion q = new Quaternion((Radian)Math.HALF_PI, Vector3.UNIT_Y);
Console.WriteLine(q);

Output: Quaternion(0,7071068, 0, 0,7071068, 0)

Unlike 1.6.2, Quaternion didn't have a constructor which takes Single and Vector3 in 1.4.8 (HALF_PI was implicitly casted to Radian).
But now, the Single is used to create an Angle which is then casted to Radian.

codo

09-05-2009 09:15:58

Wow, thanks a lot. Now it works. I think that such a change is very error prone. They didn't even mentioned it in porting notes.

Bekas

10-05-2009 17:25:10

Actually, I consider this a bug (HALF_PI is a number in radians).
There was a change in Quaternion not made by me, I'll look into it.
No need to change your code over this.

Thanks codo for your testing!

Bekas

10-05-2009 17:38:04

Ah, it turns out it's because the OGRE_FORCE_ANGLE_TYPES is gone from Ogre 1.6 and some methods are defined which should really not have been defined. Consider it fixed..

Bekas

10-05-2009 18:49:40

new binaries: https://sourceforge.net/project/downloading.php?group_id=174997&filename=mogre-v1.6.2-2_bin.zip&a=23047813

jmix90

11-05-2009 08:49:11

Hello,

I am trying these binaries and I can't find the MovableText class... wasn't it included in the 1.6 version..?

Otherwise, how can i compile the sources with this class for windows ? :D

Thx by advance for help ^^

boyamer

11-05-2009 09:38:00

Bekas,could you please modify the wiki so we know how to compile the latest Mogre version?

Please,i'm in strong need!

Bekas

11-05-2009 23:12:18

You can get all necessary, ready-to-compile source files from here
This should do it:

-Open "Mogre-src\Ogre\Ogre_vc9.sln"
-In the OgreMain project, open "CLRConfig.h" and set "LINK_TO_MOGRE" to 0
-Batch build Debug/Release projects
-Open "Mogre-src\Mogre-vc9.sln"
-Batch build
-In OgreMain project again, set "LINK_TO_MOGRE" to 1
-Batch build Ogre again.

If there are problems let me know.
(this is not the "official" way to compile Mogre, this is temporary until the "proper" guidelines are up)

jmix90

12-05-2009 09:48:41


-Open "Mogre-src\Ogre\Ogre_vc9.sln"
-In the OgreMain project, open "CLRConfig.h" and set "LINK_TO_MOGRE" to 0
-Batch build Debug/Release projects

Hey, I have a lot of errors like this doing this :
LINK : fatal error LNK1104: cannot open file 'Ogremain_d.lib'

Bekas

12-05-2009 21:33:00

Hmf, there are more stuff:

-Open "Mogre-src\Ogre\Ogre_vc9.sln"
-In the OgreMain project, open "CLRConfig.h" and set "LINK_TO_MOGRE" to 0
-In OgreMain -> Configuration properties -> Linker -> Input, remove 'Mogre_d.lib' entry from Debug and 'Mogre.lib' from Release
-Batch build Debug/Release projects
-Open "Mogre-src\Mogre-vc9.sln"
-Batch build
-In OgreMain project again, set "LINK_TO_MOGRE" to 1
-In OgreMain -> Configuration properties -> Linker -> Input, restore 'Mogre_d.lib' and 'Mogre.lib' entries.
-Batch build Ogre again.

jmix90

13-05-2009 09:56:01

Hmf
What does it means :?: :P

I have more error and the build log can be found here : build log

fatal error C1083: Cannot open include file: 'd3dx9.h': No such file or directory

Thx for the quick reply by the way !

Bekas

13-05-2009 10:13:30

See http://www.ogre3d.org/wiki/index.php/Building_From_Source#Dependencies_3 under DirectX SDK.

jmix90

13-05-2009 10:53:32

:oops: My fault, I thought the path to directX was added when installing the SDK... :oops:

I correct this error My fault, I thought the path to directX was added when installing the SDK...

I correct this error and I now got this (sorry for being a noob :roll: ) :1>Project : error PRJ0002 : Error result 31 returned from 'C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin\mt.exe'.

...

12>Project : error PRJ0019: A tool returned an error code from "Performing Post-Build Event..."

...


13>mt.exe : general error c101008d: Failed to write the updated manifest to the resource of file "..\bin\Release\OgreMeshUpgrade.exe". Access refused.

Bekas

13-05-2009 10:59:36

Never mind the "tool returned error..." errors.
Look into "Mogre-src\Ogre\lib", are the binaries there ?

smiley80

13-05-2009 18:32:58

Bekas,

I've added the public constructor from 1.4.8 back to ManualObject ...seems to work fine.

And I've added an overload of ToString to the custom types, which takes an IFormatProvider parameter.
The parameterless ToString uses CultureInfo.CurrentCulture.

codo

14-05-2009 11:51:48

@smiley80: Does it contain previous fixes (unicode characters - http://utopia.duth.gr/~akyrtzi/mogre.7z, Quanternions - https://sourceforge.net/project/downloa ... a=23047813) ?

smiley80

14-05-2009 21:53:34

Yes, it's based on the source code from Bekas' download.

mcaden

15-05-2009 23:07:49

Sweet! Mogre 1.6.2!

I'm gonna have to work on integrating it this weekend into my project and see how it goes. I'll report here.

mcaden

18-05-2009 00:47:08

So should I use SVN or binaries?

If SVN, which URL?

If Binaries, there are many in this thread...which ones is the latest? There's an "Update 2" but It's not dated.

Beauty

18-05-2009 13:48:25

Wow, thanks a lot. Now it works. I think that such a change is very error prone. They didn't even mentioned it in porting notes.
It would be nice if you can add this to the wiki (1.6 changelog page). Or give the task to Sinbad, maybe there is more detailed information needed.
Also the Quaternion bug or other Ogre related contradictions should be reported if it is not in the changelog.


Bekas,could you please modify the wiki so we know how to compile the latest Mogre version?
I think it's good to use different wiki pages for compiling of Mogre 1.4 and 1.6. Until 1.6 isn't stable some people could need this information. (For renaming a page (e.g. appending a version number), you can ask me - I'm a Wiki admin)

I can't find the MovableText class... wasn't it included in the 1.6 version..?

Otherwise, how can i compile the sources with this class for windows ? :D

This class wasn't included by default. For this it was needed to add it manually and compile the code. (Look to the wiki/forum. Somewhere there was a description I thing. Maybe just add a .h file to a Mogre file?)

Bekas said he doesn't want to add it to the Mogre core if it's possible to use it by an additionally DLL file. Now I don't know if this is possible with splitted Mogre.dll / Ogre.dll (instead of a single Ogre.dll that contains Mogre itself).
Generally I would be happy if it's possible to use MovableText without recompiling Mogre (related to 1.4 and 1.6).

Kodachi_Garou

19-05-2009 11:16:05

Thanks for the release, Bekas :D I was out of time in the past few months so I couldn't really help as I hoped. Great work as always.

About the TypeConverters, I have the Converters for Vector3 and Quaternion already written. If you want I can submit them for inspection and inclusion, along with their usage in the Vector3 and Quaternion classes. I also added some attributes for XmlSerialization, for those interested.

Bekas

19-05-2009 20:14:45

About the TypeConverters, I have the Converters for Vector3 and Quaternion already written. If you want I can submit them for inspection and inclusion, along with their usage in the Vector3 and Quaternion classes. I also added some attributes for XmlSerialization, for those interested.
Hey Kodachi_Garou,

This would be great. You may want to check out how your TypeConverters compare with koirat's here: http://www.ogre3d.org/addonforums/viewtopic.php?f=8&t=9897

(A patch about TypeConverters on the patch tracker would be much preferable)

If Binaries, there are many in this thread...which ones is the latest? There's an "Update 2" but It's not dated.
Update 2, is the one.

JoeC

20-05-2009 14:15:27

This is great Bekas, we've been needing these for a while, thanks very much.

I've downloaded the binaries but I can't find the symbol files (pdb) are there any around?

If not, can someone who's able to compile Mogre post them? My C++/Visual studio skills aren't really up to it.

It would really be fantastic if someone could do this :D

pedrodbs

28-05-2009 05:00:29

Hi all,

I've downloaded Mogre 1.6.2_2 binaries and updated my sample applications. Also updated all necessary ogre-related .dll files in the running directory.

The problem is that now my particle systems don't work. Ogre returns an exception like this when loading any ParticleSystem:

"OGRE EXCEPTION(2:InvalidParametersException): Cannot find required template 'Examples/PurpleFountain' in ParticleSystemManager::createSystem at ..\\src\\OgreParticleSystemManager.cpp (line 311)"

Code is the same, resources.cfg is the same, and Ogre.log reports normal Plugin_ParticleFX loading:

21:06:49: Loading library .\Plugin_ParticleFX
21:06:49: Installing plugin: ParticleFX
21:06:49: Particle Emitter Type 'Point' registered
21:06:49: Particle Emitter Type 'Box' registered
21:06:49: Particle Emitter Type 'Ellipsoid' registered
21:06:49: Particle Emitter Type 'Cylinder' registered
21:06:49: Particle Emitter Type 'Ring' registered
21:06:49: Particle Emitter Type 'HollowEllipsoid' registered
21:06:49: Particle Affector Type 'LinearForce' registered
21:06:49: Particle Affector Type 'ColourFader' registered
21:06:49: Particle Affector Type 'ColourFader2' registered
21:06:49: Particle Affector Type 'ColourImage' registered
21:06:49: Particle Affector Type 'ColourInterpolator' registered
21:06:49: Particle Affector Type 'Scaler' registered
21:06:49: Particle Affector Type 'Rotator' registered
21:06:49: Particle Affector Type 'DirectionRandomiser' registered
21:06:49: Particle Affector Type 'DeflectorPlane' registered
21:06:49: Plugin successfully installed


Any ideas about what is causing this? Has anyone else experienced this problem as well?

Thanks

codo

28-05-2009 08:40:40

Just a quick note: your materials should be updated to 1.6 requirements. Refer to 1.6 porting notes and/or use OgreCommmandLineTools which can do some job for you.

I must say that I'm reverting back to 1.4.8. Something is wrong with connection to MHydrax (which I recompiled for 1.6.2). Flickering and stuff...

lilljohan

28-05-2009 21:14:26

The particle system script syntax has changed, you need to prefix the names with particle_system in the script deifnition.

particle_system Smoke
{
...
}

boyamer

29-05-2009 09:50:24

Bekas,could you provide a wrapper for OgreCEGUIRenderer ? so we can use CEGUI into Mogre 1.6.2?
Thanks

JoeC

04-06-2009 10:49:21

Hmm, I'm trying to compile Mogre using Beka's instructions so that I can generate my own pdb files.

I've got as far as Batch building OgreMain but I'm getting a weird error.

------ Build started: Project: OgreMain, Configuration: Release Win32 ------
Performing Custom Build Step
The system cannot find the file specified.
1 file(s) copied.
Performing Custom Build Step
The system cannot find the file specified.


I'm guessing that this is probably a path issue in that the compiler is looking for something with a fixed path rather than a relative one
but I can't find what it is. Any thoughts or suggestions very welcome.

Here's the full Build log

Creating temporary file "c:\Documents and Settings\Administrator\My Documents\current Projects\cutter\buildMogre\Mogre-src\Mogre-src\Ogre\OgreMain\obj\Debug\BAT00000323042448.bat" with contents
[
@echo off
copy c:\Documents and Settings\Administrator\My Documents\current Projects\cutter\buildMogre\Mogre-src\Mogre-src\Mogre\Ogre\CLRObject.h ..\include
copy ..\..\..\Mogre\include\auto\CLRObjects.inc ..\include

if errorlevel 1 goto VCReportError
goto VCEnd
:VCReportError
echo Project : error PRJ0019: A tool returned an error code from "Performing Custom Build Step"
exit 1
:VCEnd
]
Creating command line """c:\Documents and Settings\Administrator\My Documents\current Projects\cutter\buildMogre\Mogre-src\Mogre-src\Ogre\OgreMain\obj\Debug\BAT00000323042448.bat"""
Creating temporary file "c:\Documents and Settings\Administrator\My Documents\current Projects\cutter\buildMogre\Mogre-src\Mogre-src\Ogre\OgreMain\obj\Debug\BAT00000423042448.bat" with contents
[
@echo off
copy c:\Documents and Settings\Administrator\My Documents\current Projects\cutter\buildMogre\Mogre-src\Mogre-src\Mogre\Ogre\CLRConfig.h ..\include

if errorlevel 1 goto VCReportError
goto VCEnd
:VCReportError
echo Project : error PRJ0019: A tool returned an error code from "Performing Custom Build Step"
exit 1
:VCEnd
]
Creating command line """c:\Documents and Settings\Administrator\My Documents\current Projects\cutter\buildMogre\Mogre-src\Mogre-src\Ogre\OgreMain\obj\Debug\BAT00000423042448.bat"""

JoeC

05-06-2009 10:25:05

Ok, I've solved the "cannot find the file" specified error.

As I suspected it was a path issue caused by the file paths being too long. If you copy the whole source folder to the root then it compiles fine
- although it does take all afternoon.

The next issue was finding the Mogre.dll files - turns out they end up in the Ogre\Samples\Common folder...

I still can't run any of the demos though. They all bring up the Ogre dialog box, but only give me the option of OpenGL (no DirectX) when I chose
OpenGL the program then crashes. Ho Hum.

satik

05-06-2009 14:46:11

Hi, did you anyone notice, if in this build exists
StaticGeometry.GeometryBucket (and is working)
or is still missing?

mcaden

09-06-2009 07:44:34

Alright, I FINALLY got around to testing this out with Squamster...

It runs pretty much straight off the bat. I forgot at first to download the newer Directx runtimes (dxwebsetup.exe got 'em for me) and there seems to be something funky with my camera controls which I assume to be changes in the Engine and not related to the Mogre port. I'll have to look more into them.

I'm having some trouble with visual studio - it's crashing every time I hit ctrl+F. I just realized I forgot to install SP1 when I changed from 2008 express to the full-blown vs2008 installation.

I'm also not able to run in debug. It keeps telling me something about type initializer. I think this is a flaw in my project setup and also not related to the 1.6.2 binaries since I've actually run into this quite a few times.

mcaden

12-06-2009 04:32:28

Alright.

Camera Issue: My code is still being called to change the zoom...however, it doesn't affect the camera. Did shoggoth change the way it deals with the camera? It used to be that I'd change camera.nearClipDistance. Any advice on this?

Crashing issue: I was correct, it was a visual studio problem

Debug issue: Turns out that the debug build isn't looking for Mogre_d.dll. It will only accept Mogre.dll and, in turn, all the release build DLLs. Anybody else had an issue with this?




EDIT: Fixed camera issue by using "SetOrthoWindow" instead of "nearClipDistance" - a Mogre/Shoggoth bugfix and upgrade release is being posted on the showcase forums now

mcaden

15-06-2009 17:19:52

Any comment on the deal with debug?

Benjiro

18-06-2009 06:18:05

Just wondering if you can upload the code so ManualObjects works the constructor has been changed to protected when it should be public
protected internal ManualObject(CLRObject* obj);

Benjiro

18-06-2009 12:22:08

I'm stupid your not meant to make ManualObjects explicitly after reading the Ogre doxy i figured it out
for anyone that is having trouble a manual object should be created through the SceneManager

ManualObject manual = SceneManager.createManualObject(name);

mcaden

23-06-2009 22:42:06

debug? anybody?

smiley80

24-06-2009 01:53:51


Debug issue: Turns out that the debug build isn't looking for Mogre_d.dll. It will only accept Mogre.dll and, in turn, all the release build DLLs. Anybody else had an issue with this?

Afaik, you had to manually edit the project file to have references which names differ depending on the configuration.
Something like:
<Reference Include="Mogre" Condition="'$(Configuration)'=='Release'">
<HintPath>[path\to]\Mogre.dll</HintPath>
</Reference>
<Reference Include="Mogre_d" Condition="'$(Configuration)'=='Debug'">
<HintPath>[path\to]\Mogre_d.dll</HintPath>
</Reference>

GenericJoe

29-06-2009 16:28:06

Hi Bekas and other Mogre contributers, would it be possible to ask for an update on your progress with regard to completing the port of Ogre 1.6.2 to the managed .Net environment?

Best of luck!

galaktor

01-07-2009 13:55:37

I keep getting an "AccessViolationException" when trying to call "RenderOneFrame()" in a separate thread...example:


Thread renderThread = new Thread(delegate(object ogreRoot) { while (true) { ((Root)ogreRoot).RenderOneFrame(); } });
renderThread.Start(root);
renderThread.Join();


This results in the following exception (german):

System.AccessViolationException wurde nicht behandelt.
Message="Es wurde versucht, im geschützten Speicher zu lesen oder zu schreiben. Dies ist häufig ein Hinweis darauf, dass anderer Speicher beschädigt ist."
Source="Mogre"
StackTrace:
bei Ogre.Root.renderOneFrame(Root* )
bei Mogre.Root.RenderOneFrame()
bei MogreSpike.Program.<>c__DisplayClass2.<Main>b__0(Object ogreRoot) in [censored by author]\spikes\ogre\Mogre\Mogre\Program.cs:Zeile 806.
bei System.Threading.ThreadHelper.ThreadStart_Context(Object state)
bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
bei System.Threading.ThreadHelper.ThreadStart(Object obj)
InnerException:


This looks like what happens every time I pass in something wrong to Ogre...so it says basically nothing :-) The end of ogre log says the following:


(... other stuff ...)
15:06:01: Finished parsing scripts for resource group materials
15:06:01: Parsing scripts for resource group models
15:06:01: Finished parsing scripts for resource group models
15:06:01: Parsing scripts for resource group textures
15:06:01: Finished parsing scripts for resource group textures
15:06:01: Mesh: Loading some.mesh.
15:06:01: Skeleton: Loading some.skeleton
15:06:01: Texture: some.dds: Loading 1 faces(PF_DXT5,512x512x1) with 9 custom mipmaps from Image. Internal format is PF_DXT5,512x512x1.
15:06:01: Texture: grass_1024.jpg: Loading 1 faces(PF_R8G8B8,1024x1024x1) with 10 generated mipmaps from Image. Internal format is PF_X8R8G8B8,1024x1024x1.
15:06:01: Invalid Operation before loading program Ogre/ShadowExtrudePointLight


When I just run the while-loop within my main thread, it renders fine. The log says it's having issues loading some light program. This looks like a classic memory threading issue...or could I be doing something wrong? I am using the 1.6.2 build from this thread. I am using VS 2008 SP1 on Vista x64 - the project builds explicitly as x86, so that should not be a problem (I suppose).

PZsolt

01-07-2009 14:26:15

Hi all,

first of all thanks for Mogre 1.6.2. Great work Bekas!

I have to create an application with OpenGL rendering subsystem. In my first test application I noticed that my objects turn into black if I move
the camera farther. If I set DefaultNumMipmaps = 0; everything works fine. Probably the generated Mipmaps are black. Is it a bug?

Greetings,
Zsolt

TeaBag

01-07-2009 14:39:17

I keep getting an "AccessViolationException" when trying to call "RenderOneFrame()" in a separate thread...example:


Thread renderThread = new Thread(delegate(object ogreRoot) { while (true) { ((Root)ogreRoot).RenderOneFrame(); } });
renderThread.Start(root);
renderThread.Join();


This results in the following exception (german):

System.AccessViolationException wurde nicht behandelt.
Message="Es wurde versucht, im geschützten Speicher zu lesen oder zu schreiben. Dies ist häufig ein Hinweis darauf, dass anderer Speicher beschädigt ist."
Source="Mogre"
StackTrace:
bei Ogre.Root.renderOneFrame(Root* )
bei Mogre.Root.RenderOneFrame()
bei MogreSpike.Program.<>c__DisplayClass2.<Main>b__0(Object ogreRoot) in [censored by author]\spikes\ogre\Mogre\Mogre\Program.cs:Zeile 806.
bei System.Threading.ThreadHelper.ThreadStart_Context(Object state)
bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
bei System.Threading.ThreadHelper.ThreadStart(Object obj)
InnerException:


This looks like what happens every time I pass in something wrong to Ogre...so it says basically nothing :-) The end of ogre log says the following:


(... other stuff ...)
15:06:01: Finished parsing scripts for resource group materials
15:06:01: Parsing scripts for resource group models
15:06:01: Finished parsing scripts for resource group models
15:06:01: Parsing scripts for resource group textures
15:06:01: Finished parsing scripts for resource group textures
15:06:01: Mesh: Loading some.mesh.
15:06:01: Skeleton: Loading some.skeleton
15:06:01: Texture: some.dds: Loading 1 faces(PF_DXT5,512x512x1) with 9 custom mipmaps from Image. Internal format is PF_DXT5,512x512x1.
15:06:01: Texture: grass_1024.jpg: Loading 1 faces(PF_R8G8B8,1024x1024x1) with 10 generated mipmaps from Image. Internal format is PF_X8R8G8B8,1024x1024x1.
15:06:01: Invalid Operation before loading program Ogre/ShadowExtrudePointLight


When I just run the while-loop within my main thread, it renders fine. The log says it's having issues loading some light program. This looks like a classic memory threading issue...or could I be doing something wrong? I am using the 1.6.2 build from this thread. I am using VS 2008 SP1 on Vista x64 - the project builds explicitly as x86, so that should not be a problem (I suppose).


Hi,

Although I have never used multi-threading with Ogre, for what I know you cannot render the contents within another thread.
All the rendering must stay in the same thread.

Look in the forums for multi-thread and most probably you will see answers that can explain what you can and cannot do.

galaktor

02-07-2009 00:03:11

Look in the forums for multi-thread and most probably you will see answers that can explain what you can and cannot do.

Actually, I did look - and did not find anything useful. The missing possiblity to render in a separate thread is a major issue for my project, since thread scalability is very important.

I cannot believe that such a nicely designed render engine is not prepared for use on multiple threads? :shock: Anyone know more about this?

TeaBag

02-07-2009 08:41:15

Look in the forums for multi-thread and most probably you will see answers that can explain what you can and cannot do.

Actually, I did look - and did not find anything useful. The missing possiblity to render in a separate thread is a major issue for my project, since thread scalability is very important.

I cannot believe that such a nicely designed render engine is not prepared for use on multiple threads? :shock: Anyone know more about this?



Hi,

check this -> http://www.ogre3d.org/wiki/index.php/Threading (although it is referenced for a older version of Ogre)
and this -> http://www.ogre3d.org/forums/viewtopic.php?t=7244

read the information given by sinbad, he explains it quite well.

Hope it helps.

galaktor

02-07-2009 22:00:46

Thank you very much! I still must admit that I am quite shocked...

I don't want to step on anybody's feet here, so please apologize if this sounds hard...But it seems like those "justifications" are just looking for an excuse for not implementing thread-safety. Parallel, task-based core scalability is the future of game engine development, at least for the next years. And just because it is/used to be common practice to have graphics rendered on the main thread does not mean that this is the best solution.

The way it looks is that I will have to actually implement a special case in my current project for "legacy" engine systems that are not thread-safe and therefore must be run on the main thread.

For anyone interested, here is a particularly interesting article concerning parallelized game engine architecture.

Beauty

14-07-2009 21:36:12

Look in the forums for multi-thread and most probably you will see answers that can explain what you can and cannot do.

Actually, I did look - and did not find anything useful. The missing possiblity to render in a separate thread is a major issue for my project, since thread scalability is very important.

I cannot believe that such a nicely designed render engine is not prepared for use on multiple threads? :shock: Anyone know more about this?


Did you search in the Ogre main forum?
Some newcomers doesn't know that solutions for Ogre related questions are in the main forum instead of this add-on section.

I think, maybe there was a switch to enably multi threading inside of Ogre. But I'm not shure if I'm right. Maybe I also read that this is (was?) not stable ... or maybe stable to Ogre, but not to Mogre?
I can't remember, but something was discussed.
Generally I think that Ogre does or will support multi threading.
On the other hand some tasks can be outsourced to other threads. For example calculations that doesn't need Ogre. (e.g. in Anno 1404 the movements of swimming objects will be calculated independent from the scene graph. The calculations will be done by different threads.)
I think multi-threading Ogre is difficult, because it's partially very low level (near to hardware level).
But ok, I have not much knowledge about. So it's better to look to other thread about this. Or if your question is not answered, you can open a new thread in Ogre Main forum.

Thanks for the link (-:

galaktor

15-07-2009 23:25:30

Yeah, could be that I just used the search function in the add-ons forum and forgot that they are separated.

I did intially post here because I did not expect this to be an Ogre issue...I assumed Ogre must be capable of doing that :-) Whatever, I'll be looking around for a solution, but probably I'll just stick Ogre to the main thread for the sake of simplicity. I really hope this will change in some future version - especially if some sort of half-way-multi-threading should already be implemented somewhere deep down :-)

Nobody here happens to know another open source render engine that CAN actually be called from another thread to render? I love Ogre....but this kinda breaks my plans with it :cry:

smiley80

16-07-2009 04:39:01

Your code works for me on DirectX, OpenGl crashes immediately. But I've only tried it with a very basic sample.
Is the 'RenderOneFrame on another thread' thingy only an example? Because you wouldn't see any benefit from that.


Nobody here happens to know another open source render engine that CAN actually be called from another thread to render?

Last time I checked neither Irrlicht nor Horde3d supported multithreading. Not sure about Crystal Space, but that hasn't a .Net wrapper anyway.

Beauty

16-07-2009 09:09:38

It's not open source, but maybe Microsoft XNA is interesting for you.
It seems to support multithreading and is fully compatible to C# / .NET applications.

Look here:
http://en.wikipedia.org/wiki/Microsoft_XNA
http://www.ziggyware.com/readarticle.php?article_id=221
http://www.ziggyware.com/viewTag.php?tags=8
http://www.microsoft.com/downloads/deta ... layLang=en

I don't want to bring away people from Ogre. I just wanted to tell it :wink:

galaktor

16-07-2009 10:21:29

Your code works for me on DirectX, OpenGl crashes immediately. But I've only tried it with a very basic sample.
Thank you for the tip - my (also rather basic) test application runs nicely now using DirectX. So is this still an Ogre issue, or is it OpenGL?

Is the 'RenderOneFrame on another thread' thingy only an example? Because you wouldn't see any benefit from that.
Please clarify: what do you exactly mean by not having any benefit from that?

galaktor

16-07-2009 10:42:24

http://www.ziggyware.com/readarticle.php?article_id=221
http://www.microsoft.com/downloads/deta ... layLang=en

Awesome links! Especially the concept of making structs behave like unions. I am SO going to use that :-)

I don't want to bring away people from Ogre. I just wanted to tell it :wink:
Don't worry, I know XNA. I just don't like that it's so tied to Windows...but thanks for bringing it up, maybe I'll (have to) use it if Ogre doesn't work out the way I hope it will.

smiley80

16-07-2009 11:28:03


Thank you for the tip - my (also rather basic) test application runs nicely now using DirectX. So is this still an Ogre issue, or is it OpenGL?

Afaik, OpenGl isn't threadsafe at all. DirectX is, if you explicity create a threadsafe device.


Please clarify: what do you exactly mean by not having any benefit from that?

Well, at least no significant benefits.
In RenderOneFrame the CPU pushes the data to the GPU, the actual rendering is done asynchronously by the GPU, and the events are fired. But it doesn't wait till the rendering has finshed, i.e. you can't be sure that the frame has been rendered in FrameEnded.

You would see a boost in performance (under certain circumstances) if the transfer of data to the GPU is split over multiple threads, but that has to be implemented by Ogre itself.

galaktor

16-07-2009 12:03:04

Afaik, OpenGl isn't threadsafe at all. DirectX is, if you explicity create a threadsafe device.
I guess it also depends on driver support on the machine running the application.

In RenderOneFrame the CPU pushes the data to the GPU, the actual rendering is done asynchronously by the GPU, and the events are fired.
OK, I understand what you mean. The grunt work is handled on the graphics card anyways, and as we know those are highly parallel beasts. Still, it is about my general architecture. I am aiming to treat every system (physics, graphics, etc) within my application the same way. Meaning each one has a task that can be called in an asynchronous matter, no matter how big the benefit is. Theoretically speaking, you could implement a software renderer and stick it into there, which would benefit much more from parallel processing.

galaktor

16-07-2009 14:18:07

EDIT: Since this is totally off-topic by now, this will be my last post on this subject...should there be any more interest we could open up a new thread in the Ogre forum.

OK, I just checked the source code of the Intel Smoke Demo which uses Ogre 1.4.9. The use Direct3D and do the same thing: call RenderOneFrame() asynchronously. I guess this is why they went for D3D.

The code i was looking for can be found in the source code package at "code\src\SystemGraphicsOgre\Task.cpp"

OGREGraphicsTask::Update( f32 DeltaTime )
{
...
// Since rendering is a limiting serial stage in some (if not most) of the frames,
// we do not want it to be preempted. So temporarily boost up its thread priority.
SetThreadPriority(GetCurrentThread(), THREAD_PRIORITY_HIGHEST);

//
// Render the scene
//
__ITT_EVENT_START(g_tpeRendering);
m_pRoot->renderOneFrame();
__ITT_EVENT_END(g_tpeRendering);

// Since it's the pool thread, we know that normally it runs at normal priority.
// In more general case we would have needed to remember the initial priority
// before bringing it up.
SetThreadPriority(GetCurrentThread(), THREAD_PRIORITY_NORMAL);

//
// Update objects for next frame
//
m_pScene->Update( DeltaTime );
...
}

NarftheMouse

06-08-2009 23:56:01

You are right, I should look to the UpdateNotes.

For me it's strange that sinbad renamed WorldPostion / WorldOrientation.
These property names I did understand quickly and for me are the new ones less logical.
Also the underscore, which is for internally variables, that only should used if it's really needed. (This I read about.)


Then I got this error:
OGRE EXCEPTION(7:InternalErrorException): Could not load dynamic library .\RenderSystem_Direct3D9. System Error:
If somebody else has the problem, then install the DirectX Redist (November 2008)
http://www.microsoft.com/downloads/deta ... 20f1244a8e

I installed the latest DirectX Redist...Now I get an 'attempted to read/write protected memory' error.

...Progress?

NarftheMouse

07-08-2009 17:05:05

Mogre 1.6.2 wants 'cg.dll', which is not included in the 1.6.2 release. I'm using the Debug version.

mcaden

25-08-2009 18:54:14

building Mogre from svn

Can't find:

MogrePrerequisites.h
CLRObjects.inc
MogrePlatform.h

I can't find these files in SVN.

mcaden

25-08-2009 19:40:12

Nevermind, I see you have to go through AutoWrap and cpp2java

I'm just having problems with autowrap having an exception about DefMembers not being found and if I comment that exception out it runs but building Mogre ends up with _CLRHandle not being defined for MogrePlaneBoundedVolume

GantZ

25-08-2009 20:00:10


I'm just having problems with autowrap having an exception about DefMembers not being found and if I comment that exception out it runs but building Mogre ends up with _CLRHandle not being defined for MogrePlaneBoundedVolume


i remember having this kind of error when i haven't made the following :
copy the files from the Mogre\Ogre directory into the Ogre\OgreMain directories (files that start with CLR), put the .h in the include dir and the .cpp in the src dir.
make sure you do that BEFORE launching cpp2java. it is really important, otherwise, all the source code is not generated (you should have 149 .cpp files and 158 .h files). usually, you shouldn't have any error on the autowrap stage.

see my post on the same subject, it is the build process i have used to wrap ogre 1.6.3.

http://www.ogre3d.org/addonforums/viewtopic.php?f=8&t=10839#p62777

mcaden

25-08-2009 20:09:50

AHA!

That makes perfect sense. I'll do that. Thanks a ton.

mcaden

25-08-2009 23:27:39

Still not working. We keep having:

_CLRObject is not a member of Ogre::PlaneBoundedVolume


Anybody know of a solution for this? OR anybody who can compile from source willing to sign the DLLs and provide them?

GantZ

26-08-2009 09:50:53

do you still have error on the autowrap stage ?

it seem that you have a slightly different error now, it is correct ?

also, assure yourself that the ogre sources are correctly patched (you should have a DECLARE_CLRHANDLE; on OgrePlaneBoundedVolume.h). finally, are you able to build ogremain and all it plugins correctly with link_to_mogre defined to 0 ?

mcaden

26-08-2009 16:27:49

didn't know about patching Ogre.

EDIT: I see it in SVN, thanks

Also, you mentioned 149 .cpp files and 158 .h files in autowrap...I'm getting like...73 and 98 or something like that (not looking at the build right now so the numbers I just quoted may be off, but you get the picture).

EDIT2: 149 and 158 files after applying patch...building now :)

EDIT3: I've posted 1.6.3 binaries in a separate thread

codo

09-09-2009 09:09:40

When do you guys reckon 1.6 version of MOGRE is going to be stable and mature?

GantZ

10-09-2009 18:02:17

from my experience, Mogre 1.6 is already pretty stable. the process of upgrading from 1.4 to 1.6 have been relatively painless (at least less than what i was expecting). i use it since the first release and i haven't run into any major bug. still, i haven't the chance to test it on a more larger scale and use some of the new addition of ogre 1.6.

I'm also interested in some opinion of other people using mogre 1.6. do you think the current version is stable enough to drop the 1.4 version ?

codo

10-09-2009 22:08:36

I've run across some problems with MOGRE 1.6.2 and MHydrax 0.5. I've recompiled everything for 1.6 but there was flickering and other artifacts, so I just gave up :)