09 August 2024, 13:49 | #1 |
Registered User
Join Date: Sep 2007
Location: Melbourne/Australia
Posts: 4,461
|
PolyNova3D - Software rendering a go-go
Not a game, more a tech demo...
Anyway, a very long time ago (30 years), I was into 3D coding and even created my own 3D engines based on a DOS 3D engine called AST 3D I actually started off building simple 3D Dungeon Master style engines using QBasic before graduating to C++ and DirectX. Some of my later engines were even used to produce game demos which is pretty cool Anyway, I was very bored recently and thought I might try and port an older version of my engine (PolyNova3D) over to Amiga 68k. I believe the newer versions of polyNova are too heavy for software rendering. I've still got some of my old engine's source code on floppy discs but it was all over the place and its taken me a long time to get something basically working on 68k. I was having trouble rendering the triangles properly as my old engine used DirectX. This led me to looking into 68k OpenGL and Mesa. I then decided to port a newer version of Storm Mesa over to 68k (pure software, no hardware acceleration) and then add Mesa OpenGL to SDL. Read all about it here -> Mesa OpenGL I've also spent ages trying to get the collision detection working as I've forgotten a lot of this 3D stuff and can't read my own code Anyway, I've attached the first demo worth releasing, it's still very very alpha Keys are: w = forward s = backwards cursor left/right to rotate cursor up/down to look up and down F1,F2,F3,F4 toggle the ceiling lights escape to quit It will be very slow (needs optimizing), only 16bit fullscreen 320*240 mode currently supported. Only PiStorm/WinUAE will be fast enough to run this engine. My basic todo list:
The scene is loaded from a level file, you can open it in a txt editor to see how it works. My plan is to release a fully working demo (with real-time lighting) to Aminet and github and then maybe I'll then use the engine to create a simple space shooter that I've been thinking about recently. Last edited by NovaCoder; 20 August 2024 at 07:56. |
09 August 2024, 14:53 | #2 |
Registered User
Join Date: May 2020
Location: Figueira da Foz
Posts: 460
|
That's too much pink for a man to handle! xD
|
09 August 2024, 15:37 | #3 |
Registered User
Join Date: Oct 2007
Location: ManCave, Canada
Posts: 1,676
|
Thanks for this NovaCoder Looking forward to testing this out when I'm back in front of my Amiga
|
10 August 2024, 00:38 | #4 |
Registered User
Join Date: Dec 2011
Location: Dortmund, Germany
Posts: 1,059
|
Screenshots or a video would be nice
|
10 August 2024, 03:13 | #5 |
Registered User
Join Date: Sep 2007
Location: Melbourne/Australia
Posts: 4,461
|
|
10 August 2024, 11:13 | #6 |
Also known as GarethQ
Join Date: May 2019
Location: Twickenham / U.K.
Posts: 750
|
This sounds exciting. I would love to see a present day supported 3D engine for our lovely machines.
|
11 August 2024, 23:25 | #7 |
Registered User
Join Date: Oct 2007
Location: ManCave, Canada
Posts: 1,676
|
working nice and smooth on my PiStorm32-3A+
|
12 August 2024, 00:22 | #8 |
Registered User
Join Date: Sep 2007
Location: Melbourne/Australia
Posts: 4,461
|
Cool
Like I said, it's very early days. I managed to get the OpenGL z-buffer working yesterday which is probably better than using my old software implementation (not that this particular scene even needs it due to the geometry layout but anyway, still nice to have). My next release will have the lighting enabled, hopefully won't take me too long to get my old code working. |
18 August 2024, 03:23 | #9 |
Registered User
Join Date: Sep 2007
Location: Melbourne/Australia
Posts: 4,461
|
I've managed to implement 2 of the 3 light sources (ambient and direct), next up will be the point light sources (the pretty ones).
It has been much harder than I expect to get this working, I've forgotten so much of this stuff Anyway, in the attached scene every object surface color is pure white so all of the color comes from the lighting used. The global ambient light is set to half red and then a direct light set to green (which is pointing straight down). If you want to play around with the scene file yourself, be warned that there isn't currently any error checking so bad values will probably just crash it. Collision detection has been simplified in this release because I'm trying to get the lighting working first. Last edited by NovaCoder; 19 August 2024 at 03:40. |
18 August 2024, 10:07 | #10 |
Retro Freak
Join Date: Nov 2001
Location: Slovenia
Age: 51
Posts: 1,708
|
|
18 August 2024, 15:01 | #11 | |
Registered User
Join Date: Sep 2007
Location: Melbourne/Australia
Posts: 4,461
|
Quote:
I've just increased the players max speed, looks a bit faster now. Update, got the point lights working (attached) Function keys to toggle (F1 to F4) Only stuff remaining before I release to Aminet/Github is to optimize it and tidy up the code. It's pretty much feature complete I think. I will probably add tooltypes to change the screen resolution and I would like to add mouse support for the player's movement if I get a chance. There is some color banding of course, this is because it's only running in 16bit color depth (my old Windows version used 32bit depth with DirectX). Last edited by NovaCoder; 23 August 2024 at 13:25. |
|
23 August 2024, 13:26 | #12 |
Registered User
Join Date: Sep 2007
Location: Melbourne/Australia
Posts: 4,461
|
Update: Now getting some speed out of this thing
I'll try an upload it to Aminet next week for people to pay with. |
24 August 2024, 10:23 | #13 | |
Registered User
Join Date: Oct 2012
Location: Germany
Posts: 25
|
Quote:
A weird output resolution was chosen, or my monitor did not know how to deal with it. Looks like a vertical video. https://magentacloud.de/s/F4xTNyRBgw3jjSM |
|
25 August 2024, 01:13 | #14 |
Registered User
Join Date: Sep 2007
Location: Melbourne/Australia
Posts: 4,461
|
Thanks for the video, basic OpenGL looking very playable
|
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Unstable bob rendering | damex | Coders. System | 2 | 22 August 2023 10:57 |
Batch Rendering with the Blitter? | Samurai_Crow | Coders. Asm / Hardware | 2 | 11 March 2019 20:49 |
octamed wav rendering | potato | request.Music | 5 | 25 November 2014 16:32 |
rendering under wb 1.3 | _ThEcRoW | request.Apps | 2 | 02 October 2005 17:23 |
Slow rendering of windows! please help! | devilstar | support.WinUAE | 3 | 14 June 2003 10:13 |
|
|