Files
lity3d/Engine/Scene/scene_render.h
T

42 lines
926 B
C

#pragma once
#include "scene_graph.h"
#include "../Rendering/renderer.h"
#include "../Rendering/mesh.h"
#include "../Rendering/material.h"
#include "../Rendering/shader.h"
#include "../Rendering/texture.h"
#ifdef __cplusplus
extern "C" {
#endif
typedef enum {
MESH_NONE = 0,
MESH_CUBE = 1,
MESH_SPHERE = 2,
MESH_PLANE = 3,
MESH_OBJ = 4
} MeshType;
typedef struct {
MeshType type;
Mesh* mesh;
Material* material;
char path[256];
} MeshRenderer;
void scene_node_set_mesh_renderer(SceneNode* node, MeshRenderer* renderer);
MeshRenderer* scene_node_get_mesh_renderer(SceneNode* node);
void scene_render_node(SceneNode* node, Renderer* r);
void scene_render(Scene* scene, Renderer* r);
MeshRenderer* mesh_renderer_create(MeshType type, Mesh* mesh, Material* material);
void mesh_renderer_destroy(MeshRenderer* mr);
void scene_destroy_renderers(Scene* scene);
#ifdef __cplusplus
}
#endif