Module graphics3d
- A library for programming simple 3D graphics in occam-pi
A library for programming simple 3D graphics in occam-pi.
This library provides for simple 3D graphics in occam-pi, using simple rasters.
Note: the general [serial] techniques/algorithms used in this library are based on code from lightsrc.cpp and glenz.cpp by Marcus Lindblom.
Index
-
Protocol
G3D.ALL.CONTROL
- Overall control for graphics pipeline-
Tag
reset.all
- Reset all components to default state
-
Tag
-
Protocol
G3D.GEN.CONTROL
- Polygon points generator control-
Tag
add.scale
- Add to the current scale -
Tag
add.trans
- Add to the current translation -
Tag
relink
- Reconnect I/O channels -
Tag
reset
- Reset generator to default state -
Tag
set.scale
- Absolutely set the scale -
Tag
set.trans
- Absolutely set the translation
-
Tag
- Channel type
G3D.GEN.LINK
- Channel type
G3D.GEN.LINK:
-
Constant
G3D.MAX.POLY.POINTS
- Maximum number of points in a polygon (see ) -
Constant
G3D.MAX.SCAN.HEIGHT
- Maximum height of any particular polygon -
Protocol
G3D.PGN.CONTROL
- Polygon generator control-
Tag
reset
- Reset polygon generator to default state -
Tag
set.backfaces
- Whether back faces of solid objects should be generated -
Tag
set.face.colour
- Set individual face colour -
Tag
set.face.colours
- Set all face colours -
Tag
set.polyid
- Set polygon ID (0-255) -
Tag
set.trimap
- Generate triangular polygons only
-
Tag
-
Record
G3D.POINT2
- Integer point in 2D space -
Record
G3D.POINT2.3
- Integer point in 2D space, original Z multiplied up -
Record
G3D.POINT2.3S
- Integer point in 2D space with size, original Z multiplied up -
Record
G3D.POINT3
- Real point in 3D space (REAL32s) -
Record
G3D.POINT3S
- Real point in 3D space (REAL32) with size -
Record
G3D.POLY
- General polygon in 2D space, orignal Z multiplied up -
Protocol
G3D.POLY.CLICK
- Used to provide information about polygon clicks, order is (id; x; y) -
Record
G3D.POLY.SCAN
- Scan-line converted polygon in 2D space -
Protocol
G3D.PRJ.CONTROL
- Polygon points 3D-to-2D projection control-
Tag
reset
- Reset projector to default state -
Tag
set.2dshift
- Set 2D translation -
Tag
set.3dshift
- Set 3D translation (applied before projection) -
Tag
set.scaling
- Set 2D scaling -
Tag
set.zdepth
- Set Z depth offset (pushes scene away from camera)
-
Tag
-
Protocol
G3D.PSC.CONTROL
- Polygon scan-line generator control-
Tag
reset
- Resets scan-line generator to default state -
Tag
set.zcolour
- Whether the pixel colour used is adjusted for Z depth
-
Tag
-
Protocol
G3D.RDR.CONTROL
- Polygon render (shader) control-
Tag
reset
- Resets shader to default state -
Tag
set.mode
- Set shader mode (see ) -
Tag
set.pixel
- Set pixel colour (for non-polygon rendering)
-
Tag
-
Channel type
G3D.RENDER.ENGINE
-
Variable
link?
- Link channel
-
Variable
- Channel type
G3D.RENDER.ENGINE:
-
Protocol
G3D.RENDER.ENGINE.LINK
- Graphics pipeline link protocol-
Tag
raster
- Raster to render on and forward -
Tag
set.next
- Set the next renderer in the pipeline
-
Tag
-
Group
G3D.RENDER.MODE
- polygon rendering modes-
Constant
G3D.RENDER.MODE.GLENZ
- Glenz-effect shading -
Constant
G3D.RENDER.MODE.HIDE
- No rendering -
Constant
G3D.RENDER.MODE.NONE
- Constant shading -
Constant
G3D.RENDER.MODE.NORM
- Normal vector based shading
-
Constant
-
Protocol
G3D.ROT.CONTROL
- Points rotation control-
Tag
add.increment
- Add to the increment -
Tag
reset
- Reset rotation to default state -
Tag
set.angle
- Absolutely set the angle of rotation -
Tag
set.increment
- Absolutely set the increment -
Tag
set.mode
- Set the rotation mode (see )
-
Tag
-
Group
G3D.ROTATE.MODE
- point/polygon rotation modes-
Constant
G3D.ROTATE.MODE.DEMO
- Demo-effect rotations -
Constant
G3D.ROTATE.MODE.NONE
- No rotation -
Constant
G3D.ROTATE.MODE.NX
- Negative rotate on X axis -
Constant
G3D.ROTATE.MODE.NY
- Negative rotate on Y axis -
Constant
G3D.ROTATE.MODE.NZ
- Negative rotate on Z axis -
Constant
G3D.ROTATE.MODE.X
- Rotate on X axis -
Constant
G3D.ROTATE.MODE.Y
- Rotate on Y axis -
Constant
G3D.ROTATE.MODE.Z
- Rotate on Z axis
-
Constant
-
Group
G3D.SCENE.RO
- Scene rotation ordering-
Constant
G3D.SCENE.RO.NONE
- No rotations applied -
Constant
G3D.SCENE.RO.X
- Rotate on X axis only -
Constant
G3D.SCENE.RO.XY
- Rotate on X then Y -
Constant
G3D.SCENE.RO.XYZ
- Rotate on X then Y then Z -
Constant
G3D.SCENE.RO.XZ
- Rotate on X then Z -
Constant
G3D.SCENE.RO.XZY
- Rotate on X then Z then Y -
Constant
G3D.SCENE.RO.Y
- Rotate on Y axis only -
Constant
G3D.SCENE.RO.YX
- Rotate on Y then X -
Constant
G3D.SCENE.RO.YXZ
- Rotate on Y then X then Z -
Constant
G3D.SCENE.RO.YZ
- Rotate on Y then Z -
Constant
G3D.SCENE.RO.YZX
- Rotate on Y then Z then X -
Constant
G3D.SCENE.RO.Z
- Rotate on Z axis only -
Constant
G3D.SCENE.RO.ZX
- Rotate on Z then X -
Constant
G3D.SCENE.RO.ZXY
- Rotate on Z then X then Y -
Constant
G3D.SCENE.RO.ZY
- Rotate on Z then Y -
Constant
G3D.SCENE.RO.ZYX
- Rotate on Z then Y then X
-
Constant
-
Channel type
G3D.SCENE.TRANS
-
Variable
link?
- Link channel
-
Variable
- Channel type
G3D.SCENE.TRANS:
-
Protocol
G3D.SCENE.TRANS.LINK
- Scene rotate pipeline link protocol-
Tag
reset
- Reset to default settings -
Tag
set.next
- Set the next scene transformer in a pipeline -
Tag
set.post.3dshift
- Set 3D shift (after rotation, determines camera position) -
Tag
set.pre.3dshift
- Set 3D shift (before rotation, determines centre of scene) -
Tag
set.rot.angles
- Set rotations in X, Y and Z planes -
Tag
set.rot.diffs
- Set differences for continuous rotation -
Tag
set.rot.order
- Set rotation order (see ) -
Tag
set.xyscale
- Set X-Y scaling (lens angle)
-
Tag
-
Protocol
G3D.SCL.CONTROL
- Points scaler control-
Tag
reset
- Reset scale to default state (1, 1, 1) -
Tag
set.3dscale
- Set 3D scaling
-
Tag
-
Protocol
G3D.TMR.CONTROL
- Graphics pipeline speed control-
Tag
faster
- Go faster -
Tag
pause
- Pause/unpause the rasters flowing through the network -
Tag
reset
- Resets the timer control -
Tag
set.fps
- Set frames-per-second absolutely -
Tag
slower
- Go slower
-
Tag
-
Protocol
G3D.TRN.CONTROL
- Points translation control-
Tag
reset
- Reset translation to default state (0, 0, 0) -
Tag
set.3dshift
- Set 3D translation
-
Tag
-
Data type
ZBUFFER
- Z-buffer is a 2D array of integers, passed around with rasters -
Process
butterfly.network
- Implements a butterfly that flaps around a particular path -
Process
butterfly.network.spawn
- Dynamically spawns a new 'butterfly.network' -
Process
chessboard.network
- Implements a basic chess board (zdepth style) -
Process
chessboard.network.spawn
- Spawns a new 'chessboard.network' -
Process
chessboardify.points
- Turns chessboard points into polygons -
Process
chessboardpoints.generator
- Chess board points generator -
Process
chessify.points
- Generates chess-style polygons from points -
Process
chesspiece.network
- Implements a basic chess piece (zdepth style) -
Process
chesspiece.network.spawn
- Dynamically spawns a new 'chesspiece.network' -
Process
chesspoints.generator
- Chess piece points generator -
Process
cogify.points
- Generates cog polygons from cog-points -
Process
cogpoints.generator
- Cog points generator -
Process
cubepoints.generator
- Cube point generator -
Process
cubify.points
- Generates cube polygons from cube points -
Process
fbypoints.generator
- Inmos butterfly logo generator -
Process
flatpolify.points
- Generates flat polygons from poly-points -
Process
flatpolypoints.generator
- Flat 3D polygon generator -
Process
flutterby.points
- Generates polygons representing the Inmos style butterfly logo -
Process
g3d.gen.control.delta
- Delta for protocol -
Process
g3d.pgn.control.delta
- Delta for protocol -
Process
g3d.point2.3.delta
- Delta for mobile arrays of the type -
Process
g3d.point2.3s.delta
- Delta for mobile arrays of the type -
Process
g3d.point2.delta
- Delta for mobile arrays of the type -
Process
g3d.point3.delta
- Delta for mobile arrays of the type -
Process
g3d.point3s.delta
- Delta for mobile arrays of the type -
Process
g3d.poly.delta
- Delta for mobile arrays of the type -
Process
g3d.poly.scan.delta
- Delta for mobile arrays of the type -
Process
g3d.prj.control.delta
- Delta for protocol -
Process
g3d.psc.control.delta
- Delta for protocol -
Process
g3d.rdr.control.delta
- Delta for protocol -
Process
g3d.rot.control.delta
- Delta for protocol -
Process
g3d.scene.camera
- Implements a standard camera, controlled by the user -
Process
g3d.scene.head
- Provides a scene "head", for combined rotation/translation/etc -
Process
g3d.scene.spawn
- Dynamically spawns a new scene head -
Process
glenz.cog.network
- Implements a basic "Glenz cog" -
Process
glenz.cog.network.spawn
- Dynamically spawns a new 'glenz.cog.network' -
Process
glenz.flatpoly.network
- Implements a basic regular polygon (glenz style) -
Process
glenz.flatpoly.network.spawn
- Dynamically spawns a new 'glenz.flatpoly.network' -
Process
glenz.network
- Implements a basic "Glenz cube" -
Process
glenz.network.spawn
- Dynamically spawns a new 'glenz.network' -
Process
glenz.network2
- Implements a basic "Glenz cube" -
Process
glenz.network2.spawn
- Dynamically spawns a new 'glenz.network2' -
Process
gridpoints.generator
- Flat grid points generator -
Process
normal.network
- Implements a basic "Normal cube" -
Process
normal.network.spawn
- Dynamically spawns a new 'normal.network' -
Process
normal.network2
- Implements a basic "Glenz cube" -
Process
normal.network2.spawn
- Dynamically spawns a new 'normal.network2' -
Process
planar.path
- Moves a 3D object around a plane following an elliptical path -
Process
points.3d.to.2d3
- Projects 3D points into 2D, preserves Z information -
Process
points.3ds.to.2d3s
- Projects 3D points into 2D, preserves Z information -
Process
points3d.rotate
- Point rotator -
Process
points3d.scale
- Point scaler -
Process
points3d.translate
- Point translator -
Process
points3d.transrotate
- Performs translation and rotation on 3D points (used in camera/scene handling) -
Process
points3d.transrotate.prj
- Performs translation and rotation on 3D points (used in camera/scene handling) -
Process
points3ds.rotate
- Point rotator -
Process
points3ds.transrotate
- Performs translation and rotation on 3D points (used in camera/scene handling) -
Process
points3ds.transrotate.prj
- Performs translation and rotation on 3D points (used in camera/scene handling) -
Process
poly.scanlines
- Converts polygons to scan-line data -
Process
raster.buffer
- Simple raster buffer -
Process
raster.chain
- Implements raster render chain -
Process
raster.chain.head
- Head of the raster render chain -
Process
raster.chain.tail
- Tail of the raster render chain -
Process
raster.clearer
- Clears rasters -
Process
raster.fader
- Fades rasters -
Process
raster.polyidclick
- Connects into the raster chain and event pipeline to extract IDs (0-255) of polygons -
Process
raster.polyidclick.pos
- Connects into the raster chain and event pipeline to extract IDs (0-255) of polygons -
Process
raster.timed.buffer
- Timed raster buffer -
Process
render.pointpairs
- Renders a set of lines -
Process
render.pointpairs.trigger
- Renders a set of lines -
Process
render.polyframe
- Renders polygons as a series of lines (wireframe) -
Process
render.polyframe.trigger
- Renders polygons as a series of lines (wireframe) -
Process
render.polyscans
- Renders polygon scan-line data onto a raster -
Process
render.polyscans.trigger
- Renders polygon scan-line data onto a raster, sends triggers back to generator process -
Process
render.spherepoint
- Renders a sphere -
Process
render.spherepoint.trigger
- Renders a sphere -
Process
rotate.orchestra1
- Orchestrates components -
Process
screen.cube
- Implements an on-screen cube showing the image boundary -
Process
screen.cube.spawn
- Dynamically spawns a new 'screen.cube' -
Process
spherepoint.generator
- Sphere generator (single) -
Process
squarepoints.generator
- Flat square point generator -
Process
squarify.points
- Generates square polygons from square points -
Process
zdepth.flatpoly.network
- Implements a basic regular polygon (zdepth style) -
Process
zdepth.flatpoly.network.spawn
- Dynamically spawns a new 'zdepth.flatpoly.network'
Declarations
graphics3d.occ
:95Process points3d.rotate
PROC points3d.rotate (CHAN MOBILE []G3D.POINT3 in?, out!, CHAN G3D.ROT.CONTROL ctrl?)
Point rotator. Rotates an arbitrary set of points around the origin, such that it passes through the same sequence of moves repeatedly (e.g. for a spinning cube). Can also be used for static rotation when set with a zero increment.
Parameters:
CHAN MOBILE []G3D.POINT3 |
in |
3D points in. |
CHAN MOBILE []G3D.POINT3 |
out |
3D points out. |
CHAN G3D.ROT.CONTROL |
ctrl |
Control channel. |
graphics3d.occ
:230Process points3ds.rotate
PROC points3ds.rotate (CHAN MOBILE []G3D.POINT3S in?, out!, CHAN G3D.ROT.CONTROL ctrl?)
Point rotator. Rotates an arbitrary set of points around the origin, such that it passes through the same sequence of moves repeatedly (e.g. for a spinning cube). Can also be used for static rotation when set with a zero increment.
Parameters:
CHAN MOBILE []G3D.POINT3S |
in |
3D points in. |
CHAN MOBILE []G3D.POINT3S |
out |
3D points out. |
CHAN G3D.ROT.CONTROL |
ctrl |
Control channel. |
graphics3d.occ
:365Process points3d.translate
PROC points3d.translate (CHAN MOBILE []G3D.POINT3 in?, out!, CHAN G3D.TRN.CONTROL ctrl?)
Point translator. Translates an arbitrary set of points in 3D space.
Parameters:
CHAN MOBILE []G3D.POINT3 |
in |
3D points in. |
CHAN MOBILE []G3D.POINT3 |
out |
3D points out. |
CHAN G3D.TRN.CONTROL |
ctrl |
Control channel. |
graphics3d.occ
:404Process points3d.scale
PROC points3d.scale (CHAN MOBILE []G3D.POINT3 in?, out!, CHAN G3D.SCL.CONTROL ctrl?)
Point scaler. Scales an arbitrary set of points in 3D space.
Parameters:
CHAN MOBILE []G3D.POINT3 |
in |
3D points in. |
CHAN MOBILE []G3D.POINT3 |
out |
3D points out. |
CHAN G3D.SCL.CONTROL |
ctrl |
Control channel. |
graphics3d.occ
:703Process points3d.transrotate
PROC points3d.transrotate (CHAN MOBILE []G3D.POINT3 in?, out!, G3D.SCENE.TRANS? ctrl)
Performs translation and rotation on 3D points (used in camera/scene handling).
Parameters:
CHAN MOBILE []G3D.POINT3 |
in |
3D points in. |
CHAN MOBILE []G3D.POINT3 |
out |
3D points out. |
G3D.SCENE.TRANS? |
ctrl |
Control channel-bundle end. |
graphics3d.occ
:717Process points3d.transrotate.prj
PROC points3d.transrotate.prj (CHAN MOBILE []G3D.POINT3 in?, out!, G3D.SCENE.TRANS? ctrl, CHAN G3D.PRJ.CONTROL prj.in?, prj.out!)
Performs translation and rotation on 3D points (used in camera/scene handling).
Parameters:
CHAN MOBILE []G3D.POINT3 |
in |
3D points in. |
CHAN MOBILE []G3D.POINT3 |
out |
3D points out. |
G3D.SCENE.TRANS? |
ctrl |
Control channel-bundle end. |
CHAN G3D.PRJ.CONTROL |
prj.in |
Projector control in. |
CHAN G3D.PRJ.CONTROL |
prj.out |
Projector control out. |
graphics3d.occ
:989Process points3ds.transrotate
PROC points3ds.transrotate (CHAN MOBILE []G3D.POINT3S in?, out!, G3D.SCENE.TRANS? ctrl)
Performs translation and rotation on 3D points (used in camera/scene handling).
Parameters:
CHAN MOBILE []G3D.POINT3S |
in |
3D points in. |
CHAN MOBILE []G3D.POINT3S |
out |
3D points out. |
G3D.SCENE.TRANS? |
ctrl |
Control channel-bundle end. |
graphics3d.occ
:1003Process points3ds.transrotate.prj
PROC points3ds.transrotate.prj (CHAN MOBILE []G3D.POINT3S in?, out!, G3D.SCENE.TRANS? ctrl, CHAN G3D.PRJ.CONTROL prj.in?, prj.out!)
Performs translation and rotation on 3D points (used in camera/scene handling).
Parameters:
CHAN MOBILE []G3D.POINT3S |
in |
3D points in. |
CHAN MOBILE []G3D.POINT3S |
out |
3D points out. |
G3D.SCENE.TRANS? |
ctrl |
Control channel-bundle end. |
CHAN G3D.PRJ.CONTROL |
prj.in |
Projector control in. |
CHAN G3D.PRJ.CONTROL |
prj.out |
Projector control out. |
graphics3d.occ
:1012Process g3d.scene.head
PROC g3d.scene.head (G3D.SCENE.TRANS? ctrl)
Provides a scene "head", for combined rotation/translation/etc.
Parameters:
G3D.SCENE.TRANS? |
ctrl |
Control channel-end. |
graphics3d.occ
:1138Process g3d.scene.spawn
PROC g3d.scene.spawn (RESULT G3D.SCENE.TRANS! rctl)
Dynamically spawns a new scene head.
Parameters:
RESULT G3D.SCENE.TRANS! |
rctl |
Returned control channel-end. |
graphics3d.occ
:1153Process g3d.scene.camera
PROC g3d.scene.camera (CHAN RASTER.EVENT ev.in?, CHAN G3D.SCENE.TRANS! sc.in?, G3D.SCENE.TRANS! sc.ctl)
Implements a standard camera, controlled by the user.
Parameters:
CHAN RASTER.EVENT |
ev.in |
Raster events. |
CHAN G3D.SCENE.TRANS! |
sc.in |
Scene control channel-ends in (added to chain). |
G3D.SCENE.TRANS! |
sc.ctl |
Scene control channel-end. |
graphics3d.occ
:1309Process points.3d.to.2d3
PROC points.3d.to.2d3 (CHAN MOBILE []G3D.POINT3 in?, CHAN MOBILE []G3D.POINT2.3 out!, CHAN G3D.PRJ.CONTROL ctrl?, VAL INT width, height)
Projects 3D points into 2D, preserves Z information. Maps a set of 3D points down into a set of 2D points, preserving the Z depth information for later operations.
Parameters:
CHAN MOBILE []G3D.POINT3 |
in |
3D points in. |
CHAN MOBILE []G3D.POINT2.3 |
out |
2D3 points out. |
CHAN G3D.PRJ.CONTROL |
ctrl |
Control channel. |
VAL INT |
width , height
|
Display dimensions. |
graphics3d.occ
:1390Process points.3ds.to.2d3s
PROC points.3ds.to.2d3s (CHAN MOBILE []G3D.POINT3S in?, CHAN MOBILE []G3D.POINT2.3S out!, CHAN G3D.PRJ.CONTROL ctrl?, VAL INT width, height)
Projects 3D points into 2D, preserves Z information. Maps a set of 3D points down into a set of 2D points, preserving the Z depth information for later operations.
Parameters:
CHAN MOBILE []G3D.POINT3S |
in |
3D points in. |
CHAN MOBILE []G3D.POINT2.3S |
out |
2D3 points out. |
CHAN G3D.PRJ.CONTROL |
ctrl |
Control channel. |
VAL INT |
width , height
|
Display dimensions. |
graphics3d.occ
:1495Process flatpolify.points
PROC flatpolify.points (CHAN MOBILE []G3D.POINT2.3 in?, VAL INT npoints, CHAN MOBILE []G3D.POLY out!, CHAN G3D.PGN.CONTROL ctrl?)
Generates flat polygons from poly-points. Expects to receive ((npoints * 2) + 2) points at a time, and from these generates a set of polygons that represents a flat 3D regular polygon.
Parameters:
CHAN MOBILE []G3D.POINT2.3 |
in |
Points in. |
VAL INT |
npoints |
Number of polygon points. |
CHAN MOBILE []G3D.POLY |
out |
Polygons out. |
CHAN G3D.PGN.CONTROL |
ctrl |
Control channel. |
graphics3d.occ
:1652Process cogify.points
PROC cogify.points (CHAN MOBILE []G3D.POINT2.3 in?, VAL INT nteeth, CHAN MOBILE []G3D.POLY out!, CHAN G3D.PGN.CONTROL ctrl?)
Generates cog polygons from cog-points. Expects to receive ((nteeth * 8) + 2) points at a time, and from these generates a set of polygons that represent a solid cog.
Parameters:
CHAN MOBILE []G3D.POINT2.3 |
in |
Points in. |
VAL INT |
nteeth |
Number of cog teeth. |
CHAN MOBILE []G3D.POLY |
out |
Polygons out. |
CHAN G3D.PGN.CONTROL |
ctrl |
Control channel. |
graphics3d.occ
:2011Process cubify.points
PROC cubify.points (CHAN MOBILE []G3D.POINT2.3 in?, CHAN MOBILE []G3D.POLY out!, CHAN G3D.PGN.CONTROL ctrl?)
Generates cube polygons from cube points. Expects to receive 8 points at a time, and from these generates a set of polygons that represent a cube. Characteristics are controllable through the control channel (e.g. skip hidden surfaces).
Parameters:
CHAN MOBILE []G3D.POINT2.3 |
in |
Points in (2D with Z-depth). |
CHAN MOBILE []G3D.POLY |
out |
Polygons out. |
CHAN G3D.PGN.CONTROL |
ctrl |
Control channel. |
graphics3d.occ
:2031Process flutterby.points
PROC flutterby.points (CHAN MOBILE []G3D.POINT2.3 in?, CHAN MOBILE []G3D.POLY out!, CHAN G3D.PGN.CONTROL ctrl?)
Generates polygons representing the Inmos style butterfly logo. Expects to receive 30 points at a time, and from these generates a set of polygons that represent the butterfly. Only the colour is controllable through the ctrl?
channel.
Parameters:
CHAN MOBILE []G3D.POINT2.3 |
in |
Points in (2D with Z-depth). |
CHAN MOBILE []G3D.POLY |
out |
Polygons out. |
CHAN G3D.PGN.CONTROL |
ctrl |
Control channel. |
graphics3d.occ
:2118Process squarify.points
PROC squarify.points (CHAN MOBILE []G3D.POINT2.3 in?, CHAN MOBILE []G3D.POLY out!, CHAN G3D.PGN.CONTROL ctrl?)
Generates square polygons from square points. Expects to receive 4 points at a time, and from these generates a polygon that represents a square. Characteristics are controllable through the control channel.
Parameters:
CHAN MOBILE []G3D.POINT2.3 |
in |
Points in (2D with Z-depth). |
CHAN MOBILE []G3D.POLY |
out |
Polygons out. |
CHAN G3D.PGN.CONTROL |
ctrl |
Control channel. |
graphics3d.occ
:2526Process poly.scanlines
PROC poly.scanlines (CHAN MOBILE []G3D.POLY in?, CHAN MOBILE []G3D.POLY.SCAN out!, CHAN G3D.PSC.CONTROL ctrl?, VAL INT width, height)
Converts polygons to scan-line data. Expects to receive sets of polygons on its input, which it then transforms into a set of G3D.POLY.SCAN structures.
Parameters:
CHAN MOBILE []G3D.POLY |
in |
Polygons input. |
CHAN MOBILE []G3D.POLY.SCAN |
out |
Scan-line data output. |
CHAN G3D.PSC.CONTROL |
ctrl |
Control channel. |
VAL INT |
width , height
|
Display dimensions. |
graphics3d.occ
:3212Process render.polyscans
PROC render.polyscans (CHAN MOBILE []G3D.POLY.SCAN data?, G3D.RENDER.ENGINE? rlink.in, CHAN G3D.RDR.CONTROL ctrl?, VAL INT width, height)
Renders polygon scan-line data onto a raster.
Parameters:
CHAN MOBILE []G3D.POLY.SCAN |
data |
Polygon scan-line data input. |
G3D.RENDER.ENGINE? |
rlink.in |
Raster I/O. |
CHAN G3D.RDR.CONTROL |
ctrl |
Control channel. |
VAL INT |
width , height
|
Display dimensions. |
graphics3d.occ
:3232Process render.polyscans.trigger
PROC render.polyscans.trigger (CHAN MOBILE []G3D.POLY.SCAN data?, G3D.RENDER.ENGINE? rlink.in, CHAN G3D.RDR.CONTROL ctrl?, CHAN INT trigger!, VAL INT width, height)
Renders polygon scan-line data onto a raster, sends triggers back to generator process.
Parameters:
CHAN MOBILE []G3D.POLY.SCAN |
data |
Polygon scan-line data input. |
G3D.RENDER.ENGINE? |
rlink.in |
Raster I/O. |
CHAN G3D.RDR.CONTROL |
ctrl |
Control channel. |
CHAN INT |
trigger |
Triggers for generator. |
VAL INT |
width , height
|
Display dimensions. |
graphics3d.occ
:3336Process render.polyframe
PROC render.polyframe (CHAN MOBILE []G3D.POLY data?, G3D.RENDER.ENGINE? rlink.in, CHAN G3D.RDR.CONTROL ctrl?, VAL INT width, height)
Renders polygons as a series of lines (wireframe).
Parameters:
CHAN MOBILE []G3D.POLY |
data |
Polygons input. |
G3D.RENDER.ENGINE? |
rlink.in |
Raster I/O. |
CHAN G3D.RDR.CONTROL |
ctrl |
Control channel. |
VAL INT |
width , height
|
Display dimensions. |
graphics3d.occ
:3351Process render.polyframe.trigger
PROC render.polyframe.trigger (CHAN MOBILE []G3D.POLY data?, G3D.RENDER.ENGINE? rlink.in, CHAN G3D.RDR.CONTROL ctrl?, CHAN INT trigger!, VAL INT width, height)
Renders polygons as a series of lines (wireframe).
Parameters:
CHAN MOBILE []G3D.POLY |
data |
Polygons input. |
G3D.RENDER.ENGINE? |
rlink.in |
Raster I/O. |
CHAN G3D.RDR.CONTROL |
ctrl |
Control channel. |
CHAN INT |
trigger |
Generator trigger channel. |
VAL INT |
width , height
|
Display dimensions. |
graphics3d.occ
:3438Process render.pointpairs
PROC render.pointpairs (CHAN MOBILE []G3D.POINT2.3 in?, G3D.RENDER.ENGINE? rlink.in, CHAN G3D.RDR.CONTROL ctrl?, VAL INT width, height)
Renders a set of lines. Expects pairs of points on its input channel (G3D.POINT2.3 style).
Parameters:
CHAN MOBILE []G3D.POINT2.3 |
in |
Sets of points to draw lines between. |
G3D.RENDER.ENGINE? |
rlink.in |
Render link. |
CHAN G3D.RDR.CONTROL |
ctrl |
Control channel for rendering. |
VAL INT |
width |
Width of render space. |
VAL INT |
height |
Height of render space. |
graphics3d.occ
:3454Process render.pointpairs.trigger
PROC render.pointpairs.trigger (CHAN MOBILE []G3D.POINT2.3 in?, G3D.RENDER.ENGINE? rlink.in, CHAN G3D.RDR.CONTROL ctrl?, CHAN INT trigger!, VAL INT width, height)
Renders a set of lines. Expects pairs of points on its input channel (G3D.POINT2.3 style).
Parameters:
CHAN MOBILE []G3D.POINT2.3 |
in |
Sets of points to draw lines between. |
G3D.RENDER.ENGINE? |
rlink.in |
Render link. |
CHAN G3D.RDR.CONTROL |
ctrl |
Control channel for rendering. |
CHAN INT |
trigger |
Trigger channel. |
VAL INT |
width |
Width of render space. |
VAL INT |
height |
Height of render space. |
graphics3d.occ
:3542Process render.spherepoint
PROC render.spherepoint (CHAN MOBILE []G3D.POINT2.3S in?, G3D.RENDER.ENGINE? rlink.in, CHAN G3D.RDR.CONTROL ctrl?, VAL INT width, height)
Renders a sphere. Expects sized points on its input channel (G3D.POINT2.3S style).
Parameters:
CHAN MOBILE []G3D.POINT2.3S |
in |
Sets of points to draw spheres at. |
G3D.RENDER.ENGINE? |
rlink.in |
Render link. |
CHAN G3D.RDR.CONTROL |
ctrl |
Control channel for rendering. |
VAL INT |
width |
Width of render space. |
VAL INT |
height |
Height of render space. |
graphics3d.occ
:3558Process render.spherepoint.trigger
PROC render.spherepoint.trigger (CHAN MOBILE []G3D.POINT2.3S in?, G3D.RENDER.ENGINE? rlink.in, CHAN G3D.RDR.CONTROL ctrl?, CHAN INT trigger!, VAL INT width, height)
Renders a sphere. Expects sized points on its input channel (G3D.POINT2.3S style).
Parameters:
CHAN MOBILE []G3D.POINT2.3S |
in |
Sets of points to draw spheres at. |
G3D.RENDER.ENGINE? |
rlink.in |
Render link. |
CHAN G3D.RDR.CONTROL |
ctrl |
Control channel for rendering. |
CHAN INT |
trigger |
Trigger channel. |
VAL INT |
width |
Width of render space. |
VAL INT |
height |
Height of render space. |
graphics3d.occ
:3572Process raster.chain.head
PROC raster.chain.head (CHAN RASTER in?, G3D.RENDER.ENGINE! head, CHAN G3D.RENDER.ENGINE! new.link?, VAL BOOL fade)
Head of the raster render chain.
Parameters:
CHAN RASTER |
in |
Rasters in. |
G3D.RENDER.ENGINE! |
head |
Head of raster render chain. |
CHAN G3D.RENDER.ENGINE! |
new.link |
Channel on which new rendering engines are added. |
VAL BOOL |
fade |
Whether to fade (TRUE) or clear (FALSE) rasters. |
graphics3d.occ
:3626Process raster.chain.tail
PROC raster.chain.tail (CHAN RASTER out!, G3D.RENDER.ENGINE? tail)
Tail of the raster render chain.
Parameters:
CHAN RASTER |
out |
Rasters out. |
G3D.RENDER.ENGINE? |
tail |
Tail of raster render chain. |
graphics3d.occ
:3648Process raster.chain
PROC raster.chain (CHAN RASTER in?, out!, CHAN G3D.RENDER.ENGINE! new.link?, VAL BOOL fade)
Implements raster render chain.
Parameters:
CHAN RASTER |
in |
Rasters in. |
CHAN RASTER |
out |
Rasters out. |
CHAN G3D.RENDER.ENGINE! |
new.link |
Channel on which new rendering engines are added. |
VAL BOOL |
fade |
Whether to fade (TRUE) or clear (FALSE) rasters. |
graphics3d.occ
:3671Process raster.polyidclick
PROC raster.polyidclick (CHAN RASTER in?, out!, CHAN RASTER.EVENT ev.in?, ev.out!, CHAN INT ids.out!, VAL INT dclk)
Connects into the raster chain and event pipeline to extract IDs (0-255) of polygons. Responds to single or double click.
Parameters:
CHAN RASTER |
in |
Rasters in. |
CHAN RASTER |
out |
Rasters out. |
CHAN RASTER.EVENT |
ev.in |
Events in. |
CHAN RASTER.EVENT |
ev.out |
Events out. |
CHAN INT |
ids.out |
Polygon IDs out (extracted from high 8 bits of the rendered pixel). |
VAL INT |
dclk |
Double click time (0 = single click). |
graphics3d.occ
:3765Process raster.polyidclick.pos
PROC raster.polyidclick.pos (CHAN RASTER in?, out!, CHAN RASTER.EVENT ev.in?, ev.out!, CHAN G3D.POLY.CLICK ids.out!, VAL INT dclk)
Connects into the raster chain and event pipeline to extract IDs (0-255) of polygons. Responds to single or double click.
Parameters:
CHAN RASTER |
in |
Rasters in. |
CHAN RASTER |
out |
Rasters out. |
CHAN RASTER.EVENT |
ev.in |
Events in. |
CHAN RASTER.EVENT |
ev.out |
Events out. |
CHAN G3D.POLY.CLICK |
ids.out |
Polygon IDs and absolute X-Y position out (extracted from high 8 bits of the rendered pixel). |
VAL INT |
dclk |
Double click time (0 = single click). |
rasterutil.occ
:30Process raster.buffer
PROC raster.buffer (CHAN RASTER in?, out!)
Simple raster buffer. Basic raster buffer process.
Parameters:
CHAN RASTER |
in |
Rasters in |
CHAN RASTER |
out |
Rasters out |
rasterutil.occ
:46Process raster.timed.buffer
PROC raster.timed.buffer (CHAN RASTER in?, out!, VAL INT fps, CHAN G3D.TMR.CONTROL ctrl?)
Timed raster buffer. Basic raster buffer process, but limits speed through at specified number of frames-per-second.
Parameters:
CHAN RASTER |
in |
Rasters in |
CHAN RASTER |
out |
Rasters out |
VAL INT |
fps |
Frames per second |
CHAN G3D.TMR.CONTROL |
ctrl |
Control channel |
rasterutil.occ
:104Process raster.fader
PROC raster.fader (CHAN RASTER in?, out!)
Fades rasters. Raster buffer that reduces the colour level of each of the components.
Parameters:
CHAN RASTER |
in |
Rasters in |
CHAN RASTER |
out |
Rasters out |
rasterutil.occ
:126Process raster.clearer
PROC raster.clearer (CHAN RASTER in?, out!)
Clears rasters. Raster buffer that clears rasters as they go through.
Parameters:
CHAN RASTER |
in |
Rasters in |
CHAN RASTER |
out |
Rasters out |
graphics3d.inc
:41Constant G3D.MAX.POLY.POINTS
VAL INT G3D.MAX.POLY.POINTS
Maximum number of points in a polygon (see G3D.POLY
).
graphics3d.inc
:44Constant G3D.MAX.SCAN.HEIGHT
VAL INT G3D.MAX.SCAN.HEIGHT
Maximum height of any particular polygon.
graphics3d.inc
:46Group G3D.RENDER.MODE
polygon rendering modes.
graphics3d.inc
:47Constant G3D.RENDER.MODE.NONE
VAL INT G3D.RENDER.MODE.NONE
Constant shading.
graphics3d.inc
:48Constant G3D.RENDER.MODE.GLENZ
VAL INT G3D.RENDER.MODE.GLENZ
Glenz-effect shading.
graphics3d.inc
:49Constant G3D.RENDER.MODE.NORM
VAL INT G3D.RENDER.MODE.NORM
Normal vector based shading.
graphics3d.inc
:50Constant G3D.RENDER.MODE.HIDE
VAL INT G3D.RENDER.MODE.HIDE
No rendering.
graphics3d.inc
:52Group G3D.ROTATE.MODE
point/polygon rotation modes.
graphics3d.inc
:53Constant G3D.ROTATE.MODE.NONE
VAL INT G3D.ROTATE.MODE.NONE
No rotation.
graphics3d.inc
:54Constant G3D.ROTATE.MODE.DEMO
VAL INT G3D.ROTATE.MODE.DEMO
Demo-effect rotations.
graphics3d.inc
:55Constant G3D.ROTATE.MODE.X
VAL INT G3D.ROTATE.MODE.X
Rotate on X axis.
graphics3d.inc
:56Constant G3D.ROTATE.MODE.NX
VAL INT G3D.ROTATE.MODE.NX
Negative rotate on X axis.
graphics3d.inc
:57Constant G3D.ROTATE.MODE.Y
VAL INT G3D.ROTATE.MODE.Y
Rotate on Y axis.
graphics3d.inc
:58Constant G3D.ROTATE.MODE.NY
VAL INT G3D.ROTATE.MODE.NY
Negative rotate on Y axis.
graphics3d.inc
:59Constant G3D.ROTATE.MODE.Z
VAL INT G3D.ROTATE.MODE.Z
Rotate on Z axis.
graphics3d.inc
:60Constant G3D.ROTATE.MODE.NZ
VAL INT G3D.ROTATE.MODE.NZ
Negative rotate on Z axis.
graphics3d.inc
:66Record G3D.POINT3
DATA TYPE G3D.POINT3
Real point in 3D space (REAL32s).
graphics3d.inc
:72Record G3D.POINT3S
DATA TYPE G3D.POINT3S
Real point in 3D space (REAL32) with size.
graphics3d.inc
:79Record G3D.POINT2.3
DATA TYPE G3D.POINT2.3
Integer point in 2D space, original Z multiplied up.
graphics3d.inc
:85Record G3D.POINT2
DATA TYPE G3D.POINT2
Integer point in 2D space.
graphics3d.inc
:91Record G3D.POINT2.3S
DATA TYPE G3D.POINT2.3S
Integer point in 2D space with size, original Z multiplied up.
graphics3d.inc
:100Record G3D.POLY
DATA TYPE G3D.POLY
General polygon in 2D space, orignal Z multiplied up.
graphics3d.inc
:112Record G3D.POLY.SCAN
DATA TYPE G3D.POLY.SCAN
Scan-line converted polygon in 2D space.
graphics3d.inc
:128Data type ZBUFFER
DATA TYPE ZBUFFER
Z-buffer is a 2D array of integers, passed around with rasters.
graphics3d.inc
:133Channel type G3D.GEN.LINK:
CHAN TYPE G3D.GEN.LINK:
graphics3d.inc
:136Protocol G3D.GEN.CONTROL
PROTOCOL G3D.GEN.CONTROL
Polygon points generator control.
graphics3d.inc
:138Tag reset
reset
Reset generator to default state.
graphics3d.inc
:139Tag add.scale
add.scale; [3]REAL32
Add to the current scale.
graphics3d.inc
:140Tag set.scale
set.scale; [3]REAL32
Absolutely set the scale.
graphics3d.inc
:141Tag add.trans
add.trans; [3]REAL32
Add to the current translation.
graphics3d.inc
:142Tag set.trans
set.trans; [3]REAL32
Absolutely set the translation.
graphics3d.inc
:143Tag relink
relink; G3D.GEN.LINK?
Reconnect I/O channels.
graphics3d.inc
:147Protocol G3D.ROT.CONTROL
PROTOCOL G3D.ROT.CONTROL
Points rotation control.
graphics3d.inc
:149Tag reset
reset
Reset rotation to default state.
graphics3d.inc
:150Tag add.increment
add.increment; REAL32
Add to the increment.
graphics3d.inc
:151Tag set.increment
set.increment; REAL32
Absolutely set the increment.
graphics3d.inc
:152Tag set.angle
set.angle; REAL32
Absolutely set the angle of rotation.
graphics3d.inc
:157Protocol G3D.TRN.CONTROL
PROTOCOL G3D.TRN.CONTROL
Points translation control.
graphics3d.inc
:159Tag reset
reset
Reset translation to default state (0, 0, 0).
graphics3d.inc
:160Tag set.3dshift
set.3dshift; [3]REAL32
Set 3D translation.
graphics3d.inc
:164Protocol G3D.SCL.CONTROL
PROTOCOL G3D.SCL.CONTROL
Points scaler control.
graphics3d.inc
:166Tag reset
reset
Reset scale to default state (1, 1, 1)
graphics3d.inc
:167Tag set.3dscale
set.3dscale; [3]REAL32
Set 3D scaling.
graphics3d.inc
:171Protocol G3D.PRJ.CONTROL
PROTOCOL G3D.PRJ.CONTROL
Polygon points 3D-to-2D projection control.
graphics3d.inc
:173Tag reset
reset
Reset projector to default state.
graphics3d.inc
:174Tag set.scaling
set.scaling; [2]REAL32
Set 2D scaling.
graphics3d.inc
:175Tag set.zdepth
set.zdepth; REAL32
Set Z depth offset (pushes scene away from camera).
graphics3d.inc
:176Tag set.2dshift
set.2dshift; [2]INT
Set 2D translation.
graphics3d.inc
:177Tag set.3dshift
set.3dshift; [3]REAL32
Set 3D translation (applied before projection).
graphics3d.inc
:181Protocol G3D.PGN.CONTROL
PROTOCOL G3D.PGN.CONTROL
Polygon generator control.
graphics3d.inc
:183Tag reset
reset
Reset polygon generator to default state.
graphics3d.inc
:184Tag set.trimap
set.trimap; BOOL
Generate triangular polygons only.
graphics3d.inc
:185Tag set.backfaces
set.backfaces; BOOL
Whether back faces of solid objects should be generated.
graphics3d.inc
:186Tag set.face.colour
set.face.colour; INT; INT
Set individual face colour.
graphics3d.inc
:187Tag set.face.colours
set.face.colours; MOBILE []INT
Set all face colours.
graphics3d.inc
:188Tag set.polyid
set.polyid; INT
Set polygon ID (0-255).
graphics3d.inc
:192Protocol G3D.PSC.CONTROL
PROTOCOL G3D.PSC.CONTROL
Polygon scan-line generator control.
graphics3d.inc
:194Tag reset
reset
Resets scan-line generator to default state.
graphics3d.inc
:195Tag set.zcolour
set.zcolour; BOOL
Whether the pixel colour used is adjusted for Z depth.
graphics3d.inc
:199Protocol G3D.RDR.CONTROL
PROTOCOL G3D.RDR.CONTROL
Polygon render (shader) control.
graphics3d.inc
:201Tag reset
reset
Resets shader to default state.
graphics3d.inc
:203Tag set.pixel
set.pixel; INT
Set pixel colour (for non-polygon rendering).
graphics3d.inc
:207Protocol G3D.ALL.CONTROL
PROTOCOL G3D.ALL.CONTROL
Overall control for graphics pipeline.
graphics3d.inc
:209Tag reset.all
reset.all
Reset all components to default state.
graphics3d.inc
:213Protocol G3D.TMR.CONTROL
PROTOCOL G3D.TMR.CONTROL
Graphics pipeline speed control.
graphics3d.inc
:215Tag reset
reset
Resets the timer control.
graphics3d.inc
:216Tag pause
pause
Pause/unpause the rasters flowing through the network.
graphics3d.inc
:217Tag faster
faster
Go faster.
graphics3d.inc
:218Tag slower
slower
Go slower.
graphics3d.inc
:219Tag set.fps
set.fps; INT
Set frames-per-second absolutely.
graphics3d.inc
:224Channel type G3D.GEN.LINK
CHAN TYPE G3D.GEN.LINK
graphics3d.inc
:234Channel type G3D.RENDER.ENGINE:
CHAN TYPE G3D.RENDER.ENGINE:
graphics3d.inc
:237Protocol G3D.RENDER.ENGINE.LINK
PROTOCOL G3D.RENDER.ENGINE.LINK
Graphics pipeline link protocol.
graphics3d.inc
:239Tag raster
raster; RASTER; ZBUFFER
Raster to render on and forward.
graphics3d.inc
:240Tag set.next
set.next; INT; G3D.RENDER.ENGINE!
Set the next renderer in the pipeline.
graphics3d.inc
:245Channel type G3D.RENDER.ENGINE
CHAN TYPE G3D.RENDER.ENGINE
graphics3d.inc
:247Variable link?
CHAN G3D.RENDER.ENGINE.LINK
Link channel.
graphics3d.inc
:253Group G3D.SCENE.RO
Scene rotation ordering.
graphics3d.inc
:254Constant G3D.SCENE.RO.NONE
VAL INT G3D.SCENE.RO.NONE
No rotations applied
graphics3d.inc
:255Constant G3D.SCENE.RO.X
VAL INT G3D.SCENE.RO.X
Rotate on X axis only.
graphics3d.inc
:256Constant G3D.SCENE.RO.Y
VAL INT G3D.SCENE.RO.Y
Rotate on Y axis only.
graphics3d.inc
:257Constant G3D.SCENE.RO.Z
VAL INT G3D.SCENE.RO.Z
Rotate on Z axis only.
graphics3d.inc
:258Constant G3D.SCENE.RO.YX
VAL INT G3D.SCENE.RO.YX
Rotate on Y then X.
graphics3d.inc
:259Constant G3D.SCENE.RO.ZX
VAL INT G3D.SCENE.RO.ZX
Rotate on Z then X.
graphics3d.inc
:260Constant G3D.SCENE.RO.XY
VAL INT G3D.SCENE.RO.XY
Rotate on X then Y.
graphics3d.inc
:261Constant G3D.SCENE.RO.ZY
VAL INT G3D.SCENE.RO.ZY
Rotate on Z then Y.
graphics3d.inc
:262Constant G3D.SCENE.RO.XZ
VAL INT G3D.SCENE.RO.XZ
Rotate on X then Z.
graphics3d.inc
:263Constant G3D.SCENE.RO.YZ
VAL INT G3D.SCENE.RO.YZ
Rotate on Y then Z.
graphics3d.inc
:264Constant G3D.SCENE.RO.ZYX
VAL INT G3D.SCENE.RO.ZYX
Rotate on Z then Y then X.
graphics3d.inc
:265Constant G3D.SCENE.RO.YZX
VAL INT G3D.SCENE.RO.YZX
Rotate on Y then Z then X.
graphics3d.inc
:266Constant G3D.SCENE.RO.ZXY
VAL INT G3D.SCENE.RO.ZXY
Rotate on Z then X then Y.
graphics3d.inc
:267Constant G3D.SCENE.RO.XZY
VAL INT G3D.SCENE.RO.XZY
Rotate on X then Z then Y.
graphics3d.inc
:268Constant G3D.SCENE.RO.YXZ
VAL INT G3D.SCENE.RO.YXZ
Rotate on Y then X then Z.
graphics3d.inc
:269Constant G3D.SCENE.RO.XYZ
VAL INT G3D.SCENE.RO.XYZ
Rotate on X then Y then Z.
graphics3d.inc
:276Channel type G3D.SCENE.TRANS:
CHAN TYPE G3D.SCENE.TRANS:
graphics3d.inc
:279Protocol G3D.SCENE.TRANS.LINK
PROTOCOL G3D.SCENE.TRANS.LINK
Scene rotate pipeline link protocol.
graphics3d.inc
:281Tag reset
reset
Reset to default settings.
graphics3d.inc
:282Tag set.pre.3dshift
set.pre.3dshift; [3]REAL32
Set 3D shift (before rotation, determines centre of scene).
graphics3d.inc
:283Tag set.rot.angles
set.rot.angles; [3]REAL32
Set rotations in X, Y and Z planes.
graphics3d.inc
:285Tag set.rot.diffs
set.rot.diffs; [3]REAL32
Set differences for continuous rotation.
graphics3d.inc
:286Tag set.post.3dshift
set.post.3dshift; [3]REAL32
Set 3D shift (after rotation, determines camera position).
graphics3d.inc
:287Tag set.xyscale
set.xyscale; [2]REAL32
Set X-Y scaling (lens angle).
graphics3d.inc
:289Tag set.next
set.next; INT; G3D.SCENE.TRANS!
Set the next scene transformer in a pipeline.
graphics3d.inc
:294Channel type G3D.SCENE.TRANS
CHAN TYPE G3D.SCENE.TRANS
graphics3d.inc
:296Variable link?
CHAN G3D.SCENE.TRANS.LINK
Link channel.
graphics3d.inc
:303Protocol G3D.POLY.CLICK
PROTOCOL G3D.POLY.CLICK IS [3]INT:
Used to provide information about polygon clicks, order is (id; x; y).
g3dchess.occ
:197Process chesspoints.generator
PROC chesspoints.generator (CHAN INT trigger?, VAL INT npoints, piece, VAL [][2]REAL32 profile, CHAN MOBILE []G3D.POINT3 out!, CHAN G3D.GEN.CONTROL ctrl?)
Chess piece points generator.
Parameters:
CHAN INT |
trigger |
Trigger channel. |
VAL INT |
npoints |
Number of points around the outside. |
VAL INT |
piece |
Particular piece (defines how the topping is handled, see G3D.CP ). |
VAL [][2]REAL32 |
profile |
Y/rad pairs for the piece. |
CHAN MOBILE []G3D.POINT3 |
out |
Generated points. |
CHAN G3D.GEN.CONTROL |
ctrl |
Control channel. |
g3dchess.occ
:322Process chessboardpoints.generator
PROC chessboardpoints.generator (CHAN INT trigger?, VAL INT dim, VAL REAL32 width, height, CHAN MOBILE []G3D.POINT3 out!, CHAN G3D.GEN.CONTROL ctrl?)
Chess board points generator.
Parameters:
CHAN INT |
trigger |
Trigger channel. |
VAL INT |
dim |
Number of squares along one edge. |
VAL REAL32 |
width |
Width of each square. |
VAL REAL32 |
height |
Height of the board. |
CHAN MOBILE []G3D.POINT3 |
out |
Generated points. |
CHAN G3D.GEN.CONTROL |
ctrl |
Control channel. |
g3dchess.occ
:343Process chessify.points
PROC chessify.points (CHAN MOBILE []G3D.POINT2.3 in?, VAL INT npoints, piece, VAL [][2]REAL32 profile, CHAN MOBILE []G3D.POLY out!, CHAN G3D.PGN.CONTROL ctrl?, CHAN BOOL hide?)
Generates chess-style polygons from points.
Parameters:
CHAN MOBILE []G3D.POINT2.3 |
in |
Points in. |
VAL INT |
npoints |
Number of points around the base of the object. |
VAL INT |
piece |
Particular piece (defines how the topping is handled, see G3D.CP ). |
VAL [][2]REAL32 |
profile |
Profile for the piece. |
CHAN MOBILE []G3D.POLY |
out |
Polygons out. |
CHAN G3D.PGN.CONTROL |
ctrl |
Control channel. |
CHAN BOOL |
hide |
Hide control channel. |
g3dchess.occ
:739Process chessboardify.points
PROC chessboardify.points (CHAN MOBILE []G3D.POINT2.3 in?, VAL INT dim, CHAN MOBILE []G3D.POLY out!, CHAN G3D.PGN.CONTROL ctrl?)
Turns chessboard points into polygons.
Parameters:
CHAN MOBILE []G3D.POINT2.3 |
in |
Points in. |
VAL INT |
dim |
Number of squares along one edge. |
CHAN MOBILE []G3D.POLY |
out |
Generated points. |
CHAN G3D.PGN.CONTROL |
ctrl |
Control channel. |
g3dchess.occ
:764Process chesspiece.network
PROC chesspiece.network (G3D.RENDER.ENGINE? rlink.in, VAL INT width, height, piece, npoints, bdim, VAL REAL32 sqw, bh, G3DC.PIECE.CTL? svr, G3D.SCENE.TRANS? sct)
Implements a basic chess piece (zdepth style).
Parameters:
G3D.RENDER.ENGINE? |
rlink.in |
Render link. |
VAL INT |
width |
Width of raster. |
VAL INT |
height |
Height of raster. |
VAL INT |
piece |
Particular piece (see G3D.CP ). |
VAL INT |
npoints |
Number of points around the circumference. |
VAL INT |
bdim |
Board dimension. |
VAL REAL32 |
sqw |
Board square width. |
VAL REAL32 |
bh |
Board height. |
G3DC.PIECE.CTL? |
svr |
Piece control channel-end. |
G3D.SCENE.TRANS? |
sct |
Scene transform control channel-end. |
g3dchess.occ
:915Process chesspiece.network.spawn
PROC chesspiece.network.spawn (VAL INT width, height, CHAN G3D.RENDER.ENGINE! new.link!, VAL INT piece, npoints, bdim, VAL REAL32 sqw, bh, RESULT G3DC.PIECE.CTL! pctl, RESULT G3D.SCENE.TRANS! sti)
Dynamically spawns a new 'chesspiece.network'.
Parameters:
VAL INT |
width |
Raster width. |
VAL INT |
height |
Raster height. |
CHAN G3D.RENDER.ENGINE! |
new.link |
Channel to communicate new object link. |
VAL INT |
piece |
Particular piece (see G3D.CP ). |
VAL INT |
npoints |
Number of points around the circumference. |
VAL INT |
bdim |
Board dimension. |
VAL REAL32 |
sqw |
Board square width. |
VAL REAL32 |
bh |
Board height. |
RESULT G3DC.PIECE.CTL! |
pctl |
Piece control channel-end (returned). |
RESULT G3D.SCENE.TRANS! |
sti |
Returned scene transform client channel-end. |
g3dchess.occ
:941Process chessboard.network
PROC chessboard.network (G3D.RENDER.ENGINE? rlink.in, VAL INT width, height, dim, polyid, VAL REAL32 sqw, bh, G3D.SCENE.TRANS? sct)
Implements a basic chess board (zdepth style).
Parameters:
G3D.RENDER.ENGINE? |
rlink.in |
Render link. |
VAL INT |
width |
Width of raster. |
VAL INT |
height |
Height of raster. |
VAL INT |
dim |
Board dimension. |
VAL INT |
polyid |
Polygon id (0-255 or +256 for incrementing). |
VAL REAL32 |
sqw |
Width of each square. |
VAL REAL32 |
bh |
Board height. |
G3D.SCENE.TRANS? |
sct |
Scene transform control. |
g3dchess.occ
:981Process chessboard.network.spawn
PROC chessboard.network.spawn (VAL INT width, height, CHAN G3D.RENDER.ENGINE! new.link!, VAL INT dim, polyid, VAL REAL32 sqw, bh, RESULT G3D.SCENE.TRANS! sti)
Spawns a new 'chessboard.network'.
Parameters:
VAL INT |
width |
Raster width. |
VAL INT |
height |
Raster height. |
CHAN G3D.RENDER.ENGINE! |
new.link |
Channel to communicate new object link. |
VAL INT |
dim |
Board dimension. |
VAL INT |
polyid |
Polygon id (0-255 or +256 for incrementing). |
VAL REAL32 |
sqw |
Size of each square. |
VAL REAL32 |
bh |
Board height. |
RESULT G3D.SCENE.TRANS! |
sti |
Returned scene-transform client channel-end. |
g3dgenerators.occ
:38Process flatpolypoints.generator
PROC flatpolypoints.generator (CHAN INT trigger?, VAL INT npoints, VAL REAL32 rad, CHAN MOBILE []G3D.POINT3 out!, CHAN G3D.GEN.CONTROL ctrl?)
Flat 3D polygon generator. Generates a regular N-sided polygon in 3D space (laying down flat by default).
Parameters:
CHAN INT |
trigger |
Trigger channel. |
VAL INT |
npoints |
Number of points. |
VAL REAL32 |
rad |
Radius (of points from centre). |
CHAN MOBILE []G3D.POINT3 |
out |
Generated points. |
CHAN G3D.GEN.CONTROL |
ctrl |
Control channel. |
g3dgenerators.occ
:133Process cogpoints.generator
PROC cogpoints.generator (CHAN INT trigger?, VAL INT nteeth, VAL REAL32 i.rad, o.rad, i.ang, o.ang, CHAN MOBILE []G3D.POINT3 out!, CHAN G3D.GEN.CONTROL ctrl?)
Cog points generator. Generates a stream of points that represent a cog in 3D space (laying down flat by default).
Parameters:
CHAN INT |
trigger |
Trigger channel. |
VAL INT |
nteeth |
Number of teeth on the cog. |
VAL REAL32 |
i.rad |
Inner radius (where teeth start). |
VAL REAL32 |
o.rad |
Outer raduis (where teeth end). |
VAL REAL32 |
i.ang |
Inner tooth angle (between teeth bottoms). |
VAL REAL32 |
o.ang |
Outer tooth angle (of teeth ends). |
CHAN MOBILE []G3D.POINT3 |
out |
Generated points. |
CHAN G3D.GEN.CONTROL |
ctrl |
Control channel. |
g3dgenerators.occ
:238Process cubepoints.generator
PROC cubepoints.generator (CHAN INT trigger?, CHAN MOBILE []G3D.POINT3 out!, CHAN G3D.GEN.CONTROL ctrl?)
Cube point generator. Generates a constant stream of points that represent a cube in 3D space.
Parameters:
CHAN INT |
trigger |
Trigger channel. |
CHAN MOBILE []G3D.POINT3 |
out |
Points generated. |
CHAN G3D.GEN.CONTROL |
ctrl |
Control channel. |
g3dgenerators.occ
:322Process fbypoints.generator
PROC fbypoints.generator (CHAN INT trigger?, CHAN MOBILE []G3D.POINT3 out!, CHAN G3D.GEN.CONTROL ctrl?)
Inmos butterfly logo generator. The pixel positions were generated by tracing from an Inmos promotional video showing the butterflies running on a Transputer network.
Parameters:
CHAN INT |
trigger |
Trigger channel. |
CHAN MOBILE []G3D.POINT3 |
out |
Points generated. |
CHAN G3D.GEN.CONTROL |
ctrl |
Control channel. |
g3dgenerators.occ
:510Process squarepoints.generator
PROC squarepoints.generator (CHAN INT trigger?, CHAN MOBILE []G3D.POINT3 out!, CHAN G3D.GEN.CONTROL ctrl?)
Flat square point generator. Generates a square around the origin (lying flat by default).
Parameters:
CHAN INT |
trigger |
Trigger channel. |
CHAN MOBILE []G3D.POINT3 |
out |
Points generated. |
CHAN G3D.GEN.CONTROL |
ctrl |
Control channel. |
g3dgenerators.occ
:591Process gridpoints.generator
PROC gridpoints.generator (CHAN INT trigger?, VAL INT nx, nz, CHAN MOBILE []G3D.POINT3 out!, CHAN G3D.GEN.CONTROL ctrl?)
Flat grid points generator. Generates a set of points used to draw a grid (lying flat by default). The default size is 2.0 by 2.0.
Parameters:
CHAN INT |
trigger |
Trigger channel. |
VAL INT |
nx |
Number of points on X axis (including edges). |
VAL INT |
nz |
Number of points on Z axis (including edges). |
CHAN MOBILE []G3D.POINT3 |
out |
Points generated. |
CHAN G3D.GEN.CONTROL |
ctrl |
Control channel. |
g3dgenerators.occ
:689Process spherepoint.generator
PROC spherepoint.generator (CHAN INT trigger?, VAL REAL32 rad, CHAN MOBILE []G3D.POINT3S out!, CHAN G3D.GEN.CONTROL ctrl?)
Sphere generator (single). Generates a single sphere at the origin.
Parameters:
CHAN INT |
trigger |
Trigger channel. |
VAL REAL32 |
rad |
Radius. |
CHAN MOBILE []G3D.POINT3S |
out |
Sized points generated. |
CHAN G3D.GEN.CONTROL |
ctrl |
Control channel. |
g3dutil.occ
:32Process g3d.point3.delta
PROC g3d.point3.delta (CHAN MOBILE []G3D.POINT3 in?, out.0!, out.1!)
Delta for mobile arrays of the G3D.POINT3
type.
Parameters:
CHAN MOBILE []G3D.POINT3 |
in |
Points in. |
CHAN MOBILE []G3D.POINT3 |
out.0 |
Points out. |
CHAN MOBILE []G3D.POINT3 |
out.1 |
Points out. |
g3dutil.occ
:49Process g3d.point3s.delta
PROC g3d.point3s.delta (CHAN MOBILE []G3D.POINT3S in?, out.0!, out.1!)
Delta for mobile arrays of the G3D.POINT3S
type.
Parameters:
CHAN MOBILE []G3D.POINT3S |
in |
Points in. |
CHAN MOBILE []G3D.POINT3S |
out.0 |
Points out. |
CHAN MOBILE []G3D.POINT3S |
out.1 |
Points out. |
g3dutil.occ
:66Process g3d.point2.3.delta
PROC g3d.point2.3.delta (CHAN MOBILE []G3D.POINT2.3 in?, out.0!, out.1!)
Delta for mobile arrays of the G3D.POINT2.3
type.
Parameters:
CHAN MOBILE []G3D.POINT2.3 |
in |
Points in. |
CHAN MOBILE []G3D.POINT2.3 |
out.0 |
Points out. |
CHAN MOBILE []G3D.POINT2.3 |
out.1 |
Points out. |
g3dutil.occ
:82Process g3d.point2.3s.delta
PROC g3d.point2.3s.delta (CHAN MOBILE []G3D.POINT2.3S in?, out.0!, out.1!)
Delta for mobile arrays of the G3D.POINT2.3S
type.
Parameters:
CHAN MOBILE []G3D.POINT2.3S |
in |
Points in. |
CHAN MOBILE []G3D.POINT2.3S |
out.0 |
Points out. |
CHAN MOBILE []G3D.POINT2.3S |
out.1 |
Points out. |
g3dutil.occ
:98Process g3d.point2.delta
PROC g3d.point2.delta (CHAN MOBILE []G3D.POINT2 in?, out.0!, out.1!)
Delta for mobile arrays of the G3D.POINT2
type.
Parameters:
CHAN MOBILE []G3D.POINT2 |
in |
Points in. |
CHAN MOBILE []G3D.POINT2 |
out.0 |
Points out. |
CHAN MOBILE []G3D.POINT2 |
out.1 |
Points out. |
g3dutil.occ
:114Process g3d.poly.delta
PROC g3d.poly.delta (CHAN MOBILE []G3D.POLY in?, out.0!, out.1!)
Delta for mobile arrays of the G3D.POLY
type.
Parameters:
CHAN MOBILE []G3D.POLY |
in |
Polygons in. |
CHAN MOBILE []G3D.POLY |
out.0 |
Polygons out. |
CHAN MOBILE []G3D.POLY |
out.1 |
Polygons out. |
g3dutil.occ
:130Process g3d.poly.scan.delta
PROC g3d.poly.scan.delta (CHAN MOBILE []G3D.POLY.SCAN in?, out.0!, out.1!)
Delta for mobile arrays of the G3D.POLY.SCAN
type.
Parameters:
CHAN MOBILE []G3D.POLY.SCAN |
in |
Polygon scans in. |
CHAN MOBILE []G3D.POLY.SCAN |
out.0 |
Polygon scans out. |
CHAN MOBILE []G3D.POLY.SCAN |
out.1 |
Polygon scans out. |
g3dutil.occ
:147Process g3d.gen.control.delta
PROC g3d.gen.control.delta (CHAN G3D.GEN.CONTROL in?, out.0!, out.1!)
Delta for G3D.GEN.CONTROL
protocol.
Parameters:
CHAN G3D.GEN.CONTROL |
in |
Commands in. |
CHAN G3D.GEN.CONTROL |
out.0 |
Commands out. |
CHAN G3D.GEN.CONTROL |
out.1 |
Commands out. |
g3dutil.occ
:183Process g3d.rot.control.delta
PROC g3d.rot.control.delta (CHAN G3D.ROT.CONTROL in?, out.0!, out.1!)
Delta for G3D.ROT.CONTROL
protocol.
Parameters:
CHAN G3D.ROT.CONTROL |
in |
Commands in. |
CHAN G3D.ROT.CONTROL |
out.0 |
Commands out. |
CHAN G3D.ROT.CONTROL |
out.1 |
Commands out. |
g3dutil.occ
:219Process g3d.prj.control.delta
PROC g3d.prj.control.delta (CHAN G3D.PRJ.CONTROL in?, out.0!, out.1!)
Delta for G3D.PRJ.CONTROL
protocol.
Parameters:
CHAN G3D.PRJ.CONTROL |
in |
Commands in. |
CHAN G3D.PRJ.CONTROL |
out.0 |
Commands out. |
CHAN G3D.PRJ.CONTROL |
out.1 |
Commands out. |
g3dutil.occ
:255Process g3d.pgn.control.delta
PROC g3d.pgn.control.delta (CHAN G3D.PGN.CONTROL in?, out.0!, out.1!)
Delta for G3D.PGN.CONTROL
protocol.
Parameters:
CHAN G3D.PGN.CONTROL |
in |
Commands in. |
CHAN G3D.PGN.CONTROL |
out.0 |
Commands out. |
CHAN G3D.PGN.CONTROL |
out.1 |
Commands out. |
g3dutil.occ
:291Process g3d.psc.control.delta
PROC g3d.psc.control.delta (CHAN G3D.PSC.CONTROL in?, out.0!, out.1!)
Delta for G3D.PSC.CONTROL
protocol.
Parameters:
CHAN G3D.PSC.CONTROL |
in |
Commands in. |
CHAN G3D.PSC.CONTROL |
out.0 |
Commands out. |
CHAN G3D.PSC.CONTROL |
out.1 |
Commands out. |
g3dutil.occ
:307Process g3d.rdr.control.delta
PROC g3d.rdr.control.delta (CHAN G3D.RDR.CONTROL in?, out.0!, out.1!)
Delta for G3D.RDR.CONTROL
protocol.
Parameters:
CHAN G3D.RDR.CONTROL |
in |
Commands in. |
CHAN G3D.RDR.CONTROL |
out.0 |
Commands out. |
CHAN G3D.RDR.CONTROL |
out.1 |
Commands out. |
g3dnets.occ
:36Process rotate.orchestra1
PROC rotate.orchestra1 (CHAN G3D.ROT.CONTROL rot.out!)
Orchestrates components.
Parameters:
CHAN G3D.ROT.CONTROL |
rot.out |
Rotation control out. |
g3dnets.occ
:72Process planar.path
PROC planar.path (CHAN G3D.PRJ.CONTROL out!, VAL REAL32 xrad, zrad, pangle, iangle, VAL INT islow, VAL [3]REAL32 pos)
Moves a 3D object around a plane following an elliptical path.
Parameters:
CHAN G3D.PRJ.CONTROL |
out |
Projection control. |
VAL REAL32 |
xrad |
X-radius of path. |
VAL REAL32 |
zrad |
Z-radius of path. |
VAL REAL32 |
pangle |
Tilt in XY plane of the path. |
VAL REAL32 |
iangle |
Tilt in XZ plane of the path. |
VAL INT |
islow |
Slow-down setting |
VAL [3]REAL32 |
pos |
Initial position. |
g3dnets.occ
:102Process glenz.network
PROC glenz.network (G3D.RENDER.ENGINE? rlink.in, VAL INT width, height)
Implements a basic "Glenz cube".
Parameters:
G3D.RENDER.ENGINE? |
rlink.in |
Render link. |
VAL INT |
width |
Width of raster. |
VAL INT |
height |
Height of raster. |
g3dnets.occ
:140Process glenz.network.spawn
PROC glenz.network.spawn (VAL INT width, height, CHAN G3D.RENDER.ENGINE! new.link!)
Dynamically spawns a new 'glenz.network'.
Parameters:
VAL INT |
width |
Raster width. |
VAL INT |
height |
Raster height. |
CHAN G3D.RENDER.ENGINE! |
new.link |
Channel to communicate new object link. |
g3dnets.occ
:156Process normal.network
PROC normal.network (G3D.RENDER.ENGINE? rlink.in, VAL INT width, height)
Implements a basic "Normal cube".
Parameters:
G3D.RENDER.ENGINE? |
rlink.in |
Render link. |
VAL INT |
width |
Width of raster. |
VAL INT |
height |
Height of raster. |
g3dnets.occ
:194Process normal.network.spawn
PROC normal.network.spawn (VAL INT width, height, CHAN G3D.RENDER.ENGINE! new.link!)
Dynamically spawns a new 'normal.network'.
Parameters:
VAL INT |
width |
Raster width. |
VAL INT |
height |
Raster height. |
CHAN G3D.RENDER.ENGINE! |
new.link |
Channel to communicate new object link. |
g3dnets.occ
:210Process glenz.network2
PROC glenz.network2 (G3D.RENDER.ENGINE? rlink.in, VAL INT width, height)
Implements a basic "Glenz cube".
Parameters:
G3D.RENDER.ENGINE? |
rlink.in |
Render link. |
VAL INT |
width |
Width of raster. |
VAL INT |
height |
Height of raster. |
g3dnets.occ
:253Process glenz.network2.spawn
PROC glenz.network2.spawn (VAL INT width, height, CHAN G3D.RENDER.ENGINE! new.link!)
Dynamically spawns a new 'glenz.network2'.
Parameters:
VAL INT |
width |
Raster width. |
VAL INT |
height |
Raster height. |
CHAN G3D.RENDER.ENGINE! |
new.link |
Channel to communicate new object link. |
g3dnets.occ
:269Process normal.network2
PROC normal.network2 (G3D.RENDER.ENGINE? rlink.in, VAL INT width, height)
Implements a basic "Glenz cube".
Parameters:
G3D.RENDER.ENGINE? |
rlink.in |
Render link. |
VAL INT |
width |
Width of raster. |
VAL INT |
height |
Height of raster. |
g3dnets.occ
:310Process normal.network2.spawn
PROC normal.network2.spawn (VAL INT width, height, CHAN G3D.RENDER.ENGINE! new.link!)
Dynamically spawns a new 'normal.network2'.
Parameters:
VAL INT |
width |
Raster width. |
VAL INT |
height |
Raster height. |
CHAN G3D.RENDER.ENGINE! |
new.link |
Channel to communicate new object link. |
g3dnets.occ
:326Process screen.cube
PROC screen.cube (G3D.RENDER.ENGINE? rlink.in, VAL INT width, height)
Implements an on-screen cube showing the image boundary
Parameters:
G3D.RENDER.ENGINE? |
rlink.in |
Render link. |
VAL INT |
width |
Width of raster. |
VAL INT |
height |
Height of raster. |
g3dnets.occ
:359Process screen.cube.spawn
PROC screen.cube.spawn (VAL INT width, height, CHAN G3D.RENDER.ENGINE! new.link!)
Dynamically spawns a new 'screen.cube'.
Parameters:
VAL INT |
width |
Raster width. |
VAL INT |
height |
Raster height. |
CHAN G3D.RENDER.ENGINE! |
new.link |
Channel to communicate new object link. |
g3dnets.occ
:376Process butterfly.network
PROC butterfly.network (G3D.RENDER.ENGINE? rlink.in, VAL INT width, height, VAL BOOL rpix)
Implements a butterfly that flaps around a particular path.
Parameters:
G3D.RENDER.ENGINE? |
rlink.in |
Render link. |
VAL INT |
width |
Width of raster. |
VAL INT |
height |
Height of raster. |
VAL BOOL |
rpix |
Random initial placement. |
g3dnets.occ
:477Process butterfly.network.spawn
PROC butterfly.network.spawn (VAL INT width, height, VAL BOOL rpix, CHAN G3D.RENDER.ENGINE! new.link!)
Dynamically spawns a new 'butterfly.network'.
Parameters:
VAL INT |
width |
Raster width. |
VAL INT |
height |
Raster height. |
VAL BOOL |
rpix |
Random initial placement. |
CHAN G3D.RENDER.ENGINE! |
new.link |
Channel to communicate new object link. |
g3dnets.occ
:498Process glenz.cog.network
PROC glenz.cog.network (G3D.RENDER.ENGINE? rlink.in, VAL INT width, height, nteeth, VAL REAL32 i.rad, o.rad, i.ang, o.ang)
Implements a basic "Glenz cog".
Parameters:
G3D.RENDER.ENGINE? |
rlink.in |
Render link. |
VAL INT |
width |
Width of raster. |
VAL INT |
height |
Height of raster. |
VAL INT |
nteeth |
Number of teeth. |
VAL REAL32 |
i.rad |
Inner radius. |
VAL REAL32 |
o.rad |
Outer radius. |
VAL REAL32 |
i.ang |
Inner angle. |
VAL REAL32 |
o.ang |
Outer angle. |
g3dnets.occ
:542Process glenz.cog.network.spawn
PROC glenz.cog.network.spawn (VAL INT width, height, CHAN G3D.RENDER.ENGINE! new.link!, VAL INT nteeth, VAL REAL32 i.rad, o.rad, i.ang, o.ang)
Dynamically spawns a new 'glenz.cog.network'.
Parameters:
VAL INT |
width |
Raster width. |
VAL INT |
height |
Raster height. |
CHAN G3D.RENDER.ENGINE! |
new.link |
Channel to communicate new object link. |
VAL INT |
nteeth |
Number of teeth. |
VAL REAL32 |
i.rad |
Inner radius. |
VAL REAL32 |
o.rad |
Outer radius. |
VAL REAL32 |
i.ang |
Inner angle. |
VAL REAL32 |
o.ang |
Outer angle. |
g3dnets.occ
:560Process glenz.flatpoly.network
PROC glenz.flatpoly.network (G3D.RENDER.ENGINE? rlink.in, VAL INT width, height, npoints, VAL REAL32 rad)
Implements a basic regular polygon (glenz style).
Parameters:
G3D.RENDER.ENGINE? |
rlink.in |
Render link. |
VAL INT |
width |
Width of raster. |
VAL INT |
height |
Height of raster. |
VAL INT |
npoints |
Number of points. |
VAL REAL32 |
rad |
Radius. |
g3dnets.occ
:601Process glenz.flatpoly.network.spawn
PROC glenz.flatpoly.network.spawn (VAL INT width, height, CHAN G3D.RENDER.ENGINE! new.link!, VAL INT npoints, VAL REAL32 rad)
Dynamically spawns a new 'glenz.flatpoly.network'.
Parameters:
VAL INT |
width |
Raster width. |
VAL INT |
height |
Raster height. |
CHAN G3D.RENDER.ENGINE! |
new.link |
Channel to communicate new object link. |
VAL INT |
npoints |
Number of points |
VAL REAL32 |
rad |
Radius. |
g3dnets.occ
:619Process zdepth.flatpoly.network
PROC zdepth.flatpoly.network (G3D.RENDER.ENGINE? rlink.in, VAL INT width, height, npoints, VAL REAL32 rad)
Implements a basic regular polygon (zdepth style).
Parameters:
G3D.RENDER.ENGINE? |
rlink.in |
Render link. |
VAL INT |
width |
Width of raster. |
VAL INT |
height |
Height of raster. |
VAL INT |
npoints |
Number of points. |
VAL REAL32 |
rad |
Radius. |
g3dnets.occ
:661Process zdepth.flatpoly.network.spawn
PROC zdepth.flatpoly.network.spawn (VAL INT width, height, CHAN G3D.RENDER.ENGINE! new.link!, VAL INT npoints, VAL REAL32 rad)
Dynamically spawns a new 'zdepth.flatpoly.network'.
Parameters:
VAL INT |
width |
Raster width. |
VAL INT |
height |
Raster height. |
CHAN G3D.RENDER.ENGINE! |
new.link |
Channel to communicate new object link. |
VAL INT |
npoints |
Number of points |
VAL REAL32 |
rad |
Radius. |