Changeset View
Changeset View
Standalone View
Standalone View
intern/cycles/util/texture.h
| /* SPDX-License-Identifier: Apache-2.0 | /* SPDX-License-Identifier: Apache-2.0 | ||||
| * Copyright 2011-2022 Blender Foundation */ | * Copyright 2011-2022 Blender Foundation */ | ||||
| #ifndef __UTIL_TEXTURE_H__ | #ifndef __UTIL_TEXTURE_H__ | ||||
| #define __UTIL_TEXTURE_H__ | #define __UTIL_TEXTURE_H__ | ||||
| #include "util/transform.h" | #include "util/transform.h" | ||||
| CCL_NAMESPACE_BEGIN | CCL_NAMESPACE_BEGIN | ||||
LazyDodo: You can't do this, this file won't be available for cycles standalone, even if it was available… | |||||
Done Inline ActionsYeah, I'll revert that. Ethan1080: Yeah, I'll revert that. | |||||
| /* Color to use when textures are not found. */ | /* Color to use when textures are not found. */ | ||||
| #define TEX_IMAGE_MISSING_R 1 | #define TEX_IMAGE_MISSING_R 1 | ||||
| #define TEX_IMAGE_MISSING_G 0 | #define TEX_IMAGE_MISSING_G 0 | ||||
| #define TEX_IMAGE_MISSING_B 1 | #define TEX_IMAGE_MISSING_B 1 | ||||
| #define TEX_IMAGE_MISSING_A 1 | #define TEX_IMAGE_MISSING_A 1 | ||||
| /* Interpolation types for textures | /** Texture Interpolation Types | ||||
| * cuda also use texture space to store other objects */ | * - Cuda also uses texture space to store other objects.*/ | ||||
| typedef enum InterpolationType { | typedef enum InterpolationType { | ||||
| INTERPOLATION_NONE = -1, | INTERPOLATION_NONE = -1, | ||||
| INTERPOLATION_LINEAR = 0, | INTERPOLATION_LINEAR = 0, | ||||
| INTERPOLATION_CLOSEST = 1, | INTERPOLATION_CLOSEST = 1, | ||||
| INTERPOLATION_CUBIC = 2, | INTERPOLATION_CUBIC = 2, | ||||
| INTERPOLATION_SMART = 3, | INTERPOLATION_SMART = 3, | ||||
| INTERPOLATION_NUM_TYPES, | INTERPOLATION_NUM_TYPES, | ||||
| Show All 9 Lines | typedef enum ImageDataType { | ||||
| IMAGE_DATA_TYPE_USHORT4 = 6, | IMAGE_DATA_TYPE_USHORT4 = 6, | ||||
| IMAGE_DATA_TYPE_USHORT = 7, | IMAGE_DATA_TYPE_USHORT = 7, | ||||
| IMAGE_DATA_TYPE_NANOVDB_FLOAT = 8, | IMAGE_DATA_TYPE_NANOVDB_FLOAT = 8, | ||||
| IMAGE_DATA_TYPE_NANOVDB_FLOAT3 = 9, | IMAGE_DATA_TYPE_NANOVDB_FLOAT3 = 9, | ||||
| IMAGE_DATA_NUM_TYPES | IMAGE_DATA_NUM_TYPES | ||||
| } ImageDataType; | } ImageDataType; | ||||
| /* Alpha types | /** Alpha Types | ||||
| * How to treat alpha in images. */ | * - How to treat an image's alpha channel. */ | ||||
| typedef enum ImageAlphaType { | typedef enum ImageAlphaType { | ||||
| IMAGE_ALPHA_UNASSOCIATED = 0, | IMAGE_ALPHA_UNASSOCIATED = 0, | ||||
| IMAGE_ALPHA_ASSOCIATED = 1, | IMAGE_ALPHA_ASSOCIATED = 1, | ||||
| IMAGE_ALPHA_CHANNEL_PACKED = 2, | IMAGE_ALPHA_CHANNEL_PACKED = 2, | ||||
| IMAGE_ALPHA_IGNORE = 3, | IMAGE_ALPHA_IGNORE = 3, | ||||
| IMAGE_ALPHA_AUTO = 4, | IMAGE_ALPHA_AUTO = 4, | ||||
| IMAGE_ALPHA_NUM_TYPES, | IMAGE_ALPHA_NUM_TYPES, | ||||
| } ImageAlphaType; | } ImageAlphaType; | ||||
| /* Extension types for textures. | /* Extension types for textures. | ||||
| * | * - Defines how the image is extrapolated past its original bounds. */ | ||||
| * Defines how the image is extrapolated past its original bounds. */ | |||||
| typedef enum ExtensionType { | typedef enum ExtensionType { | ||||
| /* Cause the image to repeat horizontally and vertically. */ | /* Extend the image by repeating the entire image. */ | ||||
| EXTENSION_REPEAT = 0, | EXTENSION_REPEAT = 0, | ||||
| /* Extend by repeating edge pixels of the image. */ | /* Extend the image by only repeating the edge pixels of the image. */ | ||||
| EXTENSION_EXTEND = 1, | EXTENSION_EXTEND = 1, | ||||
| /* Clip to image size and set exterior pixels as transparent. */ | /* Extend the image by setting all exterior pixels to transparent black. */ | ||||
| EXTENSION_CLIP = 2, | EXTENSION_CLIP = 2, | ||||
| EXTENSION_NUM_TYPES, | EXTENSION_NUM_TYPES, | ||||
| } ExtensionType; | } ExtensionType; | ||||
| typedef struct TextureInfo { | typedef struct TextureInfo { | ||||
| /* Pointer, offset or texture depending on device. */ | /* Pointer, offset or texture depending on device. */ | ||||
| uint64_t data; | uint64_t data; | ||||
| Show All 14 Lines | |||||
You can't do this, this file won't be available for cycles standalone, even if it was available though including a GPL licensed header in a apache 2.0 licensed code file is problematic