past me is a dumbass

This commit is contained in:
Benjamin Kyd
2023-10-04 13:09:24 +01:00
parent c0ea84d90a
commit 88921241f1
2 changed files with 25 additions and 25 deletions

View File

@@ -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

View File

@@ -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());