47 lines
1.3 KiB
C++
47 lines
1.3 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 {
|
|
template <typename T>
|
|
std::string resource_getPath(Resource<T> resource) {
|
|
return ResourceManager<T>::getStorageId(resource);
|
|
}
|
|
|
|
template <typename T>
|
|
std::string resource_getName(Resource<T> resource) {
|
|
return ResourceManager<T>::getStorageId(resource).stem().string();
|
|
}
|
|
|
|
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(); }
|
|
|
|
// 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
|