private void LoadCubeTexture()
{
Debug.Assert( this.TextureType == TextureType.CubeMap, "this.TextureType == TextureType.CubeMap" );
if ( Root.Instance.RenderSystem.ConfigOptions[ "Use Content Pipeline" ].Value == "Yes" )
{
AxiomContentManager acm = new AxiomContentManager( (XnaRenderSystem)Root.Instance.RenderSystem, "" );
_cubeTexture = acm.Load<XFG.TextureCube>( Name );
_texture = _cubeTexture;
internalResourcesCreated = true;
}
#if !( XBOX || XBOX360 )
else
{
/* Use internal .dds loader instead */
//if ( Name.EndsWith( ".dds" ) )
//{
// Stream stream = ResourceGroupManager.Instance.OpenResource( Name );
// _cubeTexture = XFG.TextureCube.FromFile( _device, stream );
// stream.Close();
//}
//else
{
this.ConstructCubeFaceNames( Name );
// Load from 6 separate files
// Use Axiom codecs
List<Image> images = new List<Image>();
int pos = Name.LastIndexOf( "." );
string ext = Name.Substring( pos + 1 );
for ( int i = 0; i < 6; i++ )
{
Stream strm = ResourceGroupManager.Instance.OpenResource( cubeFaceNames[ i ], Group, true, this );
var image = Image.FromStream( strm, ext );
images.Add( image );
strm.Close();
}
LoadImages( images.ToArray() );
}
_texture = _cubeTexture;
internalResourcesCreated = true;
}
#endif
}