Commit Graph

156 Commits

Author SHA1 Message Date
olebeck
7c15d4f9d8 run clang format 2025-06-28 03:39:00 +02:00
olebeck
2aeeff7d07 remove some unneeded changes 2025-06-28 03:30:03 +02:00
olebeck
a6b90abcca Merge remote-tracking branch 'upstream/master' 2025-06-28 02:47:07 +02:00
olebeck
7b258b0e30 fix normals matrix 2025-06-28 02:44:52 +02:00
olebeck
a7f41dd4a3 clean up a bit 2025-06-27 23:59:17 +02:00
olebeck
4aad9a9786 make 3d work, broken lights 2025-06-27 17:20:25 +02:00
olebeck
5f9b9675eb fix Draw2DImage 2025-06-27 00:38:05 +02:00
Danct12
a782c48980
miniwin: Use PRIu32 for printing uint32_t (#436)
Some architecture uses different type for uint32_t.

For example:
x86_64 | aarch64 = unsigned int
xtensa | riscv32 = long unsigned int
arm              = long unsigned int
2025-06-26 19:41:46 +02:00
olebeck
5a6d05c38f support paletted textures directly to avoid copying the texture twice 2025-06-26 17:45:52 +02:00
olebeck
fb17107bca fix rendering somewhat, some geometry shows up 2025-06-26 14:03:20 +02:00
Anders Jenbo
dcacdcc711
Fix d3drmmesh type error (#433) 2025-06-26 02:46:10 +02:00
olebeck
06f2179ea1 make gxm renderer work with new d3drm 2025-06-26 02:34:16 +02:00
olebeck
b41e760d9d Merge remote-tracking branch 'upstream/master' 2025-06-25 22:07:25 +02:00
olebeck
d0020a3b9a avoid sdl renderer for vita, seems broken 2025-06-25 21:40:17 +02:00
Anders Jenbo
b65284a7a0
Move 2D drawing and upscaling to the renderer (#348) 2025-06-25 19:45:26 +02:00
olebeck
b38091ba1b add gxm renderer (not working with display yet) 2025-06-24 16:36:09 +02:00
Anders Jenbo
c8bb0da5a7
Implement DrawFPS (#420) 2025-06-23 21:04:52 +00:00
olebeck
40a34ef48e remove test window which causes a bug in the vita sdl port to show up 2025-06-22 14:45:19 +02:00
olebeck
3f8b36b323 patch sdl3 shaders, got something on screen! 2025-06-22 13:27:21 +02:00
olebeck
cb4fcc55ba select correct renderer for sdl renderer 2025-06-22 12:57:31 +02:00
olebeck
1ef3166601 add psvita to cmake 2025-06-22 02:16:31 +02:00
dcd4262f76
miniwin: fix OpenGL include on macOS (#350) 2025-06-20 22:54:05 +02:00
Anders Jenbo
ff03ffcc5a
Correct types for IDirect3DRMMesh::AddGroup (#345) 2025-06-19 04:55:33 +00:00
Anders Jenbo
6b2db2d85b
Correct some types for IDirect3DRMMesh (#344) 2025-06-19 04:40:03 +00:00
Anders Jenbo
a0c896a0b8
Fix a couple of memory leaks (#342) 2025-06-19 03:55:22 +00:00
Anders Jenbo
ea4b9ab1c9
Implement DirectX 9 backend (#332) 2025-06-18 18:10:48 +02:00
Anders Jenbo
e9c5e5b9ba
Use extensions to probe for 24 or 32bit depth buffer (#329) 2025-06-17 17:50:36 +02:00
Christian Semmler
3cfa3f5bec
Hotfix: reserve instead of resize 2025-06-16 21:00:12 -07:00
Christian Semmler
83205e2e4e
Fix UB in software renderer (#322)
* Fix UB in software renderer

One cannot access elements of the vector that don't exist. `reserve` allocates memory, but doesn't add elements.

`D3DRMVERTEX& dst = m_transformedVerts[i];` is UB and crashes on Windows debug build

* Update renderer.cpp
2025-06-17 05:25:34 +02:00
Anders Jenbo
0cfcc0fb21
Fix zawtooths during late game stage (#325) 2025-06-17 05:02:24 +02:00
Anders Jenbo
eab95514d6
Add an OpenGL ES 2.0 renderer (#287) 2025-06-17 03:47:23 +02:00
Anders Jenbo
1689a0063f
Fix an optimiaze OpenGL rendere (#320)
Co-authored-by: Christian Semmler <mail@csemmler.com>
2025-06-16 19:49:17 +02:00
Anders Jenbo
79726d25a4
Split framebuffer from general surfaces (#319) 2025-06-16 18:11:56 +02:00
Anders Jenbo
2828452b35
Clean up rendering (#301) 2025-06-16 04:28:32 +02:00
Anders Jenbo
4c80c8d923
Add 32bit color support (#311) 2025-06-14 23:09:23 +00:00
Anders Jenbo
65aafd2f44
Implement some minor functions in miniwin (#310) 2025-06-14 22:00:44 +02:00
Anders Jenbo
975764dc17
Align OpenGL and SDL_GPU specular with software (#305) 2025-06-14 18:05:25 +02:00
Anders Jenbo
d06caa99cb
Dial software speculare color in to match the original as best possible (#302) 2025-06-14 16:52:08 +02:00
Anders Jenbo
81ba75ea65
SIMD optimize z-buffer clear (#283) 2025-06-13 01:21:34 +02:00
Christian Semmler
5080e372f9
Emscripten port (#229)
* Emscripten port

* Fix NCC

* Update CMakeLists.txt

Co-authored-by: Anonymous Maarten <madebr@users.noreply.github.com>

* Update CMakeLists.txt

Co-authored-by: Anonymous Maarten <madebr@users.noreply.github.com>

* Update CMakeLists.txt

Co-authored-by: Anonymous Maarten <madebr@users.noreply.github.com>

* Update CMakeLists.txt

* cmake: set iniparser cmake options in local scope

* ci: try adding emscripten to test matrix

* cmake: try to make CMake install package more usable

* cmake: fix typo

* Update CMakeLists.txt

Co-authored-by: Anonymous Maarten <madebr@users.noreply.github.com>

* Add support for .ini loading

* Different default full screen behavior for Emscripten

* Add comments

* Add web platform

---------

Co-authored-by: Anonymous Maarten <madebr@users.noreply.github.com>
Co-authored-by: Anonymous Maarten <anonymous.maarten@gmail.com>
2025-06-13 00:26:43 +02:00
Anders Jenbo
bbb0de6e9a
Implement full screen (#290) 2025-06-12 22:51:52 +02:00
Christian Semmler
b95ca4b2a3
Fix m_callbacks resource issue (#289) 2025-06-12 21:37:51 +02:00
Anders Jenbo
4374453cb7
Align cache destruction callback in software renderer (#284) 2025-06-12 01:45:07 +02:00
Anders Jenbo
d06972cfb5
Some sanity checks on Direct3DRMObjectBaseImpl::Release() (#285) 2025-06-11 22:18:56 +00:00
Anders Jenbo
7732a3ccfd
Use edge walking for triangle rasterization (#280) 2025-06-11 21:56:12 +02:00
Anders Jenbo
b2354a85d0
Sort and render transparent objects last (#277) 2025-06-11 02:15:26 +02:00
Anders Jenbo
2c9d9ba920
Upload mesh data to GPU using VBOs when available (#275) 2025-06-10 23:33:14 +00:00
Anders Jenbo
4c5b255471
Use indexed triangles in SDL_GPU (#274) 2025-06-10 23:07:02 +02:00
Anders Jenbo
c8b8035de8
Upload models to GPU before rendering (#272) 2025-06-10 06:34:49 +02:00
Anders Jenbo
08c654bf60
Simplify access to groups internally (#270) 2025-06-09 21:42:24 +02:00