38 lines
731 B
C
38 lines
731 B
C
#ifndef DEFOCUS_SCENE_H
|
|
#define DEFOCUS_SCENE_H
|
|
|
|
#include "base.h"
|
|
#include "image.h"
|
|
#include "camera.h"
|
|
|
|
/** @file scene.h
|
|
* @brief scene structure */
|
|
|
|
/** Opaque scene structure */
|
|
typedef struct df_scene df_scene;
|
|
|
|
df_scene *df_create_scene();
|
|
|
|
void df_release_scene(df_scene *scene);
|
|
|
|
void df_scene_add_plane(df_scene *scene, df_plane plane, df_image *texture);
|
|
|
|
df_image *df_scene_generate_image(df_scene *scene, df_camera_i camera);
|
|
|
|
#if 0
|
|
/* Usage example */
|
|
|
|
df_camera_i camera = df_create_perspective_camera(...);
|
|
df_scene* scene = df_create_scene();
|
|
|
|
df_scene_add_plane(..., in_image);
|
|
|
|
df_image *out_image = df_scene_generate_image(scene, camera);
|
|
|
|
df_release_scene(scene);
|
|
camera->release(camera->o);
|
|
|
|
#endif
|
|
|
|
#endif
|