Drawing on huge screens with OpenFrameworks, datatype limitaitons

Hello, Folks!

I currently working on the project which uses 13 projectors, connected via 6 TrippleHeads. I render video in oF and total screen width of the ofApp is 16640x800. Here I encountered the issue of built-in datatypes limitations. For example, I can’t render ofLine(8200,0, 8200,0) as X coordinate’s value is limited by 8192 (2^13).

So, is there any workaround of this situation?

main.cpp:

#include "ofMain.h"
#include "ofApp.h"
#include "ofAppGLFWWindow.h"

//========================================================================
int main( ){
    ofAppGLFWWindow window;
	ofSetupOpenGL(&window, 16640,800,OF_WINDOW);
	ofRunApp(new ofApp());
}

ofApp.cpp:

#include "ofApp.h"

//--------------------------------------------------------------
void ofApp::setup(){
    ofSetWindowShape(16640, 800);
}

//--------------------------------------------------------------
void ofApp::draw(){
    ofClear(100);
    ofSetColor(200, 200, 255);
    ofRect(0,0,16640, 800);
    ofSetColor(255, 150, 150);
    ofSetLineWidth(10);
    ofLine(0, 0, 15000, 800);
    ofLine(2000, 400, 1500, 800);
    
    ofLine(8192, 0, 8192.0, 800);
    ofLine(16384-1, 0, 16384-1.0, 800);
    
    ofRect(0,0,16384-10., 800);
}

I think this is not a limitation on data types, but a limitation on opengl maximum viewport size? – if you run the glInfo example, you can see some info about your opengl implementation and see if this is the case.

Thanks, zach, this was helpful. I think I will run two separate oF apps in window mode and align them side by side on the screen. But there is another problem rises up. By some reason I can’t draw lines with x coordinate more than 8192 (see the screenshot), but can draw rectangles up to the viewport limit wide.

Any ideas on what can cause such problem with line drawing?