From b7456401e053d4a810bb33d22e13083ebbc7b68f Mon Sep 17 00:00:00 2001 From: elipzer Date: Tue, 9 Oct 2018 11:42:17 -0400 Subject: [PATCH] Almost able to render the image Added image scene to render an image in a scene. There is also now a testing image that is an uber meme. Currently the problem is that the spritebatch cannot use the offsetof macro because it is a templated class. Possible solutions to this are changing it to be specifyable or implemented per vertex type as the other batches have been. --- OpenGLEngine/ImageFS.glsl | 12 +++ OpenGLEngine/ImageScene.cpp | 49 ++++++++++++ OpenGLEngine/ImageScene.h | 36 +++++++++ OpenGLEngine/ImageShaderProgram.h | 18 +++++ OpenGLEngine/ImageTypes.h | 19 +++++ OpenGLEngine/ImageVS.glsl | 14 ++++ OpenGLEngine/MeshGenerator.h | 90 ++++++++++++++++++++++ OpenGLEngine/MyApplication.cpp | 8 +- OpenGLEngine/MyApplication.h | 4 +- OpenGLEngine/MyBuiltinImageScene.cpp | 62 +++++++++++++++ OpenGLEngine/MyBuiltinImageScene.h | 22 ++++++ OpenGLEngine/MySimple2DScene.h | 2 +- OpenGLEngine/OpenGLEngine.vcxproj | 18 ++++- OpenGLEngine/OpenGLEngine.vcxproj.filters | 40 ++++++++-- OpenGLEngine/Poseable2D.cpp | 28 +++++++ OpenGLEngine/{Sprite.h => Poseable2D.h} | 5 +- OpenGLEngine/Poseable2DBatch.h | 54 +++++++++++++ OpenGLEngine/PoseableBatch.h | 1 + OpenGLEngine/Sprite.cpp | 28 ------- OpenGLEngine/SpriteBatch.h | 55 +++++++++++-- OpenGLEngine/TextureFactory.h | 7 ++ OpenGLEngine/TexturedScene.cpp | 2 +- OpenGLEngine/TexturedScene.h | 1 - OpenGLEngine/WithCamera.h | 20 +++++ images/uber.png | Bin 0 -> 135182 bytes 25 files changed, 544 insertions(+), 51 deletions(-) create mode 100644 OpenGLEngine/ImageFS.glsl create mode 100644 OpenGLEngine/ImageScene.cpp create mode 100644 OpenGLEngine/ImageScene.h create mode 100644 OpenGLEngine/ImageShaderProgram.h create mode 100644 OpenGLEngine/ImageTypes.h create mode 100644 OpenGLEngine/ImageVS.glsl create mode 100644 OpenGLEngine/MyBuiltinImageScene.cpp create mode 100644 OpenGLEngine/MyBuiltinImageScene.h create mode 100644 OpenGLEngine/Poseable2D.cpp rename OpenGLEngine/{Sprite.h => Poseable2D.h} (74%) create mode 100644 OpenGLEngine/Poseable2DBatch.h delete mode 100644 OpenGLEngine/Sprite.cpp create mode 100644 OpenGLEngine/WithCamera.h create mode 100644 images/uber.png diff --git a/OpenGLEngine/ImageFS.glsl b/OpenGLEngine/ImageFS.glsl new file mode 100644 index 0000000..6f41d5e --- /dev/null +++ b/OpenGLEngine/ImageFS.glsl @@ -0,0 +1,12 @@ +#version 430 +in vec2 fragment_uv; + +out vec4 frag_color; + +layout(location = 4) uniform sampler2D tex; + +void main() +{ + vec4 sampled = texture(tex, fragment_uv); + frag_color = vec4(sampled.xyz, 1.0); +} \ No newline at end of file diff --git a/OpenGLEngine/ImageScene.cpp b/OpenGLEngine/ImageScene.cpp new file mode 100644 index 0000000..15777a5 --- /dev/null +++ b/OpenGLEngine/ImageScene.cpp @@ -0,0 +1,49 @@ +#include "TexturedScene.h" + +#include "stdafx.h" + +#include "GLUtil.h" +#include "MeshFactory.h" + +namespace charcoal +{ + namespace builtin + { + namespace textured + { + void Scene::init() + { + for (auto iter = m_batches.begin(); iter != m_batches.end(); ++iter) + { + Batch& batch = *iter; + batch.init(); + add_prerenderable(&batch); + } + } + + void Scene::use() + { + // TODO: move to glutil + glEnable(GL_DEPTH_TEST); + glDepthFunc(GL_LESS); + } + + void Scene::unuse() + { + + } + + void Scene::render() + { + glutil::clear_screen(); + m_shader_program.use(); + glutil::uniform_matrix(0, m_p_camera->get_world_to_view_matrix()); + glutil::uniform_int(4, 0); // The textured batch uses GL_TEXTURE0 + for (auto iter = m_batches.begin(); iter != m_batches.end(); ++iter) + { + iter->render(); + } + } + } + } +} \ No newline at end of file diff --git a/OpenGLEngine/ImageScene.h b/OpenGLEngine/ImageScene.h new file mode 100644 index 0000000..a10945f --- /dev/null +++ b/OpenGLEngine/ImageScene.h @@ -0,0 +1,36 @@ +#pragma once + +#include "AutoPrerenderingScene.h" +#include "WithCamera.h" +#include "Batched.h" + +#include "SpriteBatch.h" +#include "ImageShaderProgram.h" +#include "ImageTypes.h" + +namespace charcoal +{ + namespace builtin + { + namespace image + { + class Scene : public AutoPrerenderingScene, public WithCamera, public Batched + { + public: + Scene(Application& application) : AutoPrerenderingScene(application) {} + virtual ~Scene() {} + + void init() override; + + void use() override; + + void unuse() override; + + void render() override; + + private: + ShaderProgram m_shader_program; + }; + } + } +} \ No newline at end of file diff --git a/OpenGLEngine/ImageShaderProgram.h b/OpenGLEngine/ImageShaderProgram.h new file mode 100644 index 0000000..67f9c3d --- /dev/null +++ b/OpenGLEngine/ImageShaderProgram.h @@ -0,0 +1,18 @@ +#pragma once + +#include "VertexFragmentShaderProgram.h" + +namespace charcoal +{ + namespace builtin + { + namespace image + { + class ShaderProgram : public VertexFragmentShaderProgram + { + public: + ShaderProgram() : VertexFragmentShaderProgram(SHADER_PATH "ImageVS.glsl", SHADER_PATH "ImageFS.glsl") {} + }; + } + } +} diff --git a/OpenGLEngine/ImageTypes.h b/OpenGLEngine/ImageTypes.h new file mode 100644 index 0000000..b12a904 --- /dev/null +++ b/OpenGLEngine/ImageTypes.h @@ -0,0 +1,19 @@ +#pragma once + +#include "BuiltinTypes.h" + +#include "SpriteBatch.h" + +namespace charcoal +{ + namespace builtin + { + namespace image + { + typedef PTVertex Vertex; + typedef Index Index; + typedef TextureRenderable Renderable; + typedef SpriteBatch Batch; + } + } +} \ No newline at end of file diff --git a/OpenGLEngine/ImageVS.glsl b/OpenGLEngine/ImageVS.glsl new file mode 100644 index 0000000..ebbccf0 --- /dev/null +++ b/OpenGLEngine/ImageVS.glsl @@ -0,0 +1,14 @@ +#version 430 +layout(location = 0) in vec3 vertex_position; +layout(location = 1) in vec2 vertex_uv; +layout(location = 2) in mat4 model_to_world; + +layout(location = 0) uniform mat4 world_to_projection; + +out vec2 fragment_uv; + +void main() +{ + fragment_uv = vertex_uv; + gl_Position = world_to_projection * model_to_world * vec4(vertex_position, 1.0); +} \ No newline at end of file diff --git a/OpenGLEngine/MeshGenerator.h b/OpenGLEngine/MeshGenerator.h index 4c94fcb..5f75c52 100644 --- a/OpenGLEngine/MeshGenerator.h +++ b/OpenGLEngine/MeshGenerator.h @@ -648,6 +648,96 @@ namespace charcoal } // TODO: Mesh* gen_cube(const DrawMode& draw_mode, float width, float height, float depth); + + template + Mesh* gen_rect_pt(const DrawMode& draw_mode, float width, float height, float offset_x = 0.0f, float offset_y = 0.0f) + { + float half_width = width / 2.0f; + float half_height = height / 2.0f; + + Mesh* mesh; + + Position pos0(offset_x - half_width, offset_y - half_width, 0.0f); + Position pos1(offset_x - half_width, offset_y + half_width, 0.0f); + Position pos2(offset_x + half_width, offset_y - half_width, 0.0f); + Position pos3(offset_x + half_width, offset_y + half_width, 0.0f); + + UV uv0(0.0f, 1.0f); + UV uv1(0.0f, 0.0f); + UV uv2(1.0f, 1.0f); + UV uv3(1.0f, 0.0f); + + switch (draw_mode) + { + case DrawMode::DRAW_TRIANGLES: + mesh = MeshFactory::create_mesh(4, 6); + + mesh->vertices[0].set_uv(uv0); + mesh->vertices[1].set_uv(uv1); + mesh->vertices[2].set_uv(uv2); + mesh->vertices[3].set_uv(uv3); + + mesh->vertices[0].set_position(pos0); + mesh->vertices[1].set_position(pos1); + mesh->vertices[2].set_position(pos2); + mesh->vertices[3].set_position(pos3); + + mesh->indices[0] = 1; + mesh->indices[1] = 3; + mesh->indices[2] = 0; + mesh->indices[3] = 0; + mesh->indices[4] = 3; + mesh->indices[5] = 2; + break; + case DrawMode::DRAW_TRIANGLE_STRIP: + mesh = MeshFactory::create_mesh(4, 4); + + mesh->vertices[0].set_uv(uv0); + mesh->vertices[1].set_uv(uv1); + mesh->vertices[2].set_uv(uv2); + mesh->vertices[3].set_uv(uv3); + + mesh->vertices[0].set_position(pos0); + mesh->vertices[1].set_position(pos1); + mesh->vertices[2].set_position(pos2); + mesh->vertices[3].set_position(pos3); + + mesh->indices[0] = 1; + mesh->indices[1] = 3; + mesh->indices[2] = 0; + mesh->indices[3] = 2; + break; + case DrawMode::DRAW_TRIANGLE_FAN: + mesh = MeshFactory::create_mesh(4, 4); + + mesh->vertices[0].set_uv(uv0); + mesh->vertices[1].set_uv(uv1); + mesh->vertices[2].set_uv(uv2); + mesh->vertices[3].set_uv(uv3); + + mesh->vertices[0].set_position(pos0); + mesh->vertices[1].set_position(pos1); + mesh->vertices[2].set_position(pos2); + mesh->vertices[3].set_position(pos3); + + mesh->indices[0] = 1; + mesh->indices[1] = 3; + mesh->indices[2] = 2; + mesh->indices[3] = 0; + break; + case DrawMode::DRAW_POINTS: + case DrawMode::DRAW_LINES: + case DrawMode::DRAW_LINE_STRIP: + case DrawMode::DRAW_LINE_LOOP: + case DrawMode::DRAW_LINE_STRIP_ADJACENCY: + case DrawMode::DRAW_LINES_ADJACENCY: + case DrawMode::DRAW_TRIANGLE_STRIP_ADJACENCY: + case DrawMode::DRAW_TRIANGLES_ADJACENCY: + case DrawMode::DRAW_PATCHES: + default: + throw EXCEPTION("Unable to gen_rect_pt for current draw mode: " + std::to_string(draw_mode)); + } + } } } } diff --git a/OpenGLEngine/MyApplication.cpp b/OpenGLEngine/MyApplication.cpp index 5fc5da8..2dc5886 100644 --- a/OpenGLEngine/MyApplication.cpp +++ b/OpenGLEngine/MyApplication.cpp @@ -9,7 +9,8 @@ MyApplication::MyApplication(int width, int height) m_builtin_basic_cube_scene(*this), m_builtin_lit_scene(*this), m_builtin_textured_scene(*this), - m_builtin_lit_shadowed_scene(*this) + m_builtin_lit_shadowed_scene(*this), + m_builtin_image_scene(*this) {} void MyApplication::init() @@ -22,6 +23,7 @@ void MyApplication::init() m_builtin_lit_scene.init(); m_builtin_textured_scene.init(); m_builtin_lit_shadowed_scene.init(); + m_builtin_image_scene.init(); m_p_current_scene = &m_basic_scene; m_p_current_scene->use(); @@ -61,6 +63,10 @@ void MyApplication::update(float delta_time, clock_t clock) { swap_scene(&m_builtin_lit_shadowed_scene); } + else if (m_glfw_input_manager.is_key_pressed(GLFW_KEY_9)) + { + swap_scene(&m_builtin_image_scene); + } m_p_current_scene->update(delta_time, clock); } diff --git a/OpenGLEngine/MyApplication.h b/OpenGLEngine/MyApplication.h index 5679e8b..54e5a8e 100644 --- a/OpenGLEngine/MyApplication.h +++ b/OpenGLEngine/MyApplication.h @@ -9,6 +9,7 @@ #include "MyBuiltinLitScene.h" #include "MyBuiltinTexturedScene.h" #include "MyBuiltinLitShadowedScene.h" +#include "MyBuiltinImageScene.h" using namespace charcoal; @@ -40,6 +41,7 @@ private: MyBuiltinCubeScene m_builtin_basic_cube_scene; MyBuiltinLitScene m_builtin_lit_scene; MyBuiltinTexturedScene m_builtin_textured_scene; - MyBuiltinLitShadowedScene m_builtin_lit_shadowed_scene; + MyBuiltinLitShadowedScene m_builtin_lit_shadowed_scene; // Currently a WIP + MyBuiltinImageScene m_builtin_image_scene; }; diff --git a/OpenGLEngine/MyBuiltinImageScene.cpp b/OpenGLEngine/MyBuiltinImageScene.cpp new file mode 100644 index 0000000..1564cec --- /dev/null +++ b/OpenGLEngine/MyBuiltinImageScene.cpp @@ -0,0 +1,62 @@ +#include "MyBuiltinImageScene.h" + +#include "TextureFactory.h" + +#include "MeshGenerator.h" +#include "TextureGenerator.h" + +#include "constants.h" + +MyBuiltinImageScene::MyBuiltinImageScene(Application& application) + : image::Scene(application), + m_image(image_loader::load_file(IMAGE_PATH "uber.png")), + m_image_renderable( + meshgenerator::gen_rect_pt(DRAW_TRIANGLES, (float)m_image.width, (float)m_image.height), + TextureFactory::gen_image_texture(m_image), + texturegenerator::gen_quick_sampler(), + DrawMode::DRAW_TRIANGLES + ), + m_camera(m_screen_size), + m_batch(add_batch(&m_image_renderable, 1)) +{ + add_prerenderable(&m_camera); + set_camera(&m_camera); +} + +void MyBuiltinImageScene::update(float delta_time, clock_t clock) +{ + float brightness; + float radians; + + clock_t c; + const clock_t intervals = 512 * CLOCKS_PER_SEC / 100; + const clock_t half_interval = 256 * CLOCKS_PER_SEC / 100; + c = clock % intervals; + if (c < half_interval) + brightness = (float)c / half_interval; + else + brightness = (float)(intervals - c) / half_interval; + + radians = (float)TAU * c / intervals; + + { + Poseable2D& pose = m_batch.get_pose(0); + // pose.rotate((float)TAU_1_4 * delta_time); TODO + pose.update_position(vec3(3 * (float)cos(radians), 0.0f, 0.0f)); + } + + vec3 camera_translation(0.0f, 0.0f, 0.0f); + + if (m_input_manager.is_key_down(GLFW_KEY_W)) camera_translation.y += 1; + if (m_input_manager.is_key_down(GLFW_KEY_S)) camera_translation.y -= 1; + if (m_input_manager.is_key_down(GLFW_KEY_A)) camera_translation.x -= 1; + if (m_input_manager.is_key_down(GLFW_KEY_D)) camera_translation.x += 1; + + float camera_rotation = 0.0f; + if (m_input_manager.is_key_down(GLFW_KEY_Z)) camera_rotation += 1; + if (m_input_manager.is_key_down(GLFW_KEY_C)) camera_rotation -= 1; + + m_camera.translate(camera_translation * delta_time); + // m_camera.rotate(vec3(0.0f, 0.0f, 1.0f), camera_rotation * (float)TAU_1_8 * delta_time); TODO +} + diff --git a/OpenGLEngine/MyBuiltinImageScene.h b/OpenGLEngine/MyBuiltinImageScene.h new file mode 100644 index 0000000..212c759 --- /dev/null +++ b/OpenGLEngine/MyBuiltinImageScene.h @@ -0,0 +1,22 @@ +#pragma once + +#include "ImageLoader.h" + +#include "ImageScene.h" +#include "BuiltinCamera2D.h" + +using namespace charcoal; +using namespace charcoal::builtin; + +class MyBuiltinImageScene : public image::Scene +{ +public: + MyBuiltinImageScene(Application& application); + + void update(float delta_time, clock_t clock) override; +private: + image_loader::ImageRGBA m_image; + image::Renderable m_image_renderable; + builtin::Camera2D m_camera; + image::Batch& m_batch; +}; \ No newline at end of file diff --git a/OpenGLEngine/MySimple2DScene.h b/OpenGLEngine/MySimple2DScene.h index c09adea..4b8842e 100644 --- a/OpenGLEngine/MySimple2DScene.h +++ b/OpenGLEngine/MySimple2DScene.h @@ -31,5 +31,5 @@ private: MySimpleShaderProgram m_shader_program; MySimpleShaderProgram::RenderableT m_shape; MyBatch m_batch; - Camera2D m_camera; + charcoal::Camera2D m_camera; }; \ No newline at end of file diff --git a/OpenGLEngine/OpenGLEngine.vcxproj b/OpenGLEngine/OpenGLEngine.vcxproj index 33e1c9d..b4bc08d 100644 --- a/OpenGLEngine/OpenGLEngine.vcxproj +++ b/OpenGLEngine/OpenGLEngine.vcxproj @@ -91,7 +91,7 @@ true $(ProjectDir)..\include;%(AdditionalIncludeDirectories) NotUsing - SHADER_PATH=R"($(ProjectDir))";%(PreprocessorDefinitions) + SHADER_PATH=R"($(ProjectDir))";IMAGE_PATH=R"($(SolutionDir)images\)";%(PreprocessorDefinitions) @@ -131,7 +131,7 @@ true $(ProjectDir)..\include;%(AdditionalIncludeDirectories) NotUsing - SHADER_PATH=R"($(ProjectDir))";%(PreprocessorDefinitions) + SHADER_PATH=R"($(ProjectDir))";IMAGE_PATH=R"($(SolutionDir)images\)";%(PreprocessorDefinitions) true @@ -159,6 +159,7 @@ + @@ -169,6 +170,7 @@ + @@ -179,10 +181,10 @@ + - NotUsing NotUsing @@ -212,6 +214,9 @@ + + + @@ -222,13 +227,15 @@ + + - + @@ -261,10 +268,13 @@ + + + diff --git a/OpenGLEngine/OpenGLEngine.vcxproj.filters b/OpenGLEngine/OpenGLEngine.vcxproj.filters index 55aeb25..70f0871 100644 --- a/OpenGLEngine/OpenGLEngine.vcxproj.filters +++ b/OpenGLEngine/OpenGLEngine.vcxproj.filters @@ -106,9 +106,6 @@ {2f2c0657-4ba3-4314-86dd-a600f533f746} - - {f3f94b58-31cf-4a57-bc2a-0c3a33a6b9ee} - {fa76cc6e-e866-4987-8263-85abac1ac2c6} @@ -139,6 +136,9 @@ {492583f7-cffd-4d22-82c6-88be804e2f2f} + + {f3f94b58-31cf-4a57-bc2a-0c3a33a6b9ee} + @@ -249,9 +249,15 @@ Source Files\Engine\Plugins\LodePNG - + Source Files\Engine\Baseline + + Source Files\Engine\builtin\Scenes\2D\Image + + + Source Files\Example\Application + @@ -455,9 +461,27 @@ Header Files\Engine\builtin\General - + Header Files\Engine\Baseline + + Header Files\Engine\builtin\General + + + Header Files\Engine\builtin\Scenes\2D\Image + + + Header Files\Engine\builtin\Scenes\2D\Image + + + Header Files\Engine\builtin\General + + + Header Files\Engine\builtin\Scenes\2D\Image + + + Header Files\Example\Application + @@ -496,5 +520,11 @@ Source Files\Engine\builtin\Scenes\Shaders + + Source Files\Engine\builtin\Scenes\Shaders + + + Source Files\Engine\builtin\Scenes\Shaders + \ No newline at end of file diff --git a/OpenGLEngine/Poseable2D.cpp b/OpenGLEngine/Poseable2D.cpp new file mode 100644 index 0000000..c2cb7c7 --- /dev/null +++ b/OpenGLEngine/Poseable2D.cpp @@ -0,0 +1,28 @@ +#include "Poseable2D.h" + +namespace charcoal +{ + Poseable2D::Poseable2D(const vec2& position) : Poseable(vec3(position, 0.0f)) + {} + + void Poseable2D::update_position(const vec2& position) + { + Poseable::update_position(vec3(position, 0.0f)); + } + + void Poseable2D::update_rotation(float angle) + { + Poseable::reset_orientation(); + rotate(angle); + } + + void Poseable2D::translate(const vec2& translation) + { + Poseable::translate(vec3(translation, 0.0f)); + } + + void Poseable2D::rotate(float angle) + { + Poseable::rotate(vec3(0.0f, 0.0f, 1.0f), angle); + } +} diff --git a/OpenGLEngine/Sprite.h b/OpenGLEngine/Poseable2D.h similarity index 74% rename from OpenGLEngine/Sprite.h rename to OpenGLEngine/Poseable2D.h index 8bdb8e4..35b71fc 100644 --- a/OpenGLEngine/Sprite.h +++ b/OpenGLEngine/Poseable2D.h @@ -6,10 +6,11 @@ namespace charcoal { - class Sprite : private Poseable + class Poseable2D : private Poseable { public: - Sprite(const vec2& position = vec2(0.0f, 0.0f)); + // TODO: Implementation?? + Poseable2D(const vec2& position = vec2(0.0f, 0.0f)); void update_position(const vec2& position); void update_rotation(float angle); diff --git a/OpenGLEngine/Poseable2DBatch.h b/OpenGLEngine/Poseable2DBatch.h new file mode 100644 index 0000000..432700c --- /dev/null +++ b/OpenGLEngine/Poseable2DBatch.h @@ -0,0 +1,54 @@ +#pragma once + +#include "Batch.h" +#include "BuiltinBatch.h" +#include "Renderable.h" +#include "Poseable2D.h" + +namespace charcoal +{ + namespace builtin + { + // This has to be made completely seperately in order to avoid the vtable that gets added if Poseable is abstracted between + // 2D and 3D + template > + class Poseable2DBatch : public builtin::Batch + { + public: + Poseable2DBatch( + RenderableT* renderable, + int element_count + ) : Poseable2DBatch(renderable, element_count, element_count) + {} + + Poseable2DBatch( + RenderableT* renderable, + int element_count, + int element_render_count + ) : builtin::Batch(renderable, element_render_count), m_pose_elements(element_count) + {} + + virtual ~Poseable2DBatch() {} + + Poseable2D& get_pose(int index) { return m_pose_elements[index]; } + const Poseable2D& get_pose(int index) const { return m_pose_elements[index]; } + + protected: + void setup_element_buffers() + { + glBindBuffer(GL_ARRAY_BUFFER, charcoal::Batch::m_element_buffers[0]); + glBufferData(GL_ARRAY_BUFFER, m_pose_elements.size() * sizeof(Poseable), NULL, GL_STREAM_DRAW); + } + + void update_element_buffers() + { + // TODO: There are probably better ways to do this. Should check with the old engine to see what I did there. + glBindBuffer(GL_ARRAY_BUFFER, charcoal::Batch::m_element_buffers[0]); + glBufferData(GL_ARRAY_BUFFER, m_pose_elements.size() * sizeof(Poseable), NULL, GL_STREAM_DRAW); + glBufferSubData(GL_ARRAY_BUFFER, 0, m_pose_elements.size() * sizeof(Poseable), m_pose_elements.data()); + } + + std::vector m_pose_elements; + }; + } +} \ No newline at end of file diff --git a/OpenGLEngine/PoseableBatch.h b/OpenGLEngine/PoseableBatch.h index 1635b2f..b3e84bc 100644 --- a/OpenGLEngine/PoseableBatch.h +++ b/OpenGLEngine/PoseableBatch.h @@ -9,6 +9,7 @@ namespace charcoal { namespace builtin { + // Note: If anything is changed in this file, it must also be changed in Poseable2DBatch template > class PoseableBatch : public builtin::Batch { diff --git a/OpenGLEngine/Sprite.cpp b/OpenGLEngine/Sprite.cpp deleted file mode 100644 index cc7b528..0000000 --- a/OpenGLEngine/Sprite.cpp +++ /dev/null @@ -1,28 +0,0 @@ -#include "Sprite.h" - -namespace charcoal -{ - Sprite::Sprite(const vec2& position) : Poseable(vec3(position, 0.0f)) - {} - - void Sprite::update_position(const vec2& position) - { - Poseable::update_position(vec3(position, 0.0f)); - } - - void Sprite::update_rotation(float angle) - { - Poseable::reset_orientation(); - rotate(angle); - } - - void Sprite::translate(const vec2& translation) - { - Poseable::translate(vec3(translation, 0.0f)); - } - - void Sprite::rotate(float angle) - { - Poseable::rotate(vec3(0.0f, 0.0f, 1.0f), angle); - } -} \ No newline at end of file diff --git a/OpenGLEngine/SpriteBatch.h b/OpenGLEngine/SpriteBatch.h index 2315fcf..00a849d 100644 --- a/OpenGLEngine/SpriteBatch.h +++ b/OpenGLEngine/SpriteBatch.h @@ -1,26 +1,67 @@ #pragma once -#include "BuiltinBatch.h" +#include "Poseable2D.h" +#include "TextureRenderable.h" +#include "Poseable2DBatch.h" namespace charcoal { namespace builtin { - template > - class SpriteBatch : public builtin::Batch + template + class SpriteBatch : public Poseable2DBatch > { + // Note: This is VERY similar to builtin::textured::Batch + // TODO: Use Poseable2D for each sprite's position + // TODO: Have a texture + // Note: Uses GL_TEXTURE0. The uniform for this texture should be set in the scene before rendering. SpriteBatch( - RenderableT* renderable, + TextureRenderable* renderable, int element_count - ) : PoseableBatch(renderable, element_count, element_count) + ) : Poseable2DBatch >(renderable, element_count) {} SpriteBatch( - RenderableT* renderable, + TextureRenderable* renderable, int element_count, int element_render_count - ) : builtin::Batch(renderable, element_render_count), m_pose_elements(element_count) + ) : Poseable2DBatch >(renderable, element_count, element_render_count) {} + + void preprender() const override + { + // Note: Uses GL_TEXTURE0. The uniform for this texture should be set in the scene. + glActiveTexture(GL_TEXTURE0); + glBindTexture(GL_TEXTURE_2D, charcoal::Batch >::m_p_renderable->get_texture()->get_texture()); + glBindSampler(0, charcoal::Batch >::m_p_renderable->get_sampler()->get_sampler()); + } + + protected: + void setup_vao() override + { + glBindBuffer(GL_ARRAY_BUFFER, charcoal::Batch >::m_vertex_vbo); + glEnableVertexAttribArray(0); + glEnableVertexAttribArray(1); + // TODO: Figure out how to do this without offsetof :( + glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, sizeof(VertexType), (void*)offsetof(VertexType, position)); + glVertexAttribPointer(1, 2, GL_FLOAT, GL_FALSE, sizeof(VertexType), (void*)offsetof(VertexType, uv)); + glBindBuffer(GL_ARRAY_BUFFER, charcoal::Batch >::m_element_buffers[0]); + glEnableVertexAttribArray(2); + glEnableVertexAttribArray(3); + glEnableVertexAttribArray(4); + glEnableVertexAttribArray(5); + glVertexAttribPointer(2, 4, GL_FLOAT, GL_FALSE, sizeof(Poseable2D), (void*)(0 * sizeof(vec4))); + glVertexAttribPointer(3, 4, GL_FLOAT, GL_FALSE, sizeof(Poseable2D), (void*)(1 * sizeof(vec4))); + glVertexAttribPointer(4, 4, GL_FLOAT, GL_FALSE, sizeof(Poseable2D), (void*)(2 * sizeof(vec4))); + glVertexAttribPointer(5, 4, GL_FLOAT, GL_FALSE, sizeof(Poseable2D), (void*)(3 * sizeof(vec4))); + + glVertexAttribDivisor(0, 0); // Send the mesh data once + glVertexAttribDivisor(1, 0); // Send the mesh data once + glVertexAttribDivisor(2, 1); // Send the offset data for each instance drawn + glVertexAttribDivisor(3, 1); // Send the offset data for each instance drawn + glVertexAttribDivisor(4, 1); // Send the offset data for each instance drawn + glVertexAttribDivisor(5, 1); // Send the offset data for each instance drawn + } }; } } diff --git a/OpenGLEngine/TextureFactory.h b/OpenGLEngine/TextureFactory.h index e4d6806..2a15d9e 100644 --- a/OpenGLEngine/TextureFactory.h +++ b/OpenGLEngine/TextureFactory.h @@ -2,6 +2,8 @@ #include +#include "ImageLoader.h" + #include "Texture.h" #include "Sampler.h" @@ -30,6 +32,11 @@ namespace charcoal return &m_textures.back(); } + static Texture* gen_image_texture(const image_loader::ImageRGBA& image) + { + return gen_texture(Texture::Format::RGBA, Texture::Type::UNSIGNED_BYTE, image.width, image.height, image.data, Texture::InternalFormat::RGBA); + } + static Sampler* gen_sampler( Sampler::Wrap wrap_s, Sampler::Wrap wrap_t, diff --git a/OpenGLEngine/TexturedScene.cpp b/OpenGLEngine/TexturedScene.cpp index 15777a5..c4f03a4 100644 --- a/OpenGLEngine/TexturedScene.cpp +++ b/OpenGLEngine/TexturedScene.cpp @@ -38,7 +38,7 @@ namespace charcoal glutil::clear_screen(); m_shader_program.use(); glutil::uniform_matrix(0, m_p_camera->get_world_to_view_matrix()); - glutil::uniform_int(4, 0); // The textured batch uses GL_TEXTURE0 + glutil::uniform_int(4, 0); // Sprite batches all use GL_TEXTURE0 so set this to 0 for (auto iter = m_batches.begin(); iter != m_batches.end(); ++iter) { iter->render(); diff --git a/OpenGLEngine/TexturedScene.h b/OpenGLEngine/TexturedScene.h index 1f47742..98456d0 100644 --- a/OpenGLEngine/TexturedScene.h +++ b/OpenGLEngine/TexturedScene.h @@ -4,7 +4,6 @@ #include "AutoPrerenderingScene.h" -#include "BuiltinTypes.h" #include "Camera.h" #include "Batched.h" #include "TexturedBatch.h" diff --git a/OpenGLEngine/WithCamera.h b/OpenGLEngine/WithCamera.h new file mode 100644 index 0000000..a8916ee --- /dev/null +++ b/OpenGLEngine/WithCamera.h @@ -0,0 +1,20 @@ +#pragma once + +#include "Camera.h" + +namespace charcoal +{ + namespace builtin + { + class WithCamera + { + protected: + void set_camera(Camera* camera) { m_p_camera = camera; } + + Camera* get_camera() { return m_p_camera; } + + private: + Camera* m_p_camera = nullptr; + }; + } +} \ No newline at end of file diff --git a/images/uber.png b/images/uber.png new file mode 100644 index 0000000000000000000000000000000000000000..d1522ed35e712a04520049d57b9634b721a25b26 GIT binary patch literal 135182 zcmb@uL$EAe7qEHnv2EM7ZQHhO-ecRgZQHhO+wSvz(SJ{R(32iiL{?R1)~>3ITx&h+ z**i>5Mid$X1LDu0KhWZ0LJEKW{8jmVD1d?dzEZ~XlJw^f-XC!xekHfeOKniMq@%U& z869?UnP(#KK;&l>IDR?1z3qx+izY!$O-<{nZ;cI$imLTxi>jt&`6^GyQH0noR->D& zgoYRPA7@^41TX;n(Dj?+ao|I*laFoNt(ym)10N;z0g|CyK0g3phi)(VR|Vn7f&m6}$X&URSI`0P+3~FpDf}HdBABx8SzY;(#i5Dm{;{og)EXlR zAtRwMm~baFeUcTT@=$L;nIT0f0fmqOe?V4(%}W>U^xR}~Fc+jgkR&dSbH zMsj?l=XEFa!wd(YM_2WT>7E$S1&h`27VIa^QPL8rbtD85oJRyaxVkvqTIDSIlU$iH zsi#9hL-CP@oV4I3L!qd&S|2gkFwN)b=kZ{ z)NsGt0PJf9T;+D4+?I`5x(nWMX)wjPAOS$DhZLH86^v}P%7712wja78>E3Ot zRX{&j(7n<~qz84<#cuW3e<( zpc43d#z+);*cjq4#bEhvp+A+`X~^l(f$S1(3-ls@uj+{M%@(BPtSC8` zdsvKUDWSp!q3-}>KUS#e5tj7F^XPOWsq*zsm;`yZV>kvoVa≀HlPs4H#wCv>?ab%qkw>Sd&nHdLqW9+^ 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 <%q0;`sW+2kc$V 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