Ejemplo n.º 1
0
void DebugTextStyle::addData(TileData& _data, MapTile& _tile, const MapProjection& _mapProjection) {

    if (Tangram::getDebugFlag(Tangram::DebugFlags::TILE_INFOS)) {
        onBeginBuildTile(_tile);

        std::shared_ptr<VboMesh> mesh(new Mesh(m_vertexLayout, m_drawMode));
        
        auto ftContext = m_labels->getFontContext();
        auto textBuffer = _tile.getTextBuffer(*this);

        ftContext->setFont(m_fontName, m_fontSize * m_pixelScale);

        if (m_sdf) {
            float blurSpread = 2.5;
            ftContext->setSignedDistanceField(blurSpread);
        }

        std::string tileID = std::to_string(_tile.getID().x) + "/" + std::to_string(_tile.getID().y) + "/" + std::to_string(_tile.getID().z);
        m_labels->addLabel(_tile, m_name, { glm::vec2(0), glm::vec2(0) }, tileID, Label::Type::DEBUG);

        onEndBuildTile(_tile, mesh);

        mesh->compileVertexBuffer();
        _tile.addGeometry(*this, mesh);
    }

}
Ejemplo n.º 2
0
void DebugTextStyle::addData(TileData& _data, MapTile& _tile, const MapProjection& _mapProjection) {

    if (Tangram::getDebugFlag(Tangram::DebugFlags::TILE_INFOS)) {
        onBeginBuildTile(_tile);

        Mesh* mesh = new Mesh(m_vertexLayout, m_drawMode);

        auto labelContainer = LabelContainer::GetInstance();
        auto ftContext = labelContainer->getFontContext();
        auto textBuffer = _tile.getTextBuffer(*this);

        ftContext->setFont(m_fontName, m_fontSize * m_pixelScale);

        if (m_sdf) {
            float blurSpread = 2.5;
            ftContext->setSignedDistanceField(blurSpread);
        }

        std::string tileID = std::to_string(_tile.getID().x) + "/" + std::to_string(_tile.getID().y) + "/" + std::to_string(_tile.getID().z);
        labelContainer->addLabel(_tile, m_name, { glm::vec2(0), glm::vec2(0) }, tileID, Label::Type::DEBUG);

        std::vector<PosTexID> vertices;
        vertices.resize(textBuffer->getVerticesSize());

        if (textBuffer->getVertices(reinterpret_cast<float*>(vertices.data()))) {
            mesh->addVertices(std::move(vertices), {});
        }

        mesh->compileVertexBuffer();

        _tile.addGeometry(*this, std::unique_ptr<VboMesh>(mesh));

        onEndBuildTile(_tile);
    }

}