Thought this topic needs a separate thread.
I think this graphics library is mature enough to be released to the public. I've added a copy to the file sharing repository. You can also find a copy here:
http://rasmus.anthin.se/program/eng/fx-gl.txt
Swedish: http://rasmus.anthin.se/program/fx-gl.txt
Don't be intimidated by the long text file. Most of it is only documenation of the library procedures. The code listings are relatively small. I've tried as much as possible to reuse the registers to supply the programmer with as much free and untouched register memory as possible.
Affected registers are stated for each procedure in the documentation.
Here's a short example on a function surface plotter that uses COGL:
Prog "GLINIT"
0->@:-4->L:4->R:-2->B:2->T:-1->N:1->F:Prog "GLORHTO"
0->@:1.5->A:-1.5->B:1.5->C:0->D~F:0->X~Y:1->Z:Prog "GLLOOKAT"
Mat P*Mat V->Mat M
'LIMITS
-5.001->A:5->B
-4->C:4->D
.2->E:.2->F
Int ((D-C)/F)+1->@:Prog "GLINITV"
1->r:Prog "GLINITL"
'RENDER
Rad:File1:0->@
For A->G To B Step E
G->X:0->r
For C->H To D Step F
H->Y:r+1->r
G->Mat X[1,r]:H->Mat X[2,r]:f1->Mat X[3,r]
Next
Prog "GLPRJMAP"
Prog "GLFSTRIP"
Next
Try with f1 = sin(X^2+Y^2)/(X^2+Y^2) for a nice surface.
This grapher is not as "automatic" as Roy F.A. MacLean's 3D-grapher, but with this plotter you can view the surface from any direction via the GLLOOKAT procedure. So applications become easy to program (hopefully), small in size and powerful.
Enjoy.
Edit: Updated the links and the sample program.
