Consider it as an experiment, play around with the objects and the code. Improve it and port it to all plattforms you want. Thank you all for your support and nice words, which inspired me to get this project so far.
Programming this old machines is like going to school again. And i choosed to program this in BASIC (by intetion), thinking about myself: „Well 30 years experience in many languages, this is a piece of cake. I know how to do it!“.
No way.
BASIC sounds easy and it is really an easy language to program, if you stay to small „Hello World“ programming. Besides the obvious CPU and Memory limitations (60 kilobytes sharing with code and programm data), i choosed code in a text editor (no syntax-checking, no debugging etc). Variables can have maximun 2 letters (a, aa, a1) and array cannot be allocated dynamically….The more code you produce, the less memory you have avaiable…But with will, pantience and edurance you always find a way..
I implemented now two new BASIC algorithms: sorting the faces by depth and a n-polygon filling algorithm, so that the object is drawn face by face from back towards the front. The amount of code has to be small, so algorithms are not fast or optimal, but do their work. I hope you can see the difference. Sidenote: In C# i would implement this in 1 hour… in this case needed 3 days.. Very challenging and great FUN to see things evolving!
I was always fascinated by 3D graphics. Actually its a long time dream of mine to do 3D graphics on the plus/4. So after 30 years i decided to write my own 3D-engine in BASIC. The objects are modeled on a PC with a CAD Programm (like „Blender“) and exported in OBJ format. I wrote a small converter (in C#), that converts OBJ files into two SEQ-files for the BASIC 3D engine. The engine is able to rotate objects in all axis (x,y,z), to scale, to shift up/down/left right and has a primitive hidden face detection. You have a dot-drawing mode for positioning and a line-drawing mode for the beauty shot. It can draw models with 4600+ vertices and polygonian faces, which is enough for a complex model like the famous space shuttle. The model data is free available at the NASA site. I had to modify the shuttle to be able to show it on the 320×200 screen of the plus/4, and it was great fun. Here some preview pictures and leave a comment, if you like (email, website not needed).