2026-03-09 23:16:47 +01:00

38 lines
1.0 KiB
C++

#pragma once
#include "DeerRender/Resource.h"
#include "DeerRender/World.h"
#include "scriptarray.h"
#include "scriptdictionary.h"
#include <stdint.h>
#include <string>
namespace Deer {
class FrameBuffer;
class GPUMesh;
class Shader;
namespace Scripting {
enum ResourceType : uint32_t {
NONE = 0,
MESH = 1,
SHADER = 2,
TEXTURE = 3,
};
// GENERIC RESOURCE
template <typename T>
bool resource_isValid(Resource<T>& resource) { return resource.isValid(); }
void resource_defaultConstructor(void*);
// Frame Buffer
int frameBuffer_getWidth(Resource<FrameBuffer>&);
int frameBuffer_getHeight(Resource<FrameBuffer>&);
void frameBuffer_clearRGBA(int, int, int, int, Resource<FrameBuffer>&);
bool frameBuffer_isValid(Resource<FrameBuffer>&);
void frameBuffer_resize(int, int, Resource<FrameBuffer>&);
void frameBuffer_drawMesh(Resource<GPUMesh>, Resource<Shader>, TransformComponent, WorldCamera, Resource<FrameBuffer>&);
Resource<FrameBuffer> createFrameBuffer(int sixeX, int sizeY);
} // namespace Scripting
} // namespace Deer