A WIP 3d engine for the original PSX. Uses Nugget+Psyq, no libgs, and has a companion extension for Blender !
Go to file
2021-06-29 12:27:22 +02:00
config Change folder structure 2021-06-23 19:25:12 +02:00
include Fixes #2: Light matrix is now updated on moving meshes 2021-06-28 17:45:18 +02:00
levels Use per level ambient col, fix vertex dpq order 2021-06-24 20:39:31 +02:00
src Fixes #2: Light matrix is now updated on moving meshes 2021-06-28 17:45:18 +02:00
TIM Merge ovl upload 2021-05-02 19:12:13 +02:00
custom_types.h Use per level ambient col, fix vertex dpq order 2021-06-24 20:39:31 +02:00
isotest.sh Use per level ambient col, fix vertex dpq order 2021-06-24 20:39:31 +02:00
Makefile Change folder structure 2021-06-23 19:25:12 +02:00
overlay.ld Add LEVEL struc 2021-04-15 18:18:39 +02:00
ovly-upload-helper.sh Add overlay upload script for real HW 2021-06-29 12:27:22 +02:00
README.md Add controls inst. 2021-06-25 15:06:06 +02:00

3dcam PSX engine

This a WIP PSX 3d engine. Use this with the companion blender exporter to create levels for the engine.

3d scene pre-rendered BGs Push things Sprite Vertex animation

More video samples here.

Features

Be warned this is WIP !

comparison
Real-time 3D / 8bpp background / 4bpp background

"Engine"

  • UV textured models
  • Vertex painted models
  • Multiple camera modes
  • Vertex animations
  • Up to 3 light sources
  • Use pre-rendered backgrounds (8bpp and 4bpp)
  • Basic collisions

Demo Controls

  • L1, L2 : rotate light matrix.
  • R1 : Change camera mode.
  • R3 (Dualshock) : Rotate camera in orbital mode.
  • Up, Down, Left Right, L3 (Dualshock) : Move actor.
  • X : "Jump" .
  • Select : Switch level.

Planned

  • Fix and improve all the things !
  • Wall collisions

Compiling

You need to install mkpsxiso and the pcsx-redux emulator and Nugget+PsyQ SDK before you can build the engine. Put mkpsxiso and pcsx-redux in your $PATH and you should be good to go.

  1. Clone this repo in (...)/pcsx-redux/src/mips/ as a new project :
git clone https://github.com/ABelliqueux/3dcam-headers my-project
  1. Navigate to that folder in a terminal :
cd /pcsx-redux/src/mips/my-project
  1. Type ./isotest.sh. This should compile the example, build an iso with mkpsxiso and launch it with pcsx-redux. On first launch, pcsx-redux will ask for a PSX bios. You can use your own or the open source OpenBios.
    A prebuilt binary is available here for convenience.
    Set it in pcsx-redux ; Configuration > Emulation, then reboot the emulator ; File > Reboot.

  2. Install the blender extension to create your own levels.

Credits

PSX code based on example by Lameguy64
An incredible amount of help from the good fellows at the psxdev discord,
Including but not limited to @NicolasNoble, @Lameguy64, @Impiaa, @paul, @sickle, @danhans42...