SkyX Wrapper for MOGRE         Sky and weather simulation
Print

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 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 (HydraxSkyXDemo(external link))
  • 2 example applications: Terrain & Volumetric cloud system

 
Wrapper notes:
Lot of classes are wrapped. If you need missing methods or features, then just ask here(external link) and the wrapper author (boyamer) will add them.

 

Authors and Support

 
SkyX:
Author: Xavyiy(external link)
Licence: Open source (LGPL licence)

SkyX wrapper:
Author: boyamer(external link) (Amer Koleci)
Licence: Open source (MIT licence)

Support:
Forum thread(external link) for SkyX
Forum thread(external link) of the Mogre wrapper

For questions, please use the public forum threads.

 

Screenshots

 
Image Image
Image
Image Image Image

Videos

 

 

Download

 
Binary download:
http://code.google.com/p/skyxmogre/downloads/list(external link)

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

Source code:
code.google.com/p/skyxmogre(external link)

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:

[SkyX]
FileSystem=../../Media/SkyX

 
Look also to the repository description page(external link) - 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

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

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.)

param_named uRadius float 30000

 



Problems with Shadows
Stencil Shadows are used for old hardware with fixed function pipeline, as SkyX is shader based probably there is a problem.

ShadowTechnique.SHADOWTYPE_STENCIL_ADDITIVE;               // shadows may work, SkyX BROKEN
ShadowTechnique.SHADOWTYPE_STENCIL_MODULATIVE;             // no shadows,       SkyX BROKEN
 
ShadowTechnique.SHADOWTYPE_NONE;                           // no shadows, SkyX WORKS
ShadowTechnique.SHADOWTYPE_TEXTURE_ADDITIVE;               // no shadows, SkyX WORKS
ShadowTechnique.SHADOWTYPE_TEXTURE_ADDITIVE_INTEGRATED;    // no shadows, SkyX WORKS
ShadowTechnique.SHADOWTYPE_TEXTURE_MODULATIVE;             // no shadows, SkyX WORKS
ShadowTechnique.SHADOWTYPE_TEXTURE_MODULATIVE_INTEGRATED;  // no shadows, SkyX WORKS

 

See also

 

 


Contributors to this page: Xavyiy63 points  and Beauty10198 points  .
Page last modified on Monday 07 of November, 2011 00:26:14 UTC by Xavyiy63 points .


The content on this page is licensed under the terms of the Creative Commons Attribution-ShareAlike License.
As an exception, any source code contributed within the content is released into the Public Domain.