INNER CODE UNIT · C++

height

symphony-of-empires/symphony-of-empires · eng3d/eng3d/borders.cpp:159

    int height = border_tex->height;
    int width = border_tex->width;
    auto pixels = border_tex->buffer.get();
    std::vector<std::vector<glm::vec3>> borders;
    BorderGenerator::build_borders(borders, pixels, width, height);

    // TODO FIX THIS NOT INFINITE LOOP
    auto curve = std::make_unique<Eng3D::Curve>();
    for(size_t i = 0; i < borders.size(); i++) {
        std::vector<glm::vec3> river = borders[i];
        auto length = river.size();
        if(length < 2) continue;

        std::vector<glm::vec3> mid_points(length + 3);
        mid_points[0] = river[0];
        mid_points[1] = river[0];
        for(size_t j = 0; j < length - 1; j++)
            mid_points[j + 2] = 0.5f * (river[j] + river[j + 1]);

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…