Blender V4.3
util/texture.h
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2011-2022 Blender Foundation
2 *
3 * SPDX-License-Identifier: Apache-2.0 */
4
5#ifndef __UTIL_TEXTURE_H__
6#define __UTIL_TEXTURE_H__
7
8#include "util/transform.h"
9
11
12/* Color to use when textures are not found. */
13#define TEX_IMAGE_MISSING_R 1
14#define TEX_IMAGE_MISSING_G 0
15#define TEX_IMAGE_MISSING_B 1
16#define TEX_IMAGE_MISSING_A 1
17
18/* Interpolation types for textures
19 * CUDA also use texture space to store other objects. */
29
46
47/* Alpha types
48 * How to treat alpha in images. */
58
59/* Extension types for textures.
60 *
61 * Defines how the image is extrapolated past its original bounds. */
62typedef enum ExtensionType {
63 /* Cause the image to repeat horizontally and vertically. */
65 /* Extend by repeating edge pixels of the image. */
67 /* Clip to image size and set exterior pixels as transparent. */
69 /* Repeatedly flip the image horizontally and vertically. */
71
74
75typedef struct TextureInfo {
76 /* Pointer, offset or texture depending on device. */
78 /* Data Type */
80 /* Interpolation and extension type. */
82 /* Dimensions. */
84 /* Transform for 3D textures. */
88
90
91#endif /* __UTIL_TEXTURE_H__ */
unsigned int uint
#define CCL_NAMESPACE_END
unsigned __int64 uint64_t
Definition stdint.h:90
uint64_t data
uint use_transform_3d
uint interpolation
Transform transform_3d
ImageDataType
@ IMAGE_DATA_NUM_TYPES
@ IMAGE_DATA_TYPE_BYTE
@ IMAGE_DATA_TYPE_FLOAT
@ IMAGE_DATA_TYPE_NANOVDB_FP16
@ IMAGE_DATA_TYPE_FLOAT4
@ IMAGE_DATA_TYPE_USHORT4
@ IMAGE_DATA_TYPE_USHORT
@ IMAGE_DATA_TYPE_NANOVDB_FLOAT
@ IMAGE_DATA_TYPE_NANOVDB_FLOAT3
@ IMAGE_DATA_TYPE_HALF
@ IMAGE_DATA_TYPE_BYTE4
@ IMAGE_DATA_TYPE_HALF4
@ IMAGE_DATA_TYPE_NANOVDB_FPN
ImageAlphaType
@ IMAGE_ALPHA_ASSOCIATED
@ IMAGE_ALPHA_CHANNEL_PACKED
@ IMAGE_ALPHA_NUM_TYPES
@ IMAGE_ALPHA_AUTO
@ IMAGE_ALPHA_IGNORE
@ IMAGE_ALPHA_UNASSOCIATED
InterpolationType
@ INTERPOLATION_LINEAR
@ INTERPOLATION_SMART
@ INTERPOLATION_NONE
@ INTERPOLATION_CLOSEST
@ INTERPOLATION_CUBIC
@ INTERPOLATION_NUM_TYPES
struct TextureInfo TextureInfo
ExtensionType
@ EXTENSION_REPEAT
@ EXTENSION_NUM_TYPES
@ EXTENSION_CLIP
@ EXTENSION_EXTEND
@ EXTENSION_MIRROR