nux-1.16.0
|
00001 /* 00002 * Copyright 2010 Inalogic® Inc. 00003 * 00004 * This program is free software: you can redistribute it and/or modify it 00005 * under the terms of the GNU Lesser General Public License, as 00006 * published by the Free Software Foundation; either version 2.1 or 3.0 00007 * of the License. 00008 * 00009 * This program is distributed in the hope that it will be useful, but 00010 * WITHOUT ANY WARRANTY; without even the implied warranties of 00011 * MERCHANTABILITY, SATISFACTORY QUALITY or FITNESS FOR A PARTICULAR 00012 * PURPOSE. See the applicable version of the GNU Lesser General Public 00013 * License for more details. 00014 * 00015 * You should have received a copy of both the GNU Lesser General Public 00016 * License along with this program. If not, see <http://www.gnu.org/licenses/> 00017 * 00018 * Authored by: Jay Taoko <jaytaoko@inalogic.com> 00019 * 00020 */ 00021 00022 00023 #include "NuxCore/NuxCore.h" 00024 #include "BitmapFormats.h" 00025 00026 namespace nux 00027 { 00028 00029 PixelFormatInfo GPixelFormats[] = 00030 { 00031 // Name BlockSizeX BlockSizeY BlockSizeZ BlockBytes NumComponents Platform Internal Type Memory Flags Supported EPixelFormat 00032 // Format Format Alignment 00033 { TEXT ("BITFMT_UNKNOWN"), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, false }, // BITFMT_Unknown 00034 { TEXT ("BITFMT_R8G8B8A8"), 1, 1, 1, 4, 4, 0, 0, 0, 4, 0, true }, // BITFMT_R8G8B8A8 00035 { TEXT ("BITFMT_A8B8G8R8"), 1, 1, 1, 4, 4, 0, 0, 0, 4, 0, true }, // BITFMT_A8B8G8R8 00036 { TEXT ("BITFMT_B8G8R8A8"), 1, 1, 1, 4, 4, 0, 0, 0, 4, 0, true }, // BITFMT_B8G8R8A8 00037 { TEXT ("BITFMT_A8R8G8B8"), 1, 1, 1, 4, 4, 0, 0, 0, 4, 0, true }, // BITFMT_A8R8G8B8 00038 { TEXT ("BITFMT_R8G8B8"), 1, 1, 1, 3, 3, 0, 0, 0, 1, 0, true }, // BITFMT_R8G8B8 00039 { TEXT ("BITFMT_B8G8R8"), 1, 1, 1, 3, 3, 0, 0, 0, 1, 0, true }, // BITFMT_B8G8R8 00040 { TEXT ("BITFMT_R5G6B5"), 1, 1, 1, 2, 3, 0, 0, 0, 1, 0, true }, // BITFMT_R5G6B5 00041 { TEXT ("BITFMT_RGBA16F"), 1, 1, 1, 8, 4, 0, 0, 0, 1, 0, true }, // BITFMT_RGBA16F 00042 { TEXT ("BITFMT_RGB32F"), 1, 1, 1, 12, 3, 0, 0, 0, 1, 0, true }, // BITFMT_RGB32F 00043 { TEXT ("BITFMT_RGBA32F"), 1, 1, 1, 16, 4, 0, 0, 0, 1, 0, true }, // BITFMT_RGBA32F 00044 { TEXT ("BITFMT_D24S8"), 1, 1, 1, 4, 2, 0, 0, 0, 1, 0, true }, // BITFMT_D24S8 00045 { TEXT ("BITFMT_DXT1"), 4, 4, 1, 8, 3, 0, 0, 0, 1, 0, true }, // BITFMT_DXT1 00046 { TEXT ("BITFMT_DXT2"), 4, 4, 1, 16, 4, 0, 0, 0, 1, 0, true }, // BITFMT_DXT2 00047 { TEXT ("BITFMT_DXT3"), 4, 4, 1, 16, 4, 0, 0, 0, 1, 0, true }, // BITFMT_DXT3 00048 { TEXT ("BITFMT_DXT4"), 4, 4, 1, 16, 4, 0, 0, 0, 1, 0, true }, // BITFMT_DXT4 00049 { TEXT ("BITFMT_DXT5"), 4, 4, 1, 16, 4, 0, 0, 0, 1, 0, true }, // BITFMT_DXT5 00050 { TEXT ("BITFMT_R10G10B10A2"), 1, 1, 1, 4, 4, 0, 0, 0, 4, 0, true }, // BITFMT_R10G10B10A2 00051 { TEXT ("BITFMT_A2B10G10R10"), 1, 1, 1, 4, 4, 0, 0, 0, 4, 0, true }, // BITFMT_A2B10G10R10 00052 { TEXT ("BITFMT_B10G10R10A2"), 1, 1, 1, 4, 4, 0, 0, 0, 4, 0, true }, // BITFMT_B10G10R10A2 00053 { TEXT ("BITFMT_A2R10G10B10"), 1, 1, 1, 4, 4, 0, 0, 0, 4, 0, true }, // BITFMT_A2R10G10B10 00054 00055 { TEXT ("BITFMT_A8"), 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, true }, // BITFMT_A8 00056 00057 { TEXT ("BITFMT_END_GFX_FORMATS"), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, false }, // BITFMT_END_GFX_FORMATS 00058 }; 00059 00060 00061 ReadBackPixelFormatInfo GReadBackPixelFormats[] = 00062 { 00063 // Name BlockBytes NumComponents Format Type Flags Supported EPixelFormat 00064 00065 { TEXT ("BITFMT_UNKNOWN"), 0, 0, 0, 0, 0, false }, // BITFMT_Unknown 00066 { TEXT ("BITFMT_R8G8B8A8"), 4, 4, 0, 0, 0, true }, // BITFMT_R8G8B8A8 00067 { TEXT ("BITFMT_A8B8G8R8"), 4, 4, 0, 0, 0, true }, // BITFMT_A8B8G8R8 00068 { TEXT ("BITFMT_B8G8R8A8"), 4, 4, 0, 0, 0, true }, // BITFMT_B8G8R8A8 00069 { TEXT ("BITFMT_A8R8G8B8"), 4, 4, 0, 0, 0, true }, // BITFMT_A8R8G8B8 00070 { TEXT ("BITFMT_R8G8B8"), 3, 3, 0, 0, 0, true }, // BITFMT_R8G8B8 00071 { TEXT ("BITFMT_B8G8R8"), 3, 3, 0, 0, 0, true }, // BITFMT_B8G8R8 00072 { TEXT ("BITFMT_R5G6B5"), 2, 3, 0, 0, 0, true }, // BITFMT_R5G6B5 00073 { TEXT ("BITFMT_RGBA16F"), 8, 4, 0, 0, 0, true }, // BITFMT_RGBA16F 00074 { TEXT ("BITFMT_RGBA32F"), 16, 4, 0, 0, 0, true }, // BITFMT_RGBA32F 00075 { TEXT ("BITFMT_D24S8"), 4, 2, 0, 0, 0, true }, // BITFMT_D24S8 00076 { TEXT ("BITFMT_DXT1"), 8, 3, 0, 0, 0, true }, // BITFMT_DXT1 00077 { TEXT ("BITFMT_DXT2"), 16, 4, 0, 0, 0, true }, // BITFMT_DXT2 00078 { TEXT ("BITFMT_DXT3"), 16, 4, 0, 0, 0, true }, // BITFMT_DXT3 00079 { TEXT ("BITFMT_DXT4"), 16, 4, 0, 0, 0, true }, // BITFMT_DXT4 00080 { TEXT ("BITFMT_DXT5"), 16, 4, 0, 0, 0, true }, // BITFMT_DXT5 00081 { TEXT ("BITFMT_R10G10B10A2"), 4, 4, 0, 0, 0, true }, // BITFMT_R10G10B10A2 00082 { TEXT ("BITFMT_A2B10G10R10"), 4, 4, 0, 0, 0, true }, // BITFMT_A2B10G10R10 00083 { TEXT ("BITFMT_B10G10R10A2"), 4, 4, 0, 0, 0, true }, // BITFMT_B10G10R10A2 00084 { TEXT ("BITFMT_A2R10G10B10"), 4, 4, 0, 0, 0, true }, // BITFMT_A2R10G10B10 00085 00086 { TEXT ("BITFMT_A8"), 1, 1, 0, 0, 0, true }, // BITFMT_A8 00087 00088 { TEXT ("BITFMT_END_GFX_FORMATS"), 0, 0, 0, 0, 0, false }, // BITFMT_END_GFX_FORMATS 00089 }; 00090 00091 }