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

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: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: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:153Tag set.mode

set.mode; INT

Set the rotation mode (see G3D.ROTATE.MODE).

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:202Tag set.mode

set.mode; INT

Set shader mode (see G3D.RENDER.MODE).

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:234Channel type G3D.RENDER.ENGINE:

CHAN TYPE G3D.RENDER.ENGINE:

graphics3d.inc:245Channel type G3D.RENDER.ENGINE

CHAN TYPE G3D.RENDER.ENGINE

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:294Channel type G3D.SCENE.TRANS

CHAN TYPE G3D.SCENE.TRANS

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.