|
Class: GLXWorkstation
Object
|
+--GraphicsDevice
|
+--HostGraphicsDevice
|
+--DeviceWorkstation
|
+--XWorkstation
|
+--GLXWorkstation
- Package:
- stx:libview
- Category:
- Interface-Graphics
- Version:
- rev:
1.101
date: 2022/03/08 22:45:06
- user: cg
- file: GLXWorkstation.st directory: libview
- module: stx stc-classLibrary: libview
this class was originally written as a demo on how an interface to
a C graphics library could be implemented.
In the mean time, it has become quite complete ...
It provides an interface to either a real GL (on SGI workstations)
or a simulated VGL (i.e. GL-light; low nicotine).
The GL simulation is derived from the PD vogl library, with slight
modifictions to support multiple GL views.
Most of the hard work was done by Jeff (thanks indeed) ...
Some notes:
I do not really know what most of these functions do - for more
detail, see the GL man pages (on SGI) or the doc provided with VGL.
The interface offered here provides a very very low level (i.e one-to-one)
interface to GL functions. More high-level stuff is required, to make
3D drawing be more object-oriented.
(see a bit of this in 'clients/IRIS-specials')
Some functions are duplicated, Jeff and I developed those in parallel -
for now, both will remain - finally they will be merged and duplicates removed ...
(examples are makeobj and makeObject).
Also, in a hurry to implement all those methods, many do no or only
limited argument checking - make certain, that you pass the correct
arguments.
There might be some confusion in the v3[sifd] functions: basically they
all do the same, and could be mapped onto one st-method (such as vertex3).
However, the C-functions expect different argument types - I don't know if
one or another of these functions suffers from any performance penalties.
Therefore, I leave the direct 1-to-1 mapping; GL experts might know more
about this (I use v3f in all of my code).
written june 93 by claus
VGL stuff dec 93
many many additions jan 94 by Jeff McAffer <jeff@is.s.u-tokyo.ac.jp>
Since this is a demo (consider it a free add-on goody) there is
*** NO WARRANTY ** for this.
Notice: this should be rewritten to use the openGL library functions
(actually, to not loose the VGL interface, another OpenGLWorkstation
class should be written)
copyrightCOPYRIGHT (c) 1993 by Claus Gittinger
All Rights Reserved
This software is furnished under a license and may be used
only in accordance with the terms of that license and with the
inclusion of the above copyright notice. This software may not
be provided or otherwise made available to, or used by, any
other person. No title to or ownership of the software is
hereby transferred.
error handling
-
errorStringOfLastError
-
-
minorCodeOfLastError
-
-
requestCodeOfLastError
-
-
resourceIdOfLastError
-
(comment from inherited method)
Screen resourceIdOfLastError
misc
-
forceGL: aBoolean
-
arcs and circles
-
glxArcX: x y: y radius: radius startang: startang endang: endang in: aGLXWindowId
-
draw an arc at a given location.
The x/y/radius args may be floats, fractions or smallIntegers.
startang and endang must be smallIntegers (10th of a degree).
-
glxArcfX: x y: y radius: radius startang: startang endang: endang in: aGLXWindowId
-
draw a filled arc.
The x/y/radius args may be floats, fractions or smallIntegers.
startang and endang must be smallIntegers (10th of a degree).
-
glxArcfiX: x y: y radius: radius startang: startang endang: endang in: aGLXWindowId
-
draw a filled arc.
All arguments must be smallIntegers.
-
glxArcfsX: x y: y radius: radius startang: startang endang: endang in: aGLXWindowId
-
draw a filled arc.
All arguments must be (16bit) smallIntegers.
-
glxArciX: x y: y radius: radius startang: startang endang: endang in: aGLXWindowId
-
draw an (unfilled) arc.
All arguments must be smallIntegers.
-
glxArcsX: x y: y radius: radius startang: startang endang: endang in: aGLXWindowId
-
draw an (unfilled) arc.
All arguments must be (16bit) smallIntegers.
-
glxCircX: x y: y radius: radius in: aGLXWindowId
-
draw a circle.
x/y/radius may be floats, fractions or smallIntegers.
-
glxCircfX: x y: y radius: radius in: aGLXWindowId
-
draw a filled circle.
x/y/radius may be floats, fractions or smallIntegers.
-
glxCircfiX: x y: y radius: radius in: aGLXWindowId
-
draw a filled circle.
x/y/radius must be smallIntegers.
-
glxCircfsX: x y: y radius: radius in: aGLXWindowId
-
draw a filled circle.
x/y/radius must be (16bit) smallIntegers.
-
glxCirciX: x y: y radius: radius in: aGLXWindowId
-
draw a circle (unfilled).
x/y/radius must be smallIntegers.
-
glxCircsX: x y: y radius: radius in: aGLXWindowId
-
draw a circle (unfilled)
x/y/radius must be (16bit) smallIntegers.
attribute stack
-
glxPopattributesIn: aGLXWindowId
-
pop (and forget) the top entry on the attribute stack
-
glxPushattributesIn: aGLXWindowId
-
save the current attributes on the attribute stack
character position
-
glxCmov2X: x y: y in: aGLXWindowId
-
change the character position to a 2D point, as passed in x/y.
The arguments may be floats, fractions or smallIntegers.
-
glxCmov2iX: x y: y in: aGLXWindowId
-
change the character position to a 2D point, as passed in x/y.
The arguments must be smallIntegers.
-
glxCmov2sX: x y: y in: aGLXWindowId
-
change the character position to a 2D point, as passed in x/y.
The arguments must be (16bit) smallIntegers.
-
glxCmovX: x y: y z: z in: aGLXWindowId
-
change the character position to a 3D point, as passed in x/y/z.
The arguments may be floats, fractions or smallIntegers.
-
glxCmoviX: x y: y z: z in: aGLXWindowId
-
change the character position to a 3D point, as passed in x/y/z.
The arguments must be smallIntegers.
-
glxCmovsX: x y: y z: z in: aGLXWindowId
-
change the character position to a 3D point, as passed in x/y/z.
The arguments must be (16bit) smallIntegers.
-
glxGetcposIn: aGLXWindowId
-
Return the current character position as a point with integer coordinates
clearing
-
glxClearIn: aGLXWindowId
-
clear to current color
-
glxCzclearCval: cval zval: zval in: aGLXWindowId
-
clear to a color (cval) and clear z buffer to zval simultaniously
-
glxZClearIn: aGLXWindowId
-
clear z buffer
color
-
glxColor: index in: aGLXWindowId
-
set the drawing color;
for non gouraud shading, we don't care if the argument is integer or float;
otherwise, better results are expected with float values.
-
glxColorRed: r green: g blue: b alpha: a in: aGLXWindowId
-
set the drawing color, including alpha value.
The args must be integer values within 0..255
-
glxColorRed: r green: g blue: b in: aGLXWindowId
-
set the drawing color.
The args must be integer values in 0..255
-
glxLrgbrangeRmin: rmin gmin: gmin bmin: bmin rmax: rmax gmax: gmax bmax: bmax znear: znear zfar: zfar in: aGLXWindowId
-
-
glxMapcolorI: i red: red green: green blue: blue in: aGLXWindowId
-
change a color in the color lookup table (i.e. in COLOR_INDEX mode).
The arguments must be smallIntegers.
-
glxTextcolor: tcolor in: aGLXWindowId
-
change the color used for text drawing
curves
-
glxCurvebasis: basid in: aGLXWindowId
-
sets the basis type of curves
-
glxCurveit: iterationcount in: aGLXWindowId
-
Iterates the top matrix on the stack as a forward difference
matrix, drawing as it goes along.
-
glxCurveprecision: nsegments in: aGLXWindowId
-
sets the number of line segments that make up a curve segment
double buffering
-
glxBackBufferIn: aGLXWindowId
-
switch to back buffer drawing - turning frontbuffer drawing off
-
glxBackbuffer: b in: aGLXWindowId
-
turn backBuffer drawing on/off.
Notice: VGL is not able to draw into both buffers at the same time ...
... enabling the backbuffer automatically disables frontbuffer drawing
and vice versa. This seems not to be the case with a true GL.
-
glxDoubleBufferIn: aGLXWindowId
-
set double buffer mode
-
glxFrontBufferIn: aGLXWindowId
-
switch to front buffer drawing - turning backbuffer drawing off
-
glxFrontbuffer: b in: aGLXWindowId
-
turn on/off frontbuffer drawing.
Notice: VGL is not able to draw into both buffers at the same time ...
... enabling the backbuffer automatically disables frontbuffer drawing
and vice versa. This seems not to be the case with a true GL.
-
glxSingleBufferIn: aGLXWindowId
-
set single buffer mode
-
glxSwapBuffersIn: aGLXWindowId
-
swap the back and front buffers.
To animate things smoothly, draw into the backBuffer while the frontBuffer is
displayed and swap them for every frame.
flat drawing
-
glxBeginClosedLineIn: aGLXWindowId
-
start a closed line
-
glxBeginLineIn: aGLXWindowId
-
start a line group
-
glxBeginPointIn: aGLXWindowId
-
start a point-group
-
glxBeginPolygonIn: aGLXWindowId
-
start a polygon
-
glxBeginQuadrilateralStripIn: aGLXWindowId
-
start a quadrilateral strip
-
glxBeginTriangleMeshIn: aGLXWindowId
-
start a triangle mesh
-
glxEndClosedLineIn: aGLXWindowId
-
end a closed line
-
glxEndLineIn: aGLXWindowId
-
end a line group
-
glxEndPointIn: aGLXWindowId
-
end a point group
-
glxEndPolygonIn: aGLXWindowId
-
end a polygon
-
glxEndQuadrilateralStripIn: aGLXWindowId
-
end a quadrilateral strip
-
glxEndTriangleMeshIn: aGLXWindowId
-
end a triangle mesh
graphics position
-
glxMove2: v in: aGLXWindowId
-
change the graphics position to a 2D point, as passed in vector v
-
glxMove2X: x y: y in: aGLXWindowId
-
change the graphics position to a 2D point, as passed in x/y
-
glxMove2iX: x y: y in: aGLXWindowId
-
change the graphics position to a 2D point, as passed in x/y.
The arguments must be smallIntegers.
-
glxMove2sX: x y: y in: aGLXWindowId
-
change the graphics position to a 2D point, as passed in x/y.
The arguments must be smallIntegers.
-
glxMove: v in: aGLXWindowId
-
change the graphics position to a 3D point, as passed in vector v
-
glxMoveX: x y: y z: z in: aGLXWindowId
-
change the graphics position to a 3D point, as passed in x/y/z
-
glxMoveiX: x y: y z: z in: aGLXWindowId
-
change the graphics position to a 3D point, as passed in x/y/z.
The arguments must be smallIntegers.
-
glxMovesX: x y: y z: z in: aGLXWindowId
-
change the graphics position to a 3D point, as passed in x/y/z.
The arguments must be smallIntegers.
-
glxRmv2: v in: aGLXWindowId
-
change the graphics position to a 2D point,
the relative distance is passed in vector v
-
glxRmv2X: x y: y in: aGLXWindowId
-
change the graphics position to a 2D point,
the relative distance is passed in x/y
-
glxRmv2iX: x y: y in: aGLXWindowId
-
change the graphics position to a 2D point,
the relative distance is passed in x/y.
The arguments must be smallIntegers.
-
glxRmv2sX: x y: y in: aGLXWindowId
-
change the graphics position to a 2D point,
the relative distance is passed in x/y.
The arguments must be smallIntegers.
-
glxRmv: v in: aGLXWindowId
-
change the graphics position to a 3D point,
the relative distance is passed in vector v
-
glxRmvX: x y: y z: z in: aGLXWindowId
-
change the graphics position to a 3D point,
the relative distance is passed in x/y/z
-
glxRmviX: x y: y z: z in: aGLXWindowId
-
change the graphics position to a 3D point,
the relative distance is passed in x/y/z.
The arguments must be smallIntegers.
-
glxRmvsX: x y: y z: z in: aGLXWindowId
-
change the graphics position to a 3D point,
the relative distance is passed in x/y/z.
The arguments must be smallIntegers.
initialization
-
initializeFor: aDisplayName
-
(comment from inherited method)
initialize the receiver for a connection to an X-Server;
the argument, aDisplayName may be nil (for the default server from
DISPLAY-variable or command line argument) or the name of the server
as hostname:number
-
initializeScreenProperties
-
GL has a 'bug' (or feature ?)
lines
-
glxDeflinestyleN: n ls: ls in: aGLXWindowId
-
define a line style
-
glxDraw2: v in: aGLXWindowId
-
draw a line from the current graphics position
to a new 2D position, passed in vector v.
-
glxDraw2X: x y: y in: aGLXWindowId
-
draw a line from the current graphics position
to a new 2D position, passed in x/y.
-
glxDraw2iX: x y: y in: aGLXWindowId
-
draw a line from the current graphics position
to a new 2D position, passed in x/y.
-
glxDraw2sX: x y: y in: aGLXWindowId
-
draw a line from the current graphics position
to a new 2D position, passed in x/y.
-
glxDraw: v in: aGLXWindowId
-
draw a line from the current graphics position
to a new 3D position, passed in vector v.
-
glxDrawX: x y: y z: z in: aGLXWindowId
-
draw a line from the current graphics position
to a new 3D position, passed in x/y/z.
The arguments may be floats, fractions or smallIntegers
-
glxDrawiX: x y: y z: z in: aGLXWindowId
-
draw a line from the current graphics position
to a new 3D position, passed in x/y/z.
The arguments must be smallIntegers.
-
glxDrawsX: x y: y z: z in: aGLXWindowId
-
draw a line from the current graphics position
to a new 3D position, passed in x/y/z.
The arguments must be (16bit) smallIntegers.
-
glxLinewidth: n in: aGLXWindowId
-
set the linewidth
-
glxLinewidthf: n in: aGLXWindowId
-
set the linewidth
-
glxRdr2: v in: aGLXWindowId
-
draw a line from the current graphics position
to a new 2D position, passing the relative distance in the vector v.
-
glxRdr2X: x y: y in: aGLXWindowId
-
draw a line from the current graphics position
to a new 2D position, passing the relative distance in x/y.
-
glxRdr2iX: x y: y in: aGLXWindowId
-
draw a line from the current graphics position
to a new 2D position, passing the relative distance in x/y.
-
glxRdr2sX: x y: y in: aGLXWindowId
-
draw a line from the current graphics position
to a new 2D position, passing the relative distance in x/y.
-
glxRdr: v in: aGLXWindowId
-
draw a line from the current graphics position
to a new 3D position, passing the relative distance in the vector v.
-
glxRdrX: x y: y z: z in: aGLXWindowId
-
draw a line from the current graphics position
to a new 3D position, passing the relative distance in x/y/z.
-
glxRdriX: x y: y z: z in: aGLXWindowId
-
draw a line from the current graphics position
to a new 3D position, passing the relative distance in x/y/z.
-
glxRdrsX: x y: y z: z in: aGLXWindowId
-
draw a line from the current graphics position
to a new 3D position, passing the relative distance in x/y/z.
-
glxSetlinestyle: index in: aGLXWindowId
-
set the linestyle
materials & lights
-
glxLmbind: target index: index in: aGLXWindowId
-
select a material, light or lighting model.
target must be a symbol from: #material, #backMaterial,
#light0-light7 or #lightModel.
-
glxLmdef: what index: index np: np props: props in: aGLXWindowId
-
define a material, light source or lighting model;
what must be one of #material, #light or #lightModel.
props must be a FloatArray or a subclass of FloatArray
-
glxTevbind: target index: index in: aGLXWindowId
-
bind a texture environment; target must be 0
or the symbol #env0.
-
glxTevdef: index np: np props: props in: aGLXWindowId
-
-
glxTexDef2d: index nc: nc width: w height: h bits: image np: np props: props in: aGLXWindowId
-
define a 2D texture. index is the 'name' of the texture;
nc is the number of components (1-4) per pixel;
w/h define the size of the texture; bits is a byteArray containing the
long-word aligned pixel data; np is the number of props found in
the floatArray props. Props must be delimited by a 0.0 entry.
-
glxTexDef3d: index nc: nc width: w height: h depth: d bits: image np: np props: props in: aGLXWindowId
-
define a 3D texture. index is the 'name' of the texture;
nc is the number of components (1-4) per pixel;
w/h/d define the size of the texture; bits is a byteArray containing the
long-word aligned pixel data; np is the number of props found in
the floatArray props. Props must be delimited by a 0.0 entry.
-
glxTexbind: target index: index in: aGLXWindowId
-
bind a texture; target must be an integer or one
of the symbols #texture0, #textureDetail or #textureIdle.
matrix stack
-
glxGetMatrix: arrayOf16Floats in: aGLXWindowId
-
argument must be an array (a matrix) of 16 floats. The current matrix
will be stored into that.
-
glxLoadMatrix: arrayOf16Floats in: aGLXWindowId
-
argument must be an array(a matrix) of 16 floats. The current matrix
will be loaded from that.
-
glxMultMatrix: arrayOf16Floats in: aGLXWindowId
-
argument must be an array(a matrix) of 16 floats containing a
matrix to multiply into the current matrix.
-
glxPopmatrixIn: aGLXWindowId
-
pop transformation stack
-
glxPushmatrixIn: aGLXWindowId
-
push down transformation stack
misc
-
glxGconfigIn: aGLXWindowId
-
must be sent after RGBmode, doubleBuffer etc. to have these
changes really take effect. See GLX manual.
(Actually, it seems to be not allowed - I don't really know)
-
glxMmode: aSymbol in: aGLXWindowId
-
set matrix mode: #single, #viewing, #projection or #texture
-
glxNmode: aSymbol in: aGLXWindowId
-
set normalize mode: #auto, #normalize
-
glxRGBmodeIn: aGLXWindowId
-
set true color mode (no colormap)
objects
-
glxCallObject: obj in: aGLXWindowId
-
perform the commands of an object (macro).
-
glxCloseObjectIn: aGLXWindowId
-
end object defnition
-
glxDeleteObject: obj in: aGLXWindowId
-
-
glxGenObjectIn: aGLXWindowId
-
return a new (free & unused) object id for use
with makeObj
-
glxGetopenobjIn: aGLXWindowId
-
return the currently open objects id; -1 if none is open
-
glxIsobj: obj in: aGLXWindowId
-
return true, if obj is a valid object id
-
glxMakeObject: id in: aGLXWindowId
-
start object definition -
another name conflict
patches & surfaces
-
glxBeginCurveIn: aGLXWindowId
-
start a NURBS curve def - in real GL only
-
glxBeginSurfaceIn: aGLXWindowId
-
start a NURBS surface def - in real GL only
-
glxDefBasis: id mat: aMatrix in: aGLXWindowId
-
define the basis matrix for a patch or curve
-
glxEndCurveIn: aGLXWindowId
-
end a NURBS curve def - in real GL only
-
glxEndSurfaceIn: aGLXWindowId
-
end a NURBS surface def - in real GL only
-
glxNurbsSurfaceUKnotCount: uKnotCount uKnot: uKnot vKnotCount: vKnotCount vKnot: vKnot uOffset: uOffset vOffset: vOffset ctlArray: ctlArray uOrder: uOrder vOrder: vOrder type: type in: aGLXWindowId
-
-
glxPatchBasisU: u v: v in: aGLXWindowId
-
set the two basis matrices for a patch
-
glxPatchCurvesU: u v: v in: aGLXWindowId
-
set the number of curves to be drawn in each direction on a patch
-
glxPatchPrecisionU: u v: v in: aGLXWindowId
-
set the patch precision
-
glxPatchX: arrayOf16XFloats y: arrayOf16YFloats z: arrayOf16ZFloats in: aGLXWindowId
-
Draws a bicubic patch.
arguments must be arrays of 16 floats containing the patch
-
glxRpatchX: arrayOf16XFloats y: arrayOf16YFloats z: arrayOf16ZFloats w: arrayOf16WFloats in: aGLXWindowId
-
Draws a rational bicubic patch.
arguments must be arrays of 16 floats containing the patch
pixel copy
-
glxRectcopyX1: x1 y1: y1 x2: x2 y2: y2 newx: newx newy: newy in: aGLXWindowId
-
copy a rectangular area in the view.
For now, this is only supported with a true GL.
readsource specifies which plane/buffer is affected by this operation.
pixel reading
-
glxReadpixelsTo: dest in: aGLXWindowId
-
read pixels from the view.
Dest must be an array and gets pixel values assigned,
reading n pixels starting at the current x/y coordinate (pixel coordinates).
For now, pixel-reading is only supported with a true GL.
Caveat: the number of pixels is limited to 256.
In double buffer mode, the backBuffer is read.
-
glxReadsource: src in: aGLXWindowId
-
specify what is read with folowing readPixels requests.
For now, pixel-reading is only supported with a true GL
-
glxRectreadX1: x1 y1: y1 x2: x2 y2: y2 h: viewHeight to: dest in: aGLXWindowId
-
read pixels from a rectanglular area.
Dest must be an array and gets pixel values assigned,
reading n*m pixels.
For now, pixel-reading is only supported with a true GL.
Caveat: the number of pixels is limited to 256.
In double buffer mode, the backBuffer is read.
-
glxXColorToGLColor: pixel
-
only for VOGL: given a pixel as read from the view,
return the corresponding GL color
-
vglGetPixelX: x y: y in: aGLXWindowId
-
special for VGL
points
-
glxPnt2X: x y: y in: aGLXWindowId
-
plot a point in x, y, 0.
-
glxPnt2iX: x y: y in: aGLXWindowId
-
plot a point in x, y, 0.
-
glxPnt2sX: x y: y in: aGLXWindowId
-
plot a point in x, y, 0.
-
glxPntX: x y: y z: z in: aGLXWindowId
-
plot a point in x, y, z.
-
glxPntiX: x y: y z: z in: aGLXWindowId
-
plot a point in x, y, z.
-
glxPntsX: x y: y z: z in: aGLXWindowId
-
plot a point in x, y, z.
-
glxPntsize: n in: aGLXWindowId
-
-
glxPntsizef: n in: aGLXWindowId
-
polygons
-
glxBackface: b in: aGLXWindowId
-
enable/disable culling of backfacing polygons (suppress its drawing).
A polygon is backfacing if it's orientation in *screen* coords is clockwise
-
glxConcave: b in: aGLXWindowId
-
signal whether or not polygons are concave
-
glxFrontface: b in: aGLXWindowId
-
enable/disable culling of frontfacing polygons (suppress its drawing).
A polygon is frontfacing if it's orientation in *screen* coords is
anti-clockwise
-
glxPdr2X: x y: y in: aGLXWindowId
-
add another vertex to the polygon
-
glxPdr2iX: x y: y in: aGLXWindowId
-
add another vertex to the polygon
-
glxPdr2sX: x y: y in: aGLXWindowId
-
add another vertex to the polygon
-
glxPdrX: x y: y z: z in: aGLXWindowId
-
add another vertex to the polygon
-
glxPdriX: x y: y z: z in: aGLXWindowId
-
add another vertex to the polygon
-
glxPdrsX: x y: y z: z in: aGLXWindowId
-
add another vertex to the polygon
-
glxPmv2X: x y: y in: aGLXWindowId
-
set the start position of a polygon
-
glxPmv2iX: x y: y in: aGLXWindowId
-
set the start position of a polygon
-
glxPmv2sX: x y: y in: aGLXWindowId
-
set the start position of a polygon
-
glxPmvX: x y: y z: z in: aGLXWindowId
-
set the start position of a polygon
-
glxPmviX: x y: y z: z in: aGLXWindowId
-
set the start position of a polygon
-
glxPmvsX: x y: y z: z in: aGLXWindowId
-
set the start position of a polygon
-
glxPolymode: mode in: aGLXWindowId
-
Sets the polygon filling mode - only filled (1) or outlined (0)
are supported
-
glxRpdr2X: x y: y in: aGLXWindowId
-
add another relative vertex to the polygon
-
glxRpdr2iX: x y: y in: aGLXWindowId
-
add another relative vertex to the polygon
-
glxRpdr2sX: x y: y in: aGLXWindowId
-
add another relative vertex to the polygon
-
glxRpdrX: x y: y z: z in: aGLXWindowId
-
add another relative vertex to the polygon
-
glxRpdriX: x y: y z: z in: aGLXWindowId
-
add another relative vertex to the polygon
-
glxRpdrsX: x y: y z: z in: aGLXWindowId
-
add another relative vertex to the polygon
-
glxRpmv2X: x y: y in: aGLXWindowId
-
set the start position of a polygon
-
glxRpmv2iX: x y: y in: aGLXWindowId
-
set the start position of a polygon
-
glxRpmv2sX: x y: y in: aGLXWindowId
-
set the relative start position of a polygon
-
glxRpmvX: x y: y z: z in: aGLXWindowId
-
set the relative start position of a polygon
-
glxRpmviX: x y: y z: z in: aGLXWindowId
-
set the relative start position of a polygon
-
glxRpmvsX: x y: y z: z in: aGLXWindowId
-
set the relative start position of a polygon
queries
-
glVersion
-
return a string describing the GL version.
For informative use only; portable applications do not depend
on the returned string.
Usage example(s):
-
glxGetplanesIn: aGLXWindowId
-
Returns the number if bit planes available on the device.
-
hasStereoExtension
-
return true, if this workstation supports stereo GL drawing.
Both the server must support it, and the feature must have been
enabled in the smalltalk system, for true to be returned.
Usage example(s):
Display hasStereoExtension
|
-
isOpenGL
-
return true, if this is an openGL (as opposed to a GL)
-
isTrueGL
-
return true, if this is a true GL (as opposed to a simulated VOGL).
Returns false for all openGL systems.
-
maxZValue
-
return the max. Z value (only valid if z-buffer is supported)
-
supportsDoubleBuffer
-
return true, if this gl workstation supports double buffering.
For portable applications, always combine this with a query
if the display supports GL drawing at all.
Usage example(s):
Display supportsDoubleBuffer
|
-
supportsGLDrawing
-
return true, if this device supports 3D GL drawing.
Usage example(s):
Display supportsGLDrawing
|
-
supportsLight
-
return true, if this gl workstation supports light sources
(i.e. if it's a real GL).
For portable applications, always combine this with a query
if the display supports GL drawing at all.
Usage example(s):
-
supportsRGB
-
return true, if this gl workstation supports rgb
(in addition to indexed) colors. Actually, we return true
for a real GL engine, false for the simulator here.
For portable applications, always combine this with a query
if the display supports GL drawing at all.
Usage example(s):
-
supportsTextures
-
return true, if this gl workstation supports texture mapping
(i.e. if it's a real GL).
For portable applications, always combine this with a query
if the display supports GL drawing at all.
Usage example(s):
-
supportsZBuffer
-
return true, if this gl workstation has z buffer support.
For portable applications, always combine this with a query
if the display supports GL drawing at all.
Usage example(s):
rectangles
-
glxRectX1: x1 y1: y1 x2: x2 y2: y2 in: aGLXWindowId
-
-
glxRectfX1: x1 y1: y1 x2: x2 y2: y2 in: aGLXWindowId
-
-
glxRectfiX1: x1 y1: y1 x2: x2 y2: y2 in: aGLXWindowId
-
-
glxRectfsX1: x1 y1: y1 x2: x2 y2: y2 in: aGLXWindowId
-
-
glxRectiX1: x1 y1: y1 x2: x2 y2: y2 in: aGLXWindowId
-
-
glxRectsX1: x1 y1: y1 x2: x2 y2: y2 in: aGLXWindowId
-
spheres
-
glxSphDraw: arrayOf4Floats in: aGLXWindowId
-
argument must be an array(a matrix) of 4 floats containing the
sphere - in real GL only
-
glxSphDrawX: x y: y z: z radius: r in: aGLXWindowId
-
arguments must be convertable to floats - in real GL only
-
glxSphfreeIn: aGLXWindowId
-
-
glxSphgnpolysIn: aGLXWindowId
-
-
glxSphmode: attribute value: value in: aGLXWindowId
-
-
glxSphobj: objid in: aGLXWindowId
-
-
glxSphrotmatrix: mat in: aGLXWindowId
-
stereo extension
-
glxLeftbuffer: bool in: aGLXWindowId
-
-
glxMonobufferIn: aGLXWindowId
-
-
glxRightbuffer: bool in: aGLXWindowId
-
-
stereoExtensionBuffer: aBufferSymbol for: aWindowId
-
set the current stereo buffer; the argument may be one of:
#left -> STEREO_BUFFER_LEFT
#right -> STEREO_BUFFER_RIGHT
Usage example(s):
|t v|
t := StandardSystemView new.
t extent:300@300.
v := GLXView origin:0.0@0.0 corner:1.0@1.0 in:t.
t openAndWaitUntilVisible.
v device stereoExtensionBuffer:#left for:(v id).
(Delay forSeconds:10) wait.
v device stereoExtensionBuffer:#right for:(v id).
|
-
stereoExtensionMode: aModeSymbol height: h offset: o for: aWindowId
-
set the current stereo mode; the argument may be one of:
nil/false #off -> turn it off
#bottom -> STEREO_BOTTOM
#top -> STEREO_TOP
Usage example(s):
Display stereoExtensionMode:#top height:492 offset:532 for:(Display rootWindowId).
(Delay forSeconds:10) wait.
Display stereoExtensionMode:#off height:0 offset:0 for:(Display rootWindowId).
|
-
stereoExtensionModeIn: aWindowId
-
return the current stereo mode for some window
Usage example(s):
|v|
v := StandardSystemView new.
v extent:300@300.
v openAndWaitUntilVisible.
v device stereoExtensionModeIn:(v id)
Display stereoExtensionModeIn:Display rootWindowId
|
-
stereoExtensionVersion
-
return the stereo extensions version as an array consisting of
major and minor numbers.
Usage example(s):
Display stereoExtensionVersion
|
texture data transfer
-
glxT2d: v in: aGLXWindowId
-
-
glxT2f: v in: aGLXWindowId
-
-
glxT2i: v in: aGLXWindowId
-
-
glxT2s: v in: aGLXWindowId
-
-
glxT3d: v in: aGLXWindowId
-
-
glxT3f: v in: aGLXWindowId
-
-
glxT3i: v in: aGLXWindowId
-
-
glxT3s: v in: aGLXWindowId
-
-
glxT4d: v in: aGLXWindowId
-
-
glxT4f: v in: aGLXWindowId
-
-
glxT4i: v in: aGLXWindowId
-
-
glxT4s: v in: aGLXWindowId
-
transformations
-
glxRotate: angle axis: axis in: aGLXWindowId
-
rotate the current matrix around the axis given by the axis arg,
which must be one of the symbols: #x, #y or #z.
The angle is in degrees.
-
glxRotate: arrayOf3Floats in: aGLXWindowId
-
rotate current matrix, given a 3-element vector (or more).
The elements of the array are degrees.
-
glxRotateI: angle axis: axis in: aGLXWindowId
-
rotate the current matrix around the axis given by the axis arg,
which must be one of the symbols: #x, #y or #z.
The angle is an integer specifying tenths of a degree.
-
glxRotateIX: angle in: aGLXWindowId
-
rotate the current matrix on x axis.
The angle is an integer specifying tenths of a degree.
-
glxRotateIX: xAngle y: yAngle z: zAngle in: aGLXWindowId
-
rotate the current matrix on all axes, given individual x, y and z values.
The values are smallIntegers specifying tenths of a degree.
-
glxRotateIY: angle in: aGLXWindowId
-
rotate the current matrix on x axis.
The angle is an integer specifying tenths of a degree.
-
glxRotateIZ: angle in: aGLXWindowId
-
rotate the current matrix on x axis.
The angle is an integer specifying tenths of a degree.
-
glxRotateX: angle in: aGLXWindowId
-
rotate the current matrix on x axis.
The angle is in degrees.
-
glxRotateX: xAngle y: yAngle z: zAngle in: aGLXWindowId
-
rotate the current matrix on all axes, given individual x, y and z values.
The values are in degrees
-
glxRotateY: angle in: aGLXWindowId
-
rotate the current matrix on y axis.
The angle is in degrees.
-
glxRotateZ: angle in: aGLXWindowId
-
rotate the current matrix on z axis.
The angle is in degrees.
-
glxScale: arrayOf3Floats in: aGLXWindowId
-
scale current matrix, given a 3-element vector
-
glxScaleX: x in: aGLXWindowId
-
scale in x direction
-
glxScaleX: x y: y z: z in: aGLXWindowId
-
scale & mirror current matrix, given individual x, y and z values
-
glxScaleY: y in: aGLXWindowId
-
scale in y direction
-
glxScaleZ: z in: aGLXWindowId
-
scale in z direction
-
glxTranslate: arrayOf3Floats in: aGLXWindowId
-
translate current matrix, given a 3-element vector
-
glxTranslateX: x in: aGLXWindowId
-
translate current matrix on X axis
-
glxTranslateX: x y: y z: z in: aGLXWindowId
-
translate current matrix, given individual x, y and z values
-
glxTranslateY: y in: aGLXWindowId
-
translate current matrix on Y axis
-
glxTranslateZ: z in: aGLXWindowId
-
translate current matrix on Z axis
unspecified rest
-
glxAcbufOp: op value: value in: aGLXWindowId
-
-
glxAcsizePlanes: planes in: aGLXWindowId
-
-
glxAfunctionRef: ref func: func in: aGLXWindowId
-
-
glxBbox2Xmin: xmin ymin: ymin x1: x1 y1: y1 x2: x2 y2: y2 in: aGLXWindowId
-
-
glxBbox2iXmin: xmin ymin: ymin x1: x1 y1: y1 x2: x2 y2: y2 in: aGLXWindowId
-
-
glxBbox2sXmin: xmin ymin: ymin x1: x1 y1: y1 x2: x2 y2: y2 in: aGLXWindowId
-
-
glxBeginTrimIn: aGLXWindowId
-
-
glxBlankscreen: b in: aGLXWindowId
-
-
glxBlanktime: count in: aGLXWindowId
-
-
glxBlendcolorRed: red green: green blue: blue alpha: alpha in: aGLXWindowId
-
-
glxBlendfunctionSfactr: sfactr dfactr: dfactr in: aGLXWindowId
-
-
glxBlinkRate: rate i: i red: red green: green blue: blue in: aGLXWindowId
-
-
glxBlkqreadData: data n: n in: aGLXWindowId
-
-
glxC3f: v in: aGLXWindowId
-
-
glxC3i: v in: aGLXWindowId
-
-
glxC3s: v in: aGLXWindowId
-
-
glxC4f: v in: aGLXWindowId
-
-
glxC4i: v in: aGLXWindowId
-
-
glxC4s: v in: aGLXWindowId
-
-
glxClearhitcodeIn: aGLXWindowId
-
-
glxClipplaneIndex: index mode: mode params: params in: aGLXWindowId
-
-
glxCmodeIn: aGLXWindowId
-
-
glxColorfIndex: index in: aGLXWindowId
-
-
glxCuroriginN: n xorigin: xorigin yorigin: yorigin in: aGLXWindowId
-
-
glxCursoffIn: aGLXWindowId
-
-
glxCursonIn: aGLXWindowId
-
-
glxCurstype: type in: aGLXWindowId
-
-
glxCyclemapDuration: duration map: map nxtmap: nxtmap in: aGLXWindowId
-
-
glxDefpatternN: n size: size mask: mask in: aGLXWindowId
-
-
glxDeltag: t in: aGLXWindowId
-
-
glxDepthcueMode: mode in: aGLXWindowId
-
-
glxDitherMode: mode in: aGLXWindowId
-
-
glxDopup: pup in: aGLXWindowId
-
-
glxDrawmode: mode in: aGLXWindowId
-
-
glxEditobj: obj in: aGLXWindowId
-
-
glxEndTrimIn: aGLXWindowId
-
-
glxEndfullscrnIn: aGLXWindowId
-
-
glxEndpupmodeIn: aGLXWindowId
-
-
glxFinishIn: aGLXWindowId
-
-
glxFont: fntnum in: aGLXWindowId
-
-
glxForegroundIn: aGLXWindowId
-
-
glxFreepup: pup in: aGLXWindowId
-
-
glxFudgeXfudge: xfudge yfudge: yfudge in: aGLXWindowId
-
-
glxFullscrnIn: aGLXWindowId
-
-
glxGbeginIn: aGLXWindowId
-
-
glxGentagIn: aGLXWindowId
-
-
glxGetbackfaceIn: aGLXWindowId
-
-
glxGetbufferIn: aGLXWindowId
-
-
glxGetbutton: num in: aGLXWindowId
-
-
glxGetcmmodeIn: aGLXWindowId
-
-
glxGetcolorIn: aGLXWindowId
-
return the current drawing color
-
glxGetdcmIn: aGLXWindowId
-
-
glxGetdescenderIn: aGLXWindowId
-
-
glxGetdisplaymodeIn: aGLXWindowId
-
-
glxGetdrawmodeIn: aGLXWindowId
-
-
glxGetfontIn: aGLXWindowId
-
-
glxGetgconfigBuffer: buffer in: aGLXWindowId
-
-
glxGetgdescInquiry: inquiry in: aGLXWindowId
-
-
glxGetheightIn: aGLXWindowId
-
-
glxGethitcodeIn: aGLXWindowId
-
-
glxGetlsbackupIn: aGLXWindowId
-
-
glxGetlsrepeatIn: aGLXWindowId
-
-
glxGetlstyleIn: aGLXWindowId
-
-
glxGetlwidthIn: aGLXWindowId
-
-
glxGetmapIn: aGLXWindowId
-
-
glxGetmmodeIn: aGLXWindowId
-
-
glxGetmonitorIn: aGLXWindowId
-
-
glxGetmultisampleIn: aGLXWindowId
-
-
glxGetothermonitorIn: aGLXWindowId
-
-
glxGetpatternIn: aGLXWindowId
-
-
glxGetresetlsIn: aGLXWindowId
-
-
glxGetshadeIn: aGLXWindowId
-
-
glxGetsmIn: aGLXWindowId
-
-
glxGetvaluator: dev in: aGLXWindowId
-
-
glxGetvideo: reg in: aGLXWindowId
-
-
glxGetwritemaskIn: aGLXWindowId
-
-
glxGetwscrnIn: aGLXWindowId
-
-
glxGetzbufferIn: aGLXWindowId
-
-
glxGexitIn: aGLXWindowId
-
-
glxGflushIn: aGLXWindowId
-
-
glxGinitIn: aGLXWindowId
-
-
glxGlcompatMode: mode value: value in: aGLXWindowId
-
-
glxGresetIn: aGLXWindowId
-
-
glxGsyncIn: aGLXWindowId
-
-
glxIconsizeX: x y: y in: aGLXWindowId
-
-
glxImakebackgroundIn: aGLXWindowId
-
-
glxInitnamesIn: aGLXWindowId
-
-
glxIsqueued: dev in: aGLXWindowId
-
-
glxIstag: t in: aGLXWindowId
-
-
glxKeepaspectX: x y: y in: aGLXWindowId
-
-
glxLinesmoothMode: mode in: aGLXWindowId
-
-
glxLmcolorMode: mode in: aGLXWindowId
-
-
glxLoadname: name in: aGLXWindowId
-
-
glxLogicop: opcode in: aGLXWindowId
-
-
glxLsbackup: b in: aGLXWindowId
-
-
glxLsetdepthNear: znear far: zfar in: aGLXWindowId
-
-
glxLshaderangeLowin: lowin hiwin: hiwin znear: znear zfar: zfar in: aGLXWindowId
-
-
glxLsrepeatFactor: factor in: aGLXWindowId
-
-
glxMaketag: t in: aGLXWindowId
-
-
glxMaxsizeX: x y: y in: aGLXWindowId
-
-
glxMinsizeX: x y: y in: aGLXWindowId
-
-
glxMsalphaMode: mode in: aGLXWindowId
-
-
glxMsmask: mask inverse: inverse in: aGLXWindowId
-
-
glxMspattern: pattern in: aGLXWindowId
-
-
glxMssizeSamples: samples zsize: zsize ssize: ssize in: aGLXWindowId
-
-
glxMswapbuffers: fbuf in: aGLXWindowId
-
-
glxMultimapIn: aGLXWindowId
-
-
glxMultisample: bool in: aGLXWindowId
-
-
glxNewpupIn: aGLXWindowId
-
-
glxNewtag: newtg oldtg: oldtg offst: offst in: aGLXWindowId
-
-
glxNoborderIn: aGLXWindowId
-
-
glxNoise: v delta: delta in: aGLXWindowId
-
-
glxNoportIn: aGLXWindowId
-
-
glxNurbscurveKnotCount: knotCount knotList: knotList offset: offset ctlArray: ctlArray order: order type: type in: aGLXWindowId
-
-
glxObjdeleteTag1: tag1 tag2: tag2 in: aGLXWindowId
-
-
glxObjinsert: t in: aGLXWindowId
-
-
glxObjreplace: t in: aGLXWindowId
-
-
glxOnemapIn: aGLXWindowId
-
-
glxPagecolor: pcolor in: aGLXWindowId
-
-
glxPassthroughToken: token in: aGLXWindowId
-
-
glxPclosIn: aGLXWindowId
-
-
glxPicksizeX: x y: y in: aGLXWindowId
-
-
glxPixmode: mode value: value in: aGLXWindowId
-
-
glxPntsmoothMode: mode in: aGLXWindowId
-
-
glxPolysmoothMode: mode in: aGLXWindowId
-
-
glxPopnameIn: aGLXWindowId
-
-
glxPrefpositionX1: x1 x2: x2 y1: y1 y2: y2 in: aGLXWindowId
-
-
glxPrefsizeX: x y: y in: aGLXWindowId
-
-
glxPupmodeIn: aGLXWindowId
-
-
glxPushname: name In: aGLXWindowId
-
-
glxQdevice: dev in: aGLXWindowId
-
-
glxQenterDev: dev val: val in: aGLXWindowId
-
-
glxQgetfdIn: aGLXWindowId
-
-
glxQreadIn: aGLXWindowId
-
-
glxQresetIn: aGLXWindowId
-
-
glxQtestIn: aGLXWindowId
-
-
glxRGBcursorIndex: index red: red green: green blue: blue redm: redm greenm: greenm bluem: bluem in: aGLXWindowId
-
-
glxRGBwritemaskRed: red green: green blue: blue in: aGLXWindowId
-
-
glxRectzoomX: xfactor y: yfactor in: aGLXWindowId
-
-
glxResetls: b in: aGLXWindowId
-
-
glxRingbellIn: aGLXWindowId
-
-
glxSboxX1: x1 y1: y1 x2: x2 y2: y2 in: aGLXWindowId
-
-
glxSboxfX1: x1 y1: y1 x2: x2 y2: y2 in: aGLXWindowId
-
-
glxSboxfiX1: x1 y1: y1 x2: x2 y2: y2 in: aGLXWindowId
-
-
glxSboxfsX1: x1 y1: y1 x2: x2 y2: y2 in: aGLXWindowId
-
-
glxSboxiX1: x1 y1: y1 x2: x2 y2: y2 in: aGLXWindowId
-
-
glxSboxsX1: x1 y1: y1 x2: x2 y2: y2 in: aGLXWindowId
-
-
glxSclearSval: sval in: aGLXWindowId
-
-
glxScrbox: arg in: aGLXWindowId
-
-
glxScreenspaceIn: aGLXWindowId
-
-
glxScrmaskLeft: left right: right bottom: bottom top: top in: aGLXWindowId
-
-
glxScrnattach: gsnr in: aGLXWindowId
-
-
glxScrnselect: gsnr in: aGLXWindowId
-
-
glxSetcursorIndex: index color: color wtn: wtn in: aGLXWindowId
-
-
glxSetdblightsMask: mask in: aGLXWindowId
-
-
glxSetdepthNear: znear far: zfar in: aGLXWindowId
-
-
glxSetmap: mapnum in: aGLXWindowId
-
-
glxSetmonitor: mtype in: aGLXWindowId
-
-
glxSetnurbsproperty: property value: value in: aGLXWindowId
-
-
glxSetpattern: index in: aGLXWindowId
-
-
glxSetpup: pup entry: entry mode: mode in: aGLXWindowId
-
-
glxSetvaluator: v init: init vmin: vmin vmax: vmax in: aGLXWindowId
-
-
glxSetvideo: reg value: value in: aGLXWindowId
-
-
glxShademodel: model in: aGLXWindowId
-
-
glxShaderangeLowin: lowin hiwin: hiwin z1: z1 z2: z2 in: aGLXWindowId
-
-
glxSmoothline: mode in: aGLXWindowId
-
-
glxStencilEnable: enable ref: ref func: func mask: mask fail: fail pass: pass zpass: zpass in: aGLXWindowId
-
-
glxStensize: planes in: aGLXWindowId
-
-
glxStepunitX: x y: y in: aGLXWindowId
-
-
glxSubpixel: b in: aGLXWindowId
-
-
glxSwapinterval: i in: aGLXWindowId
-
-
glxSwaptmeshIn: aGLXWindowId
-
-
glxSwinopen: parent in: aGLXWindowId
-
-
glxSwritemask: mask in: aGLXWindowId
-
-
glxTextinitIn: aGLXWindowId
-
-
glxTextportLeft: left right: right bottom: bottom top: top in: aGLXWindowId
-
-
glxTieB: b v1: v1 v2: v2 in: aGLXWindowId
-
-
glxTlutbind: target index: index in: aGLXWindowId
-
-
glxTpoffIn: aGLXWindowId
-
-
glxTponIn: aGLXWindowId
-
-
glxUnqdevice: dev in: aGLXWindowId
-
-
glxWmpack: pack in: aGLXWindowId
-
-
glxWritemask: wtm in: aGLXWindowId
-
-
glxXfpt2X: x y: y in: aGLXWindowId
-
-
glxXfpt2iX: x y: y in: aGLXWindowId
-
-
glxXfpt2sX: x y: y in: aGLXWindowId
-
-
glxXfpt4X: x y: y z: z w: w in: aGLXWindowId
-
-
glxXfpt4iX: x y: y z: z w: w in: aGLXWindowId
-
-
glxXfpt4sX: x y: y z: z w: w in: aGLXWindowId
-
-
glxXfptX: x y: y z: z in: aGLXWindowId
-
-
glxXfptiX: x y: y z: z in: aGLXWindowId
-
-
glxXfptsX: x y: y z: z in: aGLXWindowId
-
vertex data transfer
-
glxN3f: arrayOf3Floats in: aGLXWindowId
-
argument must be an array of 3 floats containing the
current vertex normal - in real GL only
-
glxV2d: v in: aGLXWindowId
-
pass a vertex; v must be a vector with 2 doubles; z is taken as 0
-
glxV2f: v in: aGLXWindowId
-
pass a vertex; v must be a vector with 2 floats; z is taken as 0
-
glxV2fX: x y: y in: aGLXWindowId
-
pass a vertex from individual x and y values; z is taken as 0.0
-
glxV2i: v in: aGLXWindowId
-
pass a vertex; v must be a vector with 2 longs; z is taken as 0
-
glxV2s: v in: aGLXWindowId
-
pass a vertex; v must be a vector with 2 shorts; z is taken as 0
-
glxV3d: v in: aGLXWindowId
-
pass a vertex; v must be a 3-element double-vector
-
glxV3f: v in: aGLXWindowId
-
pass a vertex; v must be a 3-element float-vector
-
glxV3fX: x y: y z: z in: aGLXWindowId
-
pass a vector from individual x, y and z (float) values
-
glxV3i: v in: aGLXWindowId
-
pass a vertex; v must be a vector with 3 longs
-
glxV3s: v in: aGLXWindowId
-
pass a vertex; v must be a vector with 3 shorts
-
glxV4d: v in: aGLXWindowId
-
pass a vertex; v must be a 4-element double-vector,
containing x, y, z and w
-
glxV4f: v in: aGLXWindowId
-
pass a vertex; v must be a 4-element float-vector,
containing x, y, z and w
-
glxV4i: v in: aGLXWindowId
-
pass a vertex; v must be a 4-element int-vector,
containing x, y, z and w
-
glxV4s: v in: aGLXWindowId
-
pass a vertex; v must be a 4-element short-vector,
containing x, y, z and w
-
glxVOriginIn: aGLXWindowId
-
pass a 0.0/0.0/0.0 vector.
This is the same as v3f:#(0.0 0.0 0.0), but, since its so
common, this somewhat faster method has been provided
-
glxVUnitXIn: aGLXWindowId
-
pass a 1.0/0.0/0.0 vector.
This is the same as v3f:#(1.0 0.0 0.0), but, since its so
common, this somewhat faster method has been provided
-
glxVUnitYIn: aGLXWindowId
-
pass a 0.0/1.0/0.0 vector.
This is the same as v3f:#(0.0 1.0 0.0), but, since its so
common, this somewhat faster method has been provided
-
glxVUnitZIn: aGLXWindowId
-
pass a 0.0/0.0/1.0 vector.
This is the same as v3f:#(0.0 0.0 1.0), but, since its so
common, this somewhat faster method has been provided
video and planes
-
glxOverlayPlanes: planes in: aGLXWindowId
-
-
glxStereobufferIn: aGLXWindowId
-
-
glxUnderlay: planes in: aGLXWindowId
-
-
glxVideocmd: cmd in: aGLXWindowId
-
viewing
-
glxLookatVx: vx vy: vy vz: vz px: px py: py pz: pz twist: twist in: aGLXWindowId
-
define viewing transformation
-
glxOrtho2Left: left right: right bottom: bottom top: top in: aGLXWindowId
-
define 2D orthogonal projection
-
glxOrthoLeft: left right: right bottom: bottom top: top near: znear far: zfar in: aGLXWindowId
-
define orthogonal projection
-
glxPerspectiveFovy: fovy aspect: aspect near: znear far: zfar in: aGLXWindowId
-
define perspective projection
-
glxPolarviewDist: dist azim: azim inc: inc twist: twist in: aGLXWindowId
-
-
glxPopviewportIn: aGLXWindowId
-
pops the top viewport off the viewport stack
-
glxPushviewportIn: aGLXWindowId
-
pushes the current viewport on the viewport stack
-
glxReshapeViewPortIn: aGLXWindowId
-
-
glxViewportLeft: left right: right bottom: bottom top: top in: aGLXWindowId
-
-
glxWindowLeft: left right: right bottom: bottom top: top near: znear far: zfar in: aGLXWindowId
-
this one was added independently by JEFF - kept for his programs ...
-
glxWindowLeft: left right: right top: top bottom: bottom near: znear far: zfar in: aGLXWindowId
-
define perspective viewing pyramid
window control
-
glxResizedView: aGLXWindowId width: width height: height
-
pass down resize info to the GL - this adjusts the viewport.
This only works with VGL or openGL
-
glxWinclose: gwid in: aGLXWindowId
-
-
glxWinconstraintsIn: aGLXWindowId
-
-
glxWindepth: gwid in: aGLXWindowId
-
-
glxWingetIn: aGLXWindowId
-
-
glxWinmoveX: x y: y in: aGLXWindowId
-
-
glxWinpopIn: aGLXWindowId
-
-
glxWinpositionX1: x1 y1: y1 x2: x2 y2: y2 in: aGLXWindowId
-
-
glxWinpushIn: aGLXWindowId
-
-
glxWinset: gwid in: aGLXWindowId
-
window creation
-
createGLXWindowFor: aView left: xpos top: ypos width: wwidth height: wheight type: glxType
-
-
unlinkGLXView: aGLXWindowId
-
remove X/GLX link
zbuffer
-
glxZbsize: planes in: aGLXWindowId
-
-
glxZbuffer: aBoolean in: aGLXWindowId
-
enable/disable z-buffer operation
-
glxZdraw: b in: aGLXWindowId
-
enable/disable drawing into the z-buffer
-
glxZfunction: func in: aGLXWindowId
-
set the z-buffer comparison function.
func may be either the numeric value or a symbol (preferred)
-
glxZsource: src in: aGLXWindowId
-
-
glxZwritemask: mask in: aGLXWindowId
-
|