Show More
Commit Description:
Various UI improvements.
Commit Description:
Various UI improvements.
File last commit:
Show/Diff file:
Action:
FNA/src/Content/ContentReaders/TextureCubeReader.cs
66 lines | 1.3 KiB | text/x-csharp | CSharpLexer
#region License
/* FNA - XNA4 Reimplementation for Desktop Platforms
* Copyright 2009-2020 Ethan Lee and the MonoGame Team
*
* Released under the Microsoft Public License.
* See LICENSE for details.
*/
#endregion
#region Using Statements
using Microsoft.Xna.Framework.Graphics;
#endregion
namespace Microsoft.Xna.Framework.Content
{
internal class TextureCubeReader : ContentTypeReader<TextureCube>
{
#region Protected Read Method
protected internal override TextureCube Read(
ContentReader reader,
TextureCube existingInstance
) {
TextureCube textureCube;
SurfaceFormat surfaceFormat = (SurfaceFormat) reader.ReadInt32();
int size = reader.ReadInt32();
int levels = reader.ReadInt32();
if (existingInstance == null)
{
textureCube = new TextureCube(
reader.ContentManager.GetGraphicsDevice(),
size,
levels > 1,
surfaceFormat
);
}
else
{
textureCube = existingInstance;
}
for (int face = 0; face < 6; face += 1)
{
for (int i = 0; i < levels; i += 1)
{
int faceSize = reader.ReadInt32();
byte[] faceData = reader.ReadBytes(faceSize);
textureCube.SetData<byte>(
(CubeMapFace) face,
i,
null,
faceData,
0,
faceSize
);
}
}
return textureCube;
}
#endregion
}
}