Hello, I have been working on this ported code for 2 months. this is version 1, with only enough active menu's to re-create the cover of the book.
the original book is called "Amiga 3D Graphic Programming in BASIC" published in 1989.
i purchased the book in 1990 when i owned an Amiga 500. i never got around to coding the book back then, but over the last several years i have studied up on 3D, so thought i would give it a try.
well, success. i got the ray tracing up and running, the main scene (with default objects to re-create book cover) working, and the editor is active enough to see the objects from the main scene.
i will get the editor and main scene running more complete in version 2. i did notice it will be a learning curve to use this program, because of the way it is set up...
to port the code took time because i needed to use another 5 books for reference to know the commands and libraries etc in this 3D book.
the other books i referenced are:
> AmigaBASIC Inside and Out
> Amiga Graphics Inside & Out
> AMIGA ROM KERNAL REFERENCE MANUAL: Libraries & Devices
> AMIGA ROM KERNAL REFERENCE MANUAL: Includes & Autodocs
> Amiga Machine Language
i am sure glad i had all these books from the old fashioned days.
also the book had obsolete sections of code that are not relevant to modern day computers.
to get some scope of old computers vs new computers, the book said to allow up to 3 days to render if using full res (640 * 400) or 1 day at half res. well... my computer rendered at 1600 * 960 and took 22 seconds, lol.
NOTE: to look at the 'editor' to see the scene objects in it, select it from the drop down menu : Editor > Start Editor.
I found this old optimization source code on my hard drive that does bump mapping in software. The only problem is, that it's written in another BASIC language, so I decided to port it PlayBasic and see how it'd perform in PlayBasic V1,65...
Runs fine
PlayBasic Source Code - Super Sample Demos - (28th March 2020)
PlayBasic Source Code - Super Sample Demos - (28th March 2020)
This little demo is a combination of some older effects, written many years ago that dabbled with doing super sampling approximations in PlayBasic in plain old software rendering.
The effects are drawn to an external buffer that's twice the needed size, then blurred and bilinear filtered when drawn. Which gives a fairly nice looking result. The demo is frame limited, but even without that, it's pretty slow. Would be more efficient to do the sampling and blurring together.
Here's a video (cam capture) of the vampire sprite and image conversion demo. It's using the palette mapping feature to covert 16bit image data into 32bit ARGB image data