Panda3D

Loading...
Searching...
No Matches
Macros | Enumerations | Functions | Variables
texture.cxx File Reference

PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University. More...

`#include "pandabase.h"`
`#include "texture.h"`
`#include "config_gobj.h"`
`#include "config_putil.h"`
`#include "texturePool.h"`
`#include "textureContext.h"`
`#include "bamCache.h"`
`#include "bamCacheRecord.h"`
`#include "datagram.h"`
`#include "datagramIterator.h"`
`#include "bamReader.h"`
`#include "bamWriter.h"`
`#include "string_utils.h"`
`#include "preparedGraphicsObjects.h"`
`#include "pnmImage.h"`
`#include "pnmReader.h"`
`#include "pfmFile.h"`
`#include "pnmFileTypeRegistry.h"`
`#include "virtualFileSystem.h"`
`#include "datagramInputFile.h"`
`#include "datagramOutputFile.h"`
`#include "bam.h"`
`#include "zStream.h"`
`#include "indent.h"`
`#include "cmath.h"`
`#include "pStatTimer.h"`
`#include "pbitops.h"`
`#include "streamReader.h"`
`#include "texturePeeker.h"`
`#include "convert_srgb.h"`
`#include <stddef.h>`

Go to the source code of this file.

## Macros
#define | DDPF_ALPHAPIXELS 0x00000001
#define | DDPF_FOURCC 0x00000004
#define | DDPF_INDEXED 0x00000020
#define | DDPF_RGB 0x00000040
#define | DDS_MAGIC 0x20534444
#define | DDSCAPS2_CUBEMAP 0x00000200
#define | DDSCAPS2_CUBEMAP_NEGATIVEX 0x00000800
#define | DDSCAPS2_CUBEMAP_NEGATIVEY 0x00002000
#define | DDSCAPS2_CUBEMAP_NEGATIVEZ 0x00008000
#define | DDSCAPS2_CUBEMAP_POSITIVEX 0x00000400
#define | DDSCAPS2_CUBEMAP_POSITIVEY 0x00001000
#define | DDSCAPS2_CUBEMAP_POSITIVEZ 0x00004000
#define | DDSCAPS2_VOLUME 0x00200000
#define | DDSCAPS_COMPLEX 0x00000008
#define | DDSCAPS_MIPMAP 0x00400000
#define | DDSCAPS_TEXTURE 0x00001000
#define | DDSD_CAPS 0x00000001
#define | DDSD_DEPTH 0x00800000
#define | DDSD_HEIGHT 0x00000002
#define | DDSD_LINEARSIZE 0x00080000
#define | DDSD_MIPMAPCOUNT 0x00020000
#define | DDSD_PITCH 0x00000008
#define | DDSD_PIXELFORMAT 0x00001000
#define | DDSD_WIDTH 0x00000004

## Enumerations
enum | KTXCompressedFormat { KTX_COMPRESSED_LUMINANCE_ALPHA_LATC2 = 0x8C72 , KTX_COMPRESSED_LUMINANCE_LATC1 = 0x8C70 , KTX_COMPRESSED_R11_EAC = 0x9270 , KTX_COMPRESSED_RED = 0x8225 , KTX_COMPRESSED_RED_RGTC1 = 0x8DBB , KTX_COMPRESSED_RG = 0x8226 , KTX_COMPRESSED_RG11_EAC = 0x9272 , KTX_COMPRESSED_RG_RGTC2 = 0x8DBD , KTX_COMPRESSED_RGB = 0x84ED , KTX_COMPRESSED_RGB8_ETC2 = 0x9274 , KTX_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 = 0x9276 , KTX_COMPRESSED_RGB_BPTC_SIGNED_FLOAT = 0x8E8E , KTX_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT = 0x8E8F , KTX_COMPRESSED_RGB_FXT1_3DFX = 0x86B0 , KTX_COMPRESSED_RGB_PVRTC_2BPPV1_IMG = 0x8C01 , KTX_COMPRESSED_RGB_PVRTC_4BPPV1_IMG = 0x8C00 , KTX_COMPRESSED_RGB_S3TC_DXT1 = 0x83F0 , KTX_COMPRESSED_RGBA = 0x84EE , KTX_COMPRESSED_RGBA8_ETC2_EAC = 0x9278 , KTX_COMPRESSED_RGBA_BPTC_UNORM = 0x8E8C , KTX_COMPRESSED_RGBA_FXT1_3DFX = 0x86B1 , KTX_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG = 0x8C03 , KTX_COMPRESSED_RGBA_PVRTC_2BPPV2_IMG = 0x9137 , KTX_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG = 0x8C02 , KTX_COMPRESSED_RGBA_PVRTC_4BPPV2_IMG = 0x9138 , KTX_COMPRESSED_RGBA_S3TC_DXT1 = 0x83F1 , KTX_COMPRESSED_RGBA_S3TC_DXT3 = 0x83F2 , KTX_COMPRESSED_RGBA_S3TC_DXT5 = 0x83F3 , KTX_COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2 = 0x8C73 , KTX_COMPRESSED_SIGNED_LUMINANCE_LATC1 = 0x8C71 , KTX_COMPRESSED_SIGNED_R11_EAC = 0x9271 , KTX_COMPRESSED_SIGNED_RED_RGTC1 = 0x8DBC , KTX_COMPRESSED_SIGNED_RG11_EAC = 0x9273 , KTX_COMPRESSED_SIGNED_RG_RGTC2 = 0x8DBE , KTX_COMPRESSED_SLUMINANCE = 0x8C4A , KTX_COMPRESSED_SLUMINANCE_ALPHA = 0x8C4B , KTX_COMPRESSED_SRGB = 0x8C48 , KTX_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC = 0x9279 , KTX_COMPRESSED_SRGB8_ETC2 = 0x9275 , KTX_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 = 0x9277 , KTX_COMPRESSED_SRGB_ALPHA = 0x8C49 , KTX_COMPRESSED_SRGB_ALPHA_BPTC_UNORM = 0x8E8D , KTX_COMPRESSED_SRGB_ALPHA_PVRTC_2BPPV1 = 0x8A56 , KTX_COMPRESSED_SRGB_ALPHA_PVRTC_2BPPV2 = 0x93F0 , KTX_COMPRESSED_SRGB_ALPHA_PVRTC_4BPPV1 = 0x8A57 , KTX_COMPRESSED_SRGB_ALPHA_PVRTC_4BPPV2 = 0x93F1 , KTX_COMPRESSED_SRGB_ALPHA_S3TC_DXT1 = 0x8C4D , KTX_COMPRESSED_SRGB_ALPHA_S3TC_DXT3 = 0x8C4E , KTX_COMPRESSED_SRGB_ALPHA_S3TC_DXT5 = 0x8C4F , KTX_COMPRESSED_SRGB_PVRTC_2BPPV1 = 0x8A54 , KTX_COMPRESSED_SRGB_PVRTC_4BPPV1 = 0x8A55 , KTX_COMPRESSED_SRGB_S3TC_DXT1 = 0x8C4C , KTX_ETC1_RGB8 = 0x8D64 , KTX_ETC1_SRGB8 = 0x88EE }
enum | KTXFormat { KTX_ALPHA = 0x1906 , KTX_ALPHA12 = 0x803D , KTX_ALPHA16 = 0x803E , KTX_ALPHA16_SNORM = 0x9018 , KTX_ALPHA4 = 0x803B , KTX_ALPHA8 = 0x803C , KTX_ALPHA8_SNORM = 0x9014 , KTX_ALPHA_SNORM = 0x9010 , KTX_BGR = 0x80E0 , KTX_BGR_INTEGER = 0x8D9A , KTX_BGRA = 0x80E1 , KTX_BGRA_INTEGER = 0x8D9B , KTX_BLUE = 0x1905 , KTX_BLUE_INTEGER = 0x8D96 , KTX_COLOR_INDEX = 0x1900 , KTX_DEPTH24_STENCIL8 = 0x88F0 , KTX_DEPTH32F_STENCIL8 = 0x8CAD , KTX_DEPTH_COMPONENT = 0x1902 , KTX_DEPTH_COMPONENT16 = 0x81A5 , KTX_DEPTH_COMPONENT24 = 0x81A6 , KTX_DEPTH_COMPONENT32 = 0x81A7 , KTX_DEPTH_COMPONENT32F = 0x8CAC , KTX_DEPTH_STENCIL = 0x84F9 , KTX_GREEN = 0x1904 , KTX_GREEN_INTEGER = 0x8D95 , KTX_INTENSITY = 0x8049 , KTX_INTENSITY12 = 0x804C , KTX_INTENSITY16 = 0x804D , KTX_INTENSITY16_SNORM = 0x901B , KTX_INTENSITY4 = 0x804A , KTX_INTENSITY8 = 0x804B , KTX_INTENSITY8_SNORM = 0x9017 , KTX_INTENSITY_SNORM = 0x9013 , KTX_LUMINANCE = 0x1909 , KTX_LUMINANCE12 = 0x8041 , KTX_LUMINANCE12_ALPHA12 = 0x8047 , KTX_LUMINANCE12_ALPHA4 = 0x8046 , KTX_LUMINANCE16 = 0x8042 , KTX_LUMINANCE16_ALPHA16 = 0x8048 , KTX_LUMINANCE16_ALPHA16_SNORM = 0x901A , KTX_LUMINANCE16_SNORM = 0x9019 , KTX_LUMINANCE4 = 0x803F , KTX_LUMINANCE4_ALPHA4 = 0x8043 , KTX_LUMINANCE6_ALPHA2 = 0x8044 , KTX_LUMINANCE8 = 0x8040 , KTX_LUMINANCE8_ALPHA8 = 0x8045 , KTX_LUMINANCE8_ALPHA8_SNORM = 0x9016 , KTX_LUMINANCE8_SNORM = 0x9015 , KTX_LUMINANCE_ALPHA = 0x190A , KTX_LUMINANCE_ALPHA_SNORM = 0x9012 , KTX_LUMINANCE_SNORM = 0x9011 , KTX_R11F_G11F_B10F = 0x8C3A , KTX_R16 = 0x822A , KTX_R16_SNORM = 0x8F98 , KTX_R16F = 0x822D , KTX_R16I = 0x8233 , KTX_R16UI = 0x8234 , KTX_R32F = 0x822E , KTX_R32I = 0x8235 , KTX_R32UI = 0x8236 , KTX_R3_G3_B2 = 0x2A10 , KTX_R8 = 0x8229 , KTX_R8_SNORM = 0x8F94 , KTX_R8I = 0x8231 , KTX_R8UI = 0x8232 , KTX_RED = 0x1903 , KTX_RED_INTEGER = 0x8D94 , KTX_RED_SNORM = 0x8F90 , KTX_RG = 0x8227 , KTX_RG16 = 0x822C , KTX_RG16_SNORM = 0x8F99 , KTX_RG16F = 0x822F , KTX_RG16I = 0x8239 , KTX_RG16UI = 0x823A , KTX_RG32F = 0x8230 , KTX_RG32I = 0x823B , KTX_RG32UI = 0x823C , KTX_RG8 = 0x822B , KTX_RG8_SNORM = 0x8F95 , KTX_RG8I = 0x8237 , KTX_RG8UI = 0x8238 , KTX_RG_INTEGER = 0x8228 , KTX_RG_SNORM = 0x8F91 , KTX_RGB = 0x1907 , KTX_RGB10 = 0x8052 , KTX_RGB10_A2 = 0x8059 , KTX_RGB12 = 0x8053 , KTX_RGB16 = 0x8054 , KTX_RGB16_SNORM = 0x8F9A , KTX_RGB16F = 0x881B , KTX_RGB16I = 0x8D89 , KTX_RGB16UI = 0x8D77 , KTX_RGB2 = 0x804E , KTX_RGB32F = 0x8815 , KTX_RGB32I = 0x8D83 , KTX_RGB32UI = 0x8D71 , KTX_RGB4 = 0x804F , KTX_RGB5 = 0x8050 , KTX_RGB5_A1 = 0x8057 , KTX_RGB8 = 0x8051 , KTX_RGB8_SNORM = 0x8F96 , KTX_RGB8I = 0x8D8F , KTX_RGB8UI = 0x8D7D , KTX_RGB9_E5 = 0x8C3D , KTX_RGB_INTEGER = 0x8D98 , KTX_RGB_SNORM = 0x8F92 , KTX_RGBA = 0x1908 , KTX_RGBA12 = 0x805A , KTX_RGBA16 = 0x805B , KTX_RGBA16_SNORM = 0x8F9B , KTX_RGBA16F = 0x881A , KTX_RGBA16I = 0x8D88 , KTX_RGBA16UI = 0x8D76 , KTX_RGBA2 = 0x8055 , KTX_RGBA32F = 0x8814 , KTX_RGBA32I = 0x8D82 , KTX_RGBA32UI = 0x8D70 , KTX_RGBA4 = 0x8056 , KTX_RGBA8 = 0x8058 , KTX_RGBA8_SNORM = 0x8F97 , KTX_RGBA8I = 0x8D8E , KTX_RGBA8UI = 0x8D7C , KTX_RGBA_INTEGER = 0x8D99 , KTX_RGBA_SNORM = 0x8F93 , KTX_SLUMINANCE = 0x8C46 , KTX_SLUMINANCE8 = 0x8C47 , KTX_SLUMINANCE8_ALPHA8 = 0x8C45 , KTX_SLUMINANCE_ALPHA = 0x8C44 , KTX_SRGB = 0x8C40 , KTX_SRGB8 = 0x8C41 , KTX_SRGB8_ALPHA8 = 0x8C43 , KTX_SRGB_ALPHA = 0x8C42 , KTX_STENCIL_INDEX = 0x1901 , KTX_STENCIL_INDEX1 = 0x8D46 , KTX_STENCIL_INDEX16 = 0x8D49 , KTX_STENCIL_INDEX4 = 0x8D47 , KTX_STENCIL_INDEX8 = 0x8D48 }
enum | KTXType { KTX_BYTE = 0x1400 , KTX_UNSIGNED_BYTE = 0x1401 , KTX_SHORT = 0x1402 , KTX_UNSIGNED_SHORT = 0x1403 , KTX_INT = 0x1404 , KTX_UNSIGNED_INT = 0x1405 , KTX_FLOAT = 0x1406 , KTX_HALF_FLOAT = 0x140B , KTX_UNSIGNED_BYTE_3_3_2 = 0x8032 , KTX_UNSIGNED_SHORT_4_4_4_4 = 0x8033 , KTX_UNSIGNED_SHORT_5_5_5_1 = 0x8034 , KTX_UNSIGNED_INT_8_8_8_8 = 0x8035 , KTX_UNSIGNED_INT_10_10_10_2 = 0x8036 , KTX_UNSIGNED_BYTE_2_3_3_REV = 0x8362 , KTX_UNSIGNED_SHORT_5_6_5 = 0x8363 , KTX_UNSIGNED_SHORT_5_6_5_REV = 0x8364 , KTX_UNSIGNED_SHORT_4_4_4_4_REV = 0x8365 , KTX_UNSIGNED_SHORT_1_5_5_5_REV = 0x8366 , KTX_UNSIGNED_INT_8_8_8_8_REV = 0x8367 , KTX_UNSIGNED_INT_2_10_10_10_REV = 0x8368 , KTX_UNSIGNED_INT_24_8 = 0x84FA , KTX_UNSIGNED_INT_10F_11F_11F_REV = 0x8C3B , KTX_UNSIGNED_INT_5_9_9_9_REV = 0x8C3E , KTX_FLOAT_32_UNSIGNED_INT_24_8_REV = 0x8DAD }

## Functions
ostream & | operator<< (ostream &out, Texture::ComponentType ct)
ostream & | operator<< (ostream &out, Texture::CompressionMode cm)
ostream & | operator<< (ostream &out, Texture::Format f)
ostream & | operator<< (ostream &out, Texture::QualityLevel tql)
ostream & | operator<< (ostream &out, Texture::TextureType tt)
istream & | operator>> (istream &in, Texture::QualityLevel &tql)

## Variables
ConfigVariableEnum< Texture::QualityLevel > | texture_quality_level ("texture-quality-level", Texture::QL_normal, PRC_DESC("This specifies a global quality level for all textures. You " "may specify either fastest, normal, or best. This actually " "affects the meaning of Texture::set_quality_level(QL_default), " "so it may be overridden on a per-texture basis. This generally " "only has an effect when using the tinydisplay software renderer; " "it has little or no effect on normal, hardware-accelerated " "renderers. See Texture::set_quality_level()."))

## Detailed Description

PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.

All rights reserved.

All use of this software is subject to the terms of the revised BSD license. You should have received a copy of this license along with this source code in a file named "LICENSE."

Author
  mike

Date
  1997-01-09

Author
  fperazzi, PandaSE

Date
  2010-04-29

Definition in file texture.cxx.

## Macro Definition Documentation

## ◆ DDPF_ALPHAPIXELS

#define DDPF_ALPHAPIXELS 0x00000001

Definition at line 93 of file texture.cxx.

## ◆ DDPF_FOURCC

#define DDPF_FOURCC 0x00000004

Definition at line 94 of file texture.cxx.

## ◆ DDPF_INDEXED

#define DDPF_INDEXED 0x00000020

Definition at line 95 of file texture.cxx.

## ◆ DDPF_RGB

#define DDPF_RGB 0x00000040

Definition at line 96 of file texture.cxx.

## ◆ DDS_MAGIC

#define DDS_MAGIC 0x20534444

Definition at line 79 of file texture.cxx.

## ◆ DDSCAPS2_CUBEMAP

#define DDSCAPS2_CUBEMAP 0x00000200

Definition at line 104 of file texture.cxx.

## ◆ DDSCAPS2_CUBEMAP_NEGATIVEX

#define DDSCAPS2_CUBEMAP_NEGATIVEX 0x00000800

Definition at line 106 of file texture.cxx.

## ◆ DDSCAPS2_CUBEMAP_NEGATIVEY

#define DDSCAPS2_CUBEMAP_NEGATIVEY 0x00002000

Definition at line 108 of file texture.cxx.

## ◆ DDSCAPS2_CUBEMAP_NEGATIVEZ

#define DDSCAPS2_CUBEMAP_NEGATIVEZ 0x00008000

Definition at line 110 of file texture.cxx.

## ◆ DDSCAPS2_CUBEMAP_POSITIVEX

#define DDSCAPS2_CUBEMAP_POSITIVEX 0x00000400

Definition at line 105 of file texture.cxx.

## ◆ DDSCAPS2_CUBEMAP_POSITIVEY

#define DDSCAPS2_CUBEMAP_POSITIVEY 0x00001000

Definition at line 107 of file texture.cxx.

## ◆ DDSCAPS2_CUBEMAP_POSITIVEZ

#define DDSCAPS2_CUBEMAP_POSITIVEZ 0x00004000

Definition at line 109 of file texture.cxx.

## ◆ DDSCAPS2_VOLUME

#define DDSCAPS2_VOLUME 0x00200000

Definition at line 111 of file texture.cxx.

## ◆ DDSCAPS_COMPLEX

#define DDSCAPS_COMPLEX 0x00000008

Definition at line 99 of file texture.cxx.

## ◆ DDSCAPS_MIPMAP

#define DDSCAPS_MIPMAP 0x00400000

Definition at line 101 of file texture.cxx.

## ◆ DDSCAPS_TEXTURE

#define DDSCAPS_TEXTURE 0x00001000

Definition at line 100 of file texture.cxx.

## ◆ DDSD_CAPS

#define DDSD_CAPS 0x00000001

Definition at line 83 of file texture.cxx.

## ◆ DDSD_DEPTH

#define DDSD_DEPTH 0x00800000

Definition at line 90 of file texture.cxx.

## ◆ DDSD_HEIGHT

#define DDSD_HEIGHT 0x00000002

Definition at line 84 of file texture.cxx.

## ◆ DDSD_LINEARSIZE

#define DDSD_LINEARSIZE 0x00080000

Definition at line 89 of file texture.cxx.

## ◆ DDSD_MIPMAPCOUNT

#define DDSD_MIPMAPCOUNT 0x00020000

Definition at line 88 of file texture.cxx.

## ◆ DDSD_PITCH

#define DDSD_PITCH 0x00000008

Definition at line 86 of file texture.cxx.

## ◆ DDSD_PIXELFORMAT

#define DDSD_PIXELFORMAT 0x00001000

Definition at line 87 of file texture.cxx.

## ◆ DDSD_WIDTH

#define DDSD_WIDTH 0x00000004

Definition at line 85 of file texture.cxx.

## Enumeration Type Documentation

## ◆ KTXCompressedFormat

enum KTXCompressedFormat

Definition at line 312 of file texture.cxx.

## ◆ KTXFormat

enum KTXFormat

Definition at line 172 of file texture.cxx.

## ◆ KTXType

enum KTXType

Definition at line 145 of file texture.cxx.

## Function Documentation

## ◆ operator<<() [1/5]

ostream & operator<< | ( | ostream & | out,
|  | Texture::ComponentType | ct )

Definition at line 10816 of file texture.cxx.

## ◆ operator<<() [2/5]

ostream & operator<< | ( | ostream & | out,
|  | Texture::CompressionMode | cm )

Definition at line 10832 of file texture.cxx.

## ◆ operator<<() [3/5]

ostream & operator<< | ( | ostream & | out,
|  | Texture::Format | f )

Definition at line 10824 of file texture.cxx.

## ◆ operator<<() [4/5]

ostream & operator<< | ( | ostream & | out,
|  | Texture::QualityLevel | tql )

Definition at line 10840 of file texture.cxx.

## ◆ operator<<() [5/5]

ostream & operator<< | ( | ostream & | out,
|  | Texture::TextureType | tt )

Definition at line 10808 of file texture.cxx.

## ◆ operator>>()

istream & operator>> | ( | istream & | in,
|  | Texture::QualityLevel & | tql )

Definition at line 10849 of file texture.cxx.