Skip to main content

History: SkyX Wrapper for MOGRE

Source of version: 10

Copy to clipboard
            {maketoc}

!Description

((SkyX)) pretends to be a photorealistic, simple and fast __sky simulator__.

This page is related to the SkyX wrapper, which allows sky simulation for ((MOGRE|Mogre)) applications.


!Features

Features of SkyX:

* Atmosphere manager (Atmosphere information, functions that returns the sky colour at a especified direction, ...)
* Sun, Moon and star field
* Layer clouds
* Full volumetric cloud system
* Ground atmospheric light absorcion pass (Allows you to simulate the atmospheric light absorcion in scene objects)
* HDR and LDR support
* Shader Model 2.0 capable (HLSL for the moment)
* Full integration with ((Hydrax)) (water simulation) and code example ([http://www.ogre3d.org/forums/viewtopic.php?f=11&t=52166|HydraxSkyXDemo])
* 2 example applications: Terrain & Volumetric cloud system

__Wrapper notes:__
Lot of classes are wrapped. If you need __missing methods or features__, then __just ask__ [http://www.ogre3d.org/addonforums/viewtopic.php?f=8&t=13172|here] and the wrapper author (boyamer) will add them.


!Authors and Support

__SkyX:__
Author: [http://www.ogre3d.org/forums/memberlist.php?mode=viewprofile&u=3789|Xavyiy]
Licence: Open source (MIT licence)

__SkyX wrapper:__
Author: [http://www.ogre3d.org/addonforums/memberlist.php?mode=viewprofile&u=10434|boyamer] (Amer Koleci)
Licence: Open source (MIT licence)

__Support:__
[http://www.ogre3d.org/forums/viewtopic.php?f=11&t=48414|Forum thread] for SkyX
[http://www.ogre3d.org/addonforums/viewtopic.php?f=8&t=13172|Forum thread] of the Mogre wrapper

For questions, please use the public forum threads.



!Screenshots

{IMG(src="http://modclub.rigsofrods.com/xavi/SkyX/1_.png")}{IMG}   {IMG(src="http://modclub.rigsofrods.com/xavi/SkyX/2_.png")}{IMG}
{IMG(src="http://modclub.rigsofrods.com/xavi/SkyX/3_.png")}{IMG}
{IMG(src="http://modclub.rigsofrods.com/xavi/SkyX/5_.png")}{IMG} {IMG(src="http://modclub.rigsofrods.com/xavi/SkyX/6_.png")}
{IMG}{IMG(src="http://modclub.rigsofrods.com/xavi/SkyX/6_.png")}{IMG}

!Videos

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


!Download

__Binary download:__
http://code.google.com/p/skyxmogre/downloads/list

Just copy the compiled files into your binary directory (e.g. ''MogreSDK\bin\release'').

__Source code:__ 
[http://code.google.com/p/skyxmogre|code.google.com/p/skyxmogre]

For compilation of the source code you need to set the option "Allow unsafe code" in the project properties of Visual Studio.


!Intregration

How to start using SkyX wrapper for Mogre

__Introduction:__

SkyX wrapper is P/INVOKE wrapper for Mogre 1.7.1.
The wrapper is self included into the SkyX projects and added the export declaration.
To build the wrapper you have to open SkyX project and add Mogre include path into the inclusion path and Mogre lib path into the library path, call Build and if compilation went ok under ''SkyX\SkyX\release'' you should find ''SkyX.dll''.

Copy that dll into your project binary path (e.g. ''Mogre\Bin\Release'')

__.NET application:__

To use SkyX into your application, copy the media files from ''SkyX\media'' into your media path.

Open __resources.cfg__ and add this line to the end, referencing where your SkyX content is. 
Example:
{CODE(wrap="1")}
[SkyX]
FileSystem=../../Media/SkyX
{CODE}

Look also to the [http://code.google.com/p/skyxmogre/source/browse/wiki/HowToStart.wiki|repository description page] - maybe it contains newer information.

__Instruction of a forum post:__

You don't need to add any DLL reference to your project, just make sure the DLL is in the same directory like all your compiled .exe and .dll files (usually somewhere like bin\Debug or bin\Release) and add the files from boyamers repository (''AtmosphereManager.cs'', ''CloudLayer.cs'', and so on). These files contain the managed part (for C#) of the wrapper and contains all the functions and classes you need.


!Usage

Look into the source code of the demo applications.

__TODO: add code snippets__


!Notes

If you get this ''invalid parameters'' error in the ''ogre.log'' file
{CODE(wrap="1")}23:19:46: Parsing script SkyX.material
23:19:46: Compiler error: invalid parameters in SkyX.material(109): param_named and param_indexed properties requires at least 3 arguments{CODE}
Then you should modify the related line of the ''SkyX.material'' file. (The line number you find in the ogre log message. In this example it's line 109.)
{CODE(wrap="1")}param_named uRadius float 30000{CODE}


%%%
__Don't use Stencil Shadows.__ 
They're used for old hardware with fixed function pipeline, as SkyX is shader based probably there is a problem.
{CODE(wrap="1", colors="c#")}ShadowTechnique.SHADOWTYPE_STENCIL_ADDITIVE;     // don't use
ShadowTechnique.SHADOWTYPE_STENCIL_MODULATIVE;   // don't use{CODE}


%%%
!See also

* ((Caelum)) - An alternative Sky simulation
** ((CaelumSharp)) - Mogre wrapper for Caelum
* ((Mogre Basic Tutorial 3)) - How to create a sky by Ogre/Mogre core methods (without add-on)


        

History

Information Version
Sat 01 of Sep, 2012 13:46 GMT-0000 Beauty added outdated note + link to alternative wrapper 13
Mon 07 of Nov, 2011 00:26 GMT-0000 Xavyiy SkyX license correction (LGPL instead of MIT) 12
Sun 09 of Jan, 2011 12:06 GMT-0000 Beauty added note for stencil shadows 11
Sat 08 of Jan, 2011 13:23 GMT-0000 Beauty added note for stencil shadows 10
Mon 03 of Jan, 2011 13:31 GMT-0000 Beauty added link 9
Sun 02 of Jan, 2011 11:30 GMT-0000 Beauty added NOTES section 8
Thu 30 of Dec, 2010 12:37 GMT-0000 Beauty added more information 7
Thu 30 of Dec, 2010 11:48 GMT-0000 Beauty added wrapper notes 6
Thu 30 of Dec, 2010 11:40 GMT-0000 Beauty 5
Thu 30 of Dec, 2010 11:37 GMT-0000 Beauty added much project information 4
Thu 19 of Aug, 2010 20:25 GMT-0000 Beauty added short description 3
Thu 19 of Aug, 2010 20:24 GMT-0000 Beauty linked "SkyX" wiki page (which I created just now) 2
Thu 19 of Aug, 2010 19:48 GMT-0000 Beauty NEW PAGE - todo: add details 1