Kohi Game Engine
rendergraph.h File Reference

Go to the source code of this file.

Data Structures

struct  rendergraph_source
 
struct  rendergraph_sink
 
struct  rendergraph_pass_data
 
struct  rendergraph_pass
 
struct  rendergraph
 

Typedefs

typedef enum rendergraph_source_type rendergraph_source_type
 
typedef enum rendergraph_source_origin rendergraph_source_origin
 
typedef struct rendergraph_source rendergraph_source
 
typedef struct rendergraph_sink rendergraph_sink
 
typedef struct rendergraph_pass_data rendergraph_pass_data
 
typedef struct rendergraph_pass rendergraph_pass
 
typedef struct rendergraph rendergraph
 

Enumerations

enum  rendergraph_source_type { RENDERGRAPH_SOURCE_TYPE_RENDER_TARGET_COLOUR , RENDERGRAPH_SOURCE_TYPE_RENDER_TARGET_DEPTH_STENCIL }
 
enum  rendergraph_source_origin { RENDERGRAPH_SOURCE_ORIGIN_GLOBAL , RENDERGRAPH_SOURCE_ORIGIN_OTHER , RENDERGRAPH_SOURCE_ORIGIN_SELF }
 

Functions

KAPI b8 rendergraph_create (const char *name, struct application *app, rendergraph *out_graph)
 
KAPI void rendergraph_destroy (rendergraph *graph)
 
KAPI b8 rendergraph_global_source_add (rendergraph *graph, const char *name, rendergraph_source_type type, rendergraph_source_origin origin)
 
KAPI b8 rendergraph_pass_create (rendergraph *graph, const char *name, b8(*create_pfn)(struct rendergraph_pass *self), rendergraph_pass *out_pass)
 
KAPI b8 rendergraph_pass_source_add (rendergraph *graph, const char *pass_name, const char *source_name, rendergraph_source_type type, rendergraph_source_origin origin)
 
KAPI b8 rendergraph_pass_sink_add (rendergraph *graph, const char *pass_name, const char *sink_name)
 
KAPI b8 rendergraph_pass_set_sink_linkage (rendergraph *graph, const char *pass_name, const char *sink_name, const char *source_pass_name, const char *source_name)
 
KAPI b8 rendergraph_finalize (rendergraph *graph)
 
KAPI b8 rendergraph_execute_frame (rendergraph *graph, frame_data *p_frame_data)
 
KAPI b8 rendergraph_on_resize (rendergraph *graph, u16 width, u16 height)
 

Typedef Documentation

◆ rendergraph

typedef struct rendergraph rendergraph

◆ rendergraph_pass

◆ rendergraph_pass_data

◆ rendergraph_sink

◆ rendergraph_source

◆ rendergraph_source_origin

◆ rendergraph_source_type

Enumeration Type Documentation

◆ rendergraph_source_origin

Enumerator
RENDERGRAPH_SOURCE_ORIGIN_GLOBAL 
RENDERGRAPH_SOURCE_ORIGIN_OTHER 
RENDERGRAPH_SOURCE_ORIGIN_SELF 

◆ rendergraph_source_type

Enumerator
RENDERGRAPH_SOURCE_TYPE_RENDER_TARGET_COLOUR 
RENDERGRAPH_SOURCE_TYPE_RENDER_TARGET_DEPTH_STENCIL 

Function Documentation

◆ rendergraph_create()

KAPI b8 rendergraph_create ( const char *  name,
struct application app,
rendergraph out_graph 
)

◆ rendergraph_destroy()

KAPI void rendergraph_destroy ( rendergraph graph)

◆ rendergraph_execute_frame()

KAPI b8 rendergraph_execute_frame ( rendergraph graph,
frame_data p_frame_data 
)

◆ rendergraph_finalize()

KAPI b8 rendergraph_finalize ( rendergraph graph)

◆ rendergraph_global_source_add()

KAPI b8 rendergraph_global_source_add ( rendergraph graph,
const char *  name,
rendergraph_source_type  type,
rendergraph_source_origin  origin 
)

◆ rendergraph_on_resize()

KAPI b8 rendergraph_on_resize ( rendergraph graph,
u16  width,
u16  height 
)

◆ rendergraph_pass_create()

KAPI b8 rendergraph_pass_create ( rendergraph graph,
const char *  name,
b8(*)(struct rendergraph_pass *self)  create_pfn,
rendergraph_pass out_pass 
)

◆ rendergraph_pass_set_sink_linkage()

KAPI b8 rendergraph_pass_set_sink_linkage ( rendergraph graph,
const char *  pass_name,
const char *  sink_name,
const char *  source_pass_name,
const char *  source_name 
)

◆ rendergraph_pass_sink_add()

KAPI b8 rendergraph_pass_sink_add ( rendergraph graph,
const char *  pass_name,
const char *  sink_name 
)

◆ rendergraph_pass_source_add()

KAPI b8 rendergraph_pass_source_add ( rendergraph graph,
const char *  pass_name,
const char *  source_name,
rendergraph_source_type  type,
rendergraph_source_origin  origin 
)