3dcam-headers
3dcam-headers copied to clipboard
A WIP 3d engine for the original PSX. Uses Nugget+Psyq, no libgs, and has a companion extension for Blender !
The XA playback cursor is dependant on framerate, hence increments too fast or too slow depending on scene.
Rendering performances can be improved if GTE commands 'nop'ing time is used for RAM > CPU d-cache verts data transfer. See : https://github.com/ABelliqueux/nolibgs_hello_worlds/blob/main/hello_gte_opti.c Ref : `psyq/psx/sample/scea/GTE`
In order to improve rendering time, selectively apply texturing/lighting to primitives according to their `p` value.
This can be pre-calculated at runtime : https://github.com/ABelliqueux/3dcam-headers/blob/master/src/graphics.c#L43
https://github.com/ABelliqueux/3dcam-headers/blob/800be60cb685d8bf8caba2cb88d2d47c281ecbe2/src/graphics.c#L256 Get this working.
Might be due to a rounding error or something... You can see through meshes at the seams when using interpolated animations : 
If Far color / Horizon color is < 100 (0.10 in blender), the corresponding channel color will display as black. Example `level0.c` file : ```c CVECTOR level0_BGc = { 100,...
With pre-rendered background, we could just set the tpage to bpp, x, y of the image in vram : 8bpp, 320, 0 by default for now. ```c if (fixed_BGs){ (...
Right now, we're using switch case to cycle through hardcoded level names. Figure a way out for something more pretty.