Kodi Documentation 22.0
Kodi is an open source media player and entertainment hub.
Loading...
Searching...
No Matches
shaderpreset.h File Reference
#include "../addon_base.h"
#include <stdbool.h>
#include <stddef.h>

Classes

struct  fbo_scale_axis
 FBO scaling parameters for a single axis. More...
 
struct  fbo_scale
 FBO parameters. More...
 
struct  video_shader_parameter
 
struct  video_shader_pass
 
struct  video_shader_lut
 
struct  video_shader
 
struct  AddonProps_ShaderPreset
 ShaderPreset properties. More...
 
struct  AddonToKodiFuncTable_ShaderPreset
 ShaderPreset callbacks. More...
 
struct  KodiToAddonFuncTable_ShaderPreset
 ShaderPreset function hooks. More...
 
struct  AddonInstance_ShaderPreset
 ShaderPreset instance. More...
 

Typedefs

typedef struct AddonProps_ShaderPreset AddonProps_ShaderPreset
 ShaderPreset properties.
 
typedef struct AddonToKodiFuncTable_ShaderPreset AddonToKodiFuncTable_ShaderPreset
 ShaderPreset callbacks.
 
typedef struct KodiToAddonFuncTable_ShaderPreset KodiToAddonFuncTable_ShaderPreset
 ShaderPreset function hooks.
 
typedef struct AddonInstance_ShaderPreset AddonInstance_ShaderPreset
 ShaderPreset instance.
 
enum  SHADER_SCALE_TYPE { SHADER_SCALE_TYPE_INPUT , SHADER_SCALE_TYPE_ABSOLUTE , SHADER_SCALE_TYPE_VIEWPORT }
 Scale types. More...
 
enum  SHADER_FILTER_TYPE { SHADER_FILTER_TYPE_UNSPEC , SHADER_FILTER_TYPE_LINEAR , SHADER_FILTER_TYPE_NEAREST }
 
enum  SHADER_WRAP_TYPE { SHADER_WRAP_TYPE_BORDER , SHADER_WRAP_TYPE_EDGE , SHADER_WRAP_TYPE_REPEAT , SHADER_WRAP_TYPE_MIRRORED_REPEAT }
 Texture wrapping mode. More...
 
typedef voidpreset_file
 The data system used for shader presets
 
typedef enum SHADER_SCALE_TYPE SHADER_SCALE_TYPE
 Scale types.
 
typedef enum SHADER_FILTER_TYPE SHADER_FILTER_TYPE
 
typedef enum SHADER_WRAP_TYPE SHADER_WRAP_TYPE
 Texture wrapping mode.
 
typedef struct fbo_scale_axis fbo_scale_axis
 FBO scaling parameters for a single axis.
 
typedef struct fbo_scale fbo_scale
 FBO parameters.
 
typedef struct video_shader_parameter video_shader_parameter
 
typedef struct video_shader_pass video_shader_pass
 
typedef struct video_shader_lut video_shader_lut
 
typedef struct video_shader video_shader
 

Typedef Documentation

◆ AddonInstance_ShaderPreset

ShaderPreset instance.

Not to be used outside this header.

◆ AddonProps_ShaderPreset

ShaderPreset properties.

Not to be used outside this header.

◆ AddonToKodiFuncTable_ShaderPreset

ShaderPreset callbacks.

Not to be used outside this header.

◆ fbo_scale

typedef struct fbo_scale fbo_scale

FBO parameters.

◆ fbo_scale_axis

FBO scaling parameters for a single axis.

◆ KodiToAddonFuncTable_ShaderPreset

ShaderPreset function hooks.

Not to be used outside this header.

◆ preset_file

typedef void* preset_file

The data system used for shader presets

◆ SHADER_FILTER_TYPE

◆ SHADER_SCALE_TYPE

Scale types.

If no scale type is specified, it is assumed that the scale type is relative to the input with a scaling factor of 1.0.

Exceptions: If no scale type is set for the last pass, it is assumed to output at the full resolution rather than assuming of scale of 1.0, and bypasses any frame-buffer object rendering.

◆ SHADER_WRAP_TYPE

Texture wrapping mode.

◆ video_shader

typedef struct video_shader video_shader

◆ video_shader_lut

◆ video_shader_parameter

◆ video_shader_pass

Enumeration Type Documentation

◆ SHADER_FILTER_TYPE

Enumerator
SHADER_FILTER_TYPE_UNSPEC 
SHADER_FILTER_TYPE_LINEAR 
SHADER_FILTER_TYPE_NEAREST 

◆ SHADER_SCALE_TYPE

Scale types.

If no scale type is specified, it is assumed that the scale type is relative to the input with a scaling factor of 1.0.

Exceptions: If no scale type is set for the last pass, it is assumed to output at the full resolution rather than assuming of scale of 1.0, and bypasses any frame-buffer object rendering.

Enumerator
SHADER_SCALE_TYPE_INPUT 

Use the source size.

Output size of the shader pass is relative to the input size. Value is float.

SHADER_SCALE_TYPE_ABSOLUTE 

Use the window viewport size.

Output size of the shader pass is relative to the size of the window viewport. Value is float. This value can change over time if the user resizes his/her window!

SHADER_SCALE_TYPE_VIEWPORT 

Use a statically defined size.

Output size is statically defined to a certain size. Useful for hi-res blenders or similar.

◆ SHADER_WRAP_TYPE

Texture wrapping mode.

Enumerator
SHADER_WRAP_TYPE_BORDER 
SHADER_WRAP_TYPE_EDGE 
SHADER_WRAP_TYPE_REPEAT 
SHADER_WRAP_TYPE_MIRRORED_REPEAT