Inheritance: Texture, OpenGLDeferredResource
Esempio n. 1
0
        internal static TextureTarget GetTextureTarget(OpenGLTexture glTex, uint arrayLayer)
        {
            if ((glTex.Usage & TextureUsage.Cubemap) == TextureUsage.Cubemap)
            {
                switch (arrayLayer % 6)
                {
                case 0:
                    return(TextureTarget.TextureCubeMapPositiveX);

                case 1:
                    return(TextureTarget.TextureCubeMapNegativeX);

                case 2:
                    return(TextureTarget.TextureCubeMapPositiveY);

                case 3:
                    return(TextureTarget.TextureCubeMapNegativeY);

                case 4:
                    return(TextureTarget.TextureCubeMapPositiveZ);

                case 5:
                    return(TextureTarget.TextureCubeMapNegativeZ);
                }
            }

            return(glTex.TextureTarget);
        }
 private TextureTarget GetTextureTarget(OpenGLTexture tex)
 {
     if ((tex.Usage & TextureUsage.Cubemap) == TextureUsage.Cubemap)
     {
         return(tex.ArrayLayers == 1 ? TextureTarget.TextureCubeMap : TextureTarget.TextureCubeMapArray);
     }
     else if (tex.Depth == 1)
     {
         return(tex.ArrayLayers == 1 ? TextureTarget.Texture2D : TextureTarget.Texture2DArray);
     }
     else
     {
         return(TextureTarget.Texture3D);
     }
 }