diff --git a/src/graphics/text/TextRasterizer.cpp b/src/graphics/text/TextRasterizer.cpp index 2e07a0568641443d022611effbac1a157eb655bd..349a5b3c815d957c085b501f1aa0118e221b79b5 100644 --- a/src/graphics/text/TextRasterizer.cpp +++ b/src/graphics/text/TextRasterizer.cpp @@ -154,6 +154,8 @@ std::unique_ptr<std::pair<int, int>> TextRasterizer::size(const rasterizationReq return std::make_unique<std::pair<int, int>>(std::pair<int, int>(response->width, response->height)); } +#include <GL/glew.h> + std::unique_ptr<rasterizationResponse> TextRasterizer::rasterize(const rasterizationRequest &request) const { if (request.startX == request.availableWidth) { @@ -308,6 +310,14 @@ std::unique_ptr<rasterizationResponse> TextRasterizer::rasterize(const rasteriza response->y1 = -response->height; //std::cout << "xd: " << static_cast<int>(response->x1-response->x0) << " yd: " << static_cast<int>(response->y0-response->y1) << std::endl; + int max; + glGetIntegerv(GL_MAX_TEXTURE_SIZE, &max); + std::cout << "Requesting texture of " << response->textureWidth << "x" << response->textureHeight << "max: " << max << std::endl; + if (response->textureHeight > max) { + std::cout << "Truncating text texture to fit in your video card" << std::endl; + response->textureHeight = max; + } + // texture coords response->s0 = 0.0f; response->t0 = 0.0f; @@ -319,7 +329,7 @@ std::unique_ptr<rasterizationResponse> TextRasterizer::rasterize(const rasteriza // still neds to start at X cx = response->wrapped ? request.startX : 0; // reset cy = 0; - //std::cout << "starting at: " << cx << std::endl; + //std::cout << "[" << request.text << "] wrapped? " << response->wrapped << " starting at: " << cx << std::endl; //int miny0 = 99; int maxy0 = 0; for (unsigned int i = 0; i < glyphCount; i++) {