From 4b3995b35d454af425660bc8d12e6475c40e269d Mon Sep 17 00:00:00 2001 From: Theodor Lundqvist Date: Wed, 13 Dec 2023 17:36:08 +0100 Subject: [PATCH] replace reserve --- src/EDAN35/assignment2.cpp | 2 +- src/EDAN35/project/VoxelVolume.cpp | 2 +- src/EDAN35/util/cellularAutomata.cpp | 2 +- src/EDAN35/util/colorPalette.hpp | 2 +- src/EDAN35/util/demo_scenes.cpp | 2 +- src/EDAN35/util/terrain.hpp | 2 +- src/EDAN35/util/terrain_generator.cpp | 5 +++-- 7 files changed, 9 insertions(+), 8 deletions(-) diff --git a/src/EDAN35/assignment2.cpp b/src/EDAN35/assignment2.cpp index 05caee1..fb5d8f7 100644 --- a/src/EDAN35/assignment2.cpp +++ b/src/EDAN35/assignment2.cpp @@ -198,7 +198,7 @@ void edan35::Assignment2::run() { LogError("Failed to load the Sponza model"); return; } - sponza_geometry.reserve(sponza_geometry.size() + curtains.size()); + //sponza_geometry.reserve(sponza_geometry.size() + curtains.size()); for (auto const &geometry : curtains) { sponza_geometry.push_back(geometry); } diff --git a/src/EDAN35/project/VoxelVolume.cpp b/src/EDAN35/project/VoxelVolume.cpp index 9497fcb..b8465a4 100644 --- a/src/EDAN35/project/VoxelVolume.cpp +++ b/src/EDAN35/project/VoxelVolume.cpp @@ -203,7 +203,7 @@ class VoxelVolume { float step_size = 1.0 / 10; auto step = normalize(w_direction * transform.getScale()) * voxel_size * step_size; int i = 0; - int max_step = (int) (1.0 / step_size * 1.0 / step_size * 1.0 / voxel_size); + int max_step = (int) (1.0 / step_size * 1.0 / step_size * 1.0 / voxel_size) * 30; for (i = 0; i < max_step; ++i) { auto INDEX = localToIndex(inverse.apply(P)); auto mat = getVoxel(INDEX); diff --git a/src/EDAN35/util/cellularAutomata.cpp b/src/EDAN35/util/cellularAutomata.cpp index c4b6655..d76bc69 100644 --- a/src/EDAN35/util/cellularAutomata.cpp +++ b/src/EDAN35/util/cellularAutomata.cpp @@ -23,7 +23,7 @@ cellularAutomata::updateCAState(int state, glm::vec3 size, glm::vec3 randomState } void cellularAutomata::CreateCells(int state, glm::vec3 size) { - m_Cells.reserve(m_Size.x * m_Size.y * m_Size.z); + //m_Cells.reserve(m_Size.x * m_Size.y * m_Size.z); for (int x = 0; x < m_Size.x; x++) { for (int y = 0; y < m_Size.y; y++) { diff --git a/src/EDAN35/util/colorPalette.hpp b/src/EDAN35/util/colorPalette.hpp index 979109a..de9e342 100644 --- a/src/EDAN35/util/colorPalette.hpp +++ b/src/EDAN35/util/colorPalette.hpp @@ -28,7 +28,7 @@ class colorPalette { std::vector colorPalette; float length = (colorRange.y - colorRange.x) + 1; - colorPalette.reserve(length); + //colorPalette.reserve(length); for (int i = 1; i < colors.size() - 1; i++) { glm::ivec2 curRange; curRange.x = (i - 1) * length / (colors.size() - 2); diff --git a/src/EDAN35/util/demo_scenes.cpp b/src/EDAN35/util/demo_scenes.cpp index 506b23b..c76c280 100644 --- a/src/EDAN35/util/demo_scenes.cpp +++ b/src/EDAN35/util/demo_scenes.cpp @@ -66,7 +66,7 @@ scene_settings_t scenes[] = { {5, "SDF", camera_positions[CUBE_CAM], 6, fvta_step_pixel_pos, 128, 1, true}, {6, "CA", camera_positions[CA_CAM], cellularAutomata::NBR_CA_RULES, fvta_step_shaded_colorpalette, 100, 1, true}, {7, "Noise", camera_positions[CUBE_CAM], 5, fvta_step_shaded_colorpalette, 100, 1, true}, - {8, "Minecraft", camera_positions[MC_CAM], 100, fvta_step_shaded_colorpalette, 128, 1, false, 12, }, + {8, "Minecraft", camera_positions[MC_CAM], 100, fvta_step_shaded_colorpalette, 128, 1, false, 30, }, }; typedef struct ca_setting_t { diff --git a/src/EDAN35/util/terrain.hpp b/src/EDAN35/util/terrain.hpp index 0d4b7a1..d38f51a 100644 --- a/src/EDAN35/util/terrain.hpp +++ b/src/EDAN35/util/terrain.hpp @@ -61,7 +61,7 @@ class terrain { void generateTerrainTexture(float scale, int octave, float persistance = .5f, float lacunarity = 2.f, int seed = 0) { // allocate memory to terrain texture - m_TerrainTexture.reserve(m_Width * m_Depth); + //m_TerrainTexture.reserve(m_Width * m_Depth); float maxNoiseHeight = FLT_MIN; float minNoiseHeight = FLT_MAX; diff --git a/src/EDAN35/util/terrain_generator.cpp b/src/EDAN35/util/terrain_generator.cpp index 6bfca25..4a88502 100644 --- a/src/EDAN35/util/terrain_generator.cpp +++ b/src/EDAN35/util/terrain_generator.cpp @@ -23,10 +23,10 @@ class TerrainGenerator { void start(){ int width = this->width; int depth = this->depth; int elevation = this->elevation; - results.reserve(nbr_terrains); + results.resize(nbr_terrains); // just generate one large texture for (int i = 0; i < 1; ++i) { - results[i] = result_t(); + //results.emplace_back(); auto hm = queue.push([i, width, depth, elevation](int) { auto start = std::chrono::system_clock::now(); int w = 4; @@ -47,6 +47,7 @@ class TerrainGenerator { return status == std::future_status::ready; } + // make sure index is < size terrain *getTerrain(int index) { index = 0; if(results[index].retrieved) return results[index].terrain;