Main sections
VIEWPORT
VIEWPORT x%, y%, breite%, hoehe%
Setzt den Zeichenbereich auf ein anderes Rechteck. Damit kann man z.b. Splitscreen Programme schreiben, oder den Rückspiegel eines Autos rendern. Die Pixelkoordinaten fangen mit 0,0 im Viewport bei x%, y% an. 3D Grafiken werden kleiner skaliert, als ob der Viewport das Hauptfenster wären.
Mit breite%<=0 oder Höhe%<=0 wird der Ausschnitt wieder zurückgesetzt auf das gesamte Fenster.
VIEWPORT muss vor X_MAKE3D aufgerufen werden.
// --------------------------------- //
// Project: Multiple Viewports
// Start: Wednesday, August 11, 2004
// IDE Version: 2.40811
WHILE TRUE
 PRINT "Test", 0, 0
 MOUSESTATE mx, my, b1, b2
 GOSUB Scene // 3D Scene
 VIEWPORT mx, my, 150, 100
 // ÜBer den Bereich hinaus Zeichnen
 DRAWRECT -100, -100, 400, 600, RGB(0, 0, 64)
 PRINT "Viewport.....", 0, 0
 GOSUB Scene
 VIEWPORT 0,0,0,0 // Zurücksetzen
 PRINT "Wieder normal", 0, 20
 SHOWSCREEN
WEND
// ------------------------------------------------------------- //
// -=#  SCENE  #=-
// ------------------------------------------------------------- //
SUB Scene:
 X_MAKE3D 1, 100, 45
 X_CAMERA 0,0,10, 0,0,0
 X_OBJSTART 1
  X_OBJADDVERTEX  0, 0, 0, 0,0, RGB(255,255,255)
  X_OBJADDVERTEX  1, 1, 0, 1,1, RGB(255,255,255)
  X_OBJADDVERTEX  0, 1, 0, 0,1, RGB(255,255,255)
 X_OBJEND
 X_ROTATION GETTIMERALL()/30, 0, 1, 0
 X_DRAWOBJ 1, 0
 X_DRAWAXES 0,0,0
ENDSUB // SCENE

