past me is a dumbass
This commit is contained in:
@@ -33,33 +33,33 @@ typedef struct Camera {
|
||||
glm::vec3 Position = {};
|
||||
glm::vec3 LookDirection = {};
|
||||
|
||||
std::unique_ptr<_CameraImpl> _impl;
|
||||
_CameraImpl* _impl;
|
||||
} Camera;
|
||||
|
||||
std::unique_ptr<Camera> camera_create();
|
||||
void camera_cleanup(std::unique_ptr<Camera>& camera);
|
||||
Camera* camera_create();
|
||||
void camera_cleanup(Camera* camera);
|
||||
|
||||
void camera_update(std::unique_ptr<Camera>& camera);
|
||||
bool camera_did_update(std::unique_ptr<Camera>& camera);
|
||||
void camera_new_frame(std::unique_ptr<Camera>& camera);
|
||||
void camera_update(Camera* camera);
|
||||
bool camera_did_update(Camera* camera);
|
||||
void camera_new_frame(Camera* camera);
|
||||
|
||||
glm::mat4 camera_get_view(std::unique_ptr<Camera>& camera);
|
||||
glm::mat4 camera_get_projection(std::unique_ptr<Camera>& camera);
|
||||
glm::mat4 camera_get_look(std::unique_ptr<Camera>& camera);
|
||||
glm::mat4 camera_get_view(Camera* camera);
|
||||
glm::mat4 camera_get_projection(Camera* camera);
|
||||
glm::mat4 camera_get_look(Camera* camera);
|
||||
|
||||
void raster_set_viewport(std::unique_ptr<Camera>& camera, glm::ivec2 viewport);
|
||||
glm::ivec2 raster_get_viewport(std::unique_ptr<Camera>& camera);
|
||||
void raster_set_viewport(Camera* camera, glm::ivec2 viewport);
|
||||
glm::ivec2 raster_get_viewport(Camera* camera);
|
||||
|
||||
void ray_set_viewport(std::unique_ptr<Camera>& camera, glm::ivec2 viewport);
|
||||
glm::ivec2 ray_get_viewport(std::unique_ptr<Camera>& camera);
|
||||
void ray_set_viewport(Camera* camera, glm::ivec2 viewport);
|
||||
glm::ivec2 ray_get_viewport(Camera* camera);
|
||||
|
||||
void camera_move(std::unique_ptr<Camera>& camera, uint8_t movement_delta);
|
||||
void camera_mouse_move(std::unique_ptr<Camera>& camera, glm::vec2 mouse_delta);
|
||||
void camera_move(Camera* camera, uint8_t movement_delta);
|
||||
void camera_mouse_move(Camera* camera, glm::vec2 mouse_delta);
|
||||
|
||||
void camera_set_position(std::unique_ptr<Camera>& camera, glm::vec3 position);
|
||||
void camera_set_euler_look(std::unique_ptr<Camera>& camera, float roll,
|
||||
void camera_set_position(Camera* camera, glm::vec3 position);
|
||||
void camera_set_euler_look(Camera* camera, float roll,
|
||||
float pitch, float yaw);
|
||||
void camera_set_look(std::unique_ptr<Camera>& camera,
|
||||
void camera_set_look(Camera* camera,
|
||||
glm::vec3 look_direction);
|
||||
|
||||
} // namespace inferno::graphics
|
||||
|
||||
@@ -14,9 +14,9 @@
|
||||
|
||||
namespace inferno::graphics {
|
||||
|
||||
std::unique_ptr<PreviewRenderer> preview_create()
|
||||
PreviewRenderer* preview_create()
|
||||
{
|
||||
std::unique_ptr<PreviewRenderer> renderer = new PreviewRenderer;
|
||||
PreviewRenderer* renderer = new PreviewRenderer;
|
||||
|
||||
glGenFramebuffers(1, &renderer->RenderTarget);
|
||||
glBindFramebuffer(GL_FRAMEBUFFER, renderer->RenderTarget);
|
||||
@@ -47,21 +47,21 @@ std::unique_ptr<PreviewRenderer> preview_create()
|
||||
return renderer;
|
||||
}
|
||||
|
||||
void preview_cleanup(std::unique_ptr<PreviewRenderer>& renderer)
|
||||
void preview_cleanup(PreviewRenderer* renderer)
|
||||
{
|
||||
}
|
||||
|
||||
void preview_set_viewport(std::unique_ptr<PreviewRenderer>& renderer, std::unique_ptr<Viewport> viewport)
|
||||
void preview_set_viewport(PreviewRenderer* renderer, Viewport* viewport)
|
||||
{
|
||||
}
|
||||
|
||||
GLuint preview_get_rendered_texture(std::unique_ptr<PreviewRenderer>& renderer)
|
||||
GLuint preview_get_rendered_texture(PreviewRenderer* renderer)
|
||||
{
|
||||
glBindFramebuffer(GL_FRAMEBUFFER, renderer->RenderTarget);
|
||||
return renderer->RenderTargetTexture;
|
||||
}
|
||||
|
||||
void preview_draw(std::unique_ptr<PreviewRenderer>& renderer, std::unique_ptr<scene::Scene>& scene)
|
||||
void preview_draw(PreviewRenderer* renderer, scene::Scene* scene)
|
||||
{
|
||||
const glm::ivec2& viewport = graphics::raster_get_viewport(scene::scene_get_camera(scene));
|
||||
glBindFramebuffer(GL_FRAMEBUFFER, renderer->RenderTarget);
|
||||
@@ -108,7 +108,7 @@ void preview_draw(std::unique_ptr<PreviewRenderer>& renderer, std::unique_ptr<sc
|
||||
|
||||
glEnable(GL_DEPTH_TEST);
|
||||
|
||||
for (std::unique_ptr<scene::SceneObject>& o : scene::scene_get_renderables(scene)) {
|
||||
for (scene::SceneObject* o : scene::scene_get_renderables(scene)) {
|
||||
for (scene::Mesh* m : scene::scene_object_get_meshs(o)) {
|
||||
glBindVertexArray(m->getVAO());
|
||||
glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, m->getEBO());
|
||||
|
||||
Reference in New Issue
Block a user