GLBasic Benutzerhandbuch

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





See also...