Skip to main content

History: Managed Hydrax Wrapper

Source of version: 14 (current)

Copy to clipboard
            ((Hydrax)) is a an add-on library for Ogre to render __pretty water__ scenes.

With the Managed Hydrax ((-Wrapper)) (short form: __MHydrax__) Hydrax can be used by ((MOGRE|Mogre)) too.

I hope you enjoy MHydrax. Any feedback is welcome.

__Author__: ((User:raygeee|raygeee)) (retired)
__Project__: Managed Hydrax -Wrapper
__Current version__: 0.5.1
__License__: [http://www.gnu.org/copyleft/lesser.html|GNU Lesser General Public License] (free for any use)
__Wrapped project__: ((Hydrax))
__Wrapped project license__: [http://www.gnu.org/copyleft/lesser.html|GNU Lesser General Public License] (free for any use)
__Type__: C++/CLI -Wrapper
__Dependencies__: Ogre 1.7 / Mogre 1.7 
(For Mogre 1.6 use MHydrax 0.4)


%help% For questions and latest information use this [http://www.ogre3d.org/addonforums/viewtopic.php?f=8&t=13934|forum topic].



{YOUTUBE(movie="http://www.youtube.com/watch?v=FL02s_MGIQc",width="640",height="420",allowFullScreen="y")}{YOUTUBE}
{img src="img/wiki_up/Hydrax_04_2.png" alt="Hydrax_04_2.png"}

More pictures and a full feature list are available on the ((Hydrax)) page.

{maketoc}

!Downloads

* [http://www.ogre3d.org/addonforums/viewtopic.php?p=78404#p78404|Managed Hydrax Wrapper 0.5.1] - related to Mogre 1.7
** The linked post also contains __build instructions__.
** There seems to be an improved version. Just follow the forum topic to get the newest MHydrax version.
* [http://www.ogre3d.org/addonforums/download/file.php?id=639|Managed Hydrax Wrapper 0.5] - related to Mogre 1.6

Original Hydrax (see ((Hydrax)))
* [http://modclub.rigsofrods.com/xavi/Hydrax-v0.5_Demo1.rar|Precompiled Hydrax demo] (version 0.5) 
* [http://modclub.rigsofrods.com/xavi/Hydrax-v0.5.rar|Hydrax/Demo sources and media files] (version 0.5)
* [http://modclub.rigsofrods.com/xavi/Hydrax-Editor-v0.5.rar|Hydrax editor] (with sources, version 0.5) 

!Installation
''related to Hydrax 0.5 and MHydrax 0.5''

!!!Things to do in Hydrax
Adjustments in ''*.cpp''-files to work with Ogre 1.4x: (as told in [http://www.ogre3d.org/addonforums/viewtopic.php?f=20&t=8392|this thread])

* Change these lines in ''MaterialManager::_createUnderwaterCompositor()''
{CODE(wrap="1", colors="c#")}    Ogre::PixelFormatList l;
    l.push_back(Ogre::PF_A8R8G8B8);
    TDef->formatList = l;{CODE}
to:
{CODE(wrap="1", colors="c#")}    TDef->format = Ogre::PF_A8R8G8B8; // New code line for Ogre 1.4.x{CODE}

* Comment this line in ''Decal::setSize()'' if it's not already commented:
{CODE(wrap="1", colors="c#")}    mProjector->setOrthoWindow(Size.x, Size.y);{CODE}

* Optional: Change Hydrax to compile as static library (''*.lib''). (You may still choose to not do that...)

The result is that the managed ''MHydrax.dll'' doesn't need any native ''Hydrax.dll''.

!!!Things to do in MHydrax project properties
* In Framework and References: Adjust refence to ''Mogre.dll'' (the one corresponding to your current build mode)
* In C/C++: Adjust additional include directories to match yours
* In Linker: Adjust additional library directories to match yours

!!!Things to do in Samples project properties
* In References: Adjust references to ''Mogre.dll'' and ''MOIS.dll'' (the ones corresponding to your current build mode)
* General things to do:
** Copy folder "Media" from Hydrax to MHydrax solution directory or adjust the ''resources.cfg''.
** Make sure the ''dll''s Ogre needs to run are in the ''debug''/''release'' folders. (OgreMain, OIS, OctreeSceneManager, CgProgramManager, cg, RenderSystems..)

!Samples
An almost similar Samples project like in Hydrax is included. It's written in VB.NET code, but can be easily translated to C# or any other managed code language. For example by the VB.NET-to-C#-Converter: [http://codeconverter.sharpdevelop.net|codeconverter.sharpdevelop.net].

Also you can look to the ((MHydrax code example)).


!Wrapper status
Wrapped classes (with prefix 'M' in MHydrax):
* Hydrax (as far as the other wrapped classes allow)
* Module
* ProjectedGrid
* SimpleGrid
* RadialGrid
* Noise
* Perlin
* FFT
* MaterialManager
* CfgFileManager
* GodRaysManager
* DecalsManager
* Decal
* Mesh
* Size
* several Enum classes

Classes not wrapped yet:
* GPUNormalMapManager
* RttManager
* TextureManager

Known bugs:
* None at the moment. Please tell us in the [http://www.ogre3d.org/addonforums/viewtopic.php?f=8&t=13934|MHydrax forum thread] if you find a possible one.


!See also

* ((MHydrax code example))
* [http://www.ogre3d.org/addonforums/viewtopic.php?f=8&t=13934|current forum topic] of the Managed Hydrax wrapper
** [http://www.ogre3d.org/addonforums/viewtopic.php?f=8&t=9229|old forum thread] of the Managed Hydrax wrapper
* [http://www.ogre3d.org/addonforums/viewforum.php?f=20|Hydrax forum] - the common Hydrax discussion place
* ((Hydrax)) page for a full feature list, example videos, etc.
* [http://modclub.rigsofrods.com/xavi/05APIDoc/html/|Hydrax API documentation]
* ((EGO Game Editor)) - Has support for Hydrax
* [http://eggers-sw.de/index.php/system/hydrax|Integration to Ogre 1.7] - code snippet {SUB()}(a backup is attached to this wiki page){SUB}
* [http://www.ogre3d.org/addonforums/viewtopic.php?f=8&t=7989|Unfinished Hydrax wrapper] - An alternative wrapper for Hydrax. It isn't finished, but most parts were done.

---
Alias: (alias(Managed_Hydrax_Wrapper)), (alias(MHydrax))