Commit Graph

137 Commits

Author SHA1 Message Date
Anders Jenbo
b65284a7a0
Move 2D drawing and upscaling to the renderer (#348) 2025-06-25 19:45:26 +02:00
Anders Jenbo
c8bb0da5a7
Implement DrawFPS (#420) 2025-06-23 21:04:52 +00: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
Anonymous Maarten
7e9acc8d04
Add IDirect3DRMMiniwinDevice interface (#267) 2025-06-09 16:34:37 +00:00
Anders Jenbo
42e732192c
Fix Pick() (#268) 2025-06-09 16:32:11 +02:00
Anders Jenbo
de82e8477a
Use dedicated path for flat shading (#248) 2025-06-09 05:06:19 +02:00
Anders Jenbo
cd4a24ec9e
Use indexed faces (#257) 2025-06-09 04:56:29 +02:00
Anders Jenbo
5be9b09b40
SDL3 GPU texture support (#254)
Co-authored-by: Anonymous Maarten <anonymous.maarten@gmail.com>
2025-06-09 01:04:19 +02:00
Christian Semmler
1a91547011
Update legomodelpresenter.cpp (#264)
* Update legomodelpresenter.cpp

* Update renderer.cpp
2025-06-08 15:55:35 -07:00
Anders Jenbo
f3a4d8fcb5
Fix OpenGL rendering (#262) 2025-06-08 23:44:37 +02:00
Anders Jenbo
4cd0385c38
Some cleanups for the software rendere (#261) 2025-06-08 23:31:29 +02:00
Anders Jenbo
6bdcc16fd9
Turn things right side in on SDL_GPU (#260) 2025-06-08 23:20:43 +02:00
Anders Jenbo
ee372fbc8f
Replace GeometryVertex with D3DRMVERTEX (#259) 2025-06-08 23:06:38 +02:00
Anders Jenbo
d32c30492f
Add flat shading to Appearance (#258) 2025-06-08 22:40:14 +02:00
David Gow
43191c7530
miniwin: Use the GLEW::GLEW target to find glew. (#246)
On some systems, the old-style GLEW_TARGET_LIBRARIES variable is not set by
find_package(GLEW), and instead we must use the newer GLEW::GLEW target, as
we do for OpenGL.

This fixes a build error on openSUSE Tumbleweed, which has a glew CMake config
in /usr/lib64/cmake/glew/glew-config.cmake.
2025-06-06 17:42:50 +02:00
Anders Jenbo
4c44f8f081
Update size to match vector content (#245) 2025-06-06 17:36:18 +02:00
Anders Jenbo
06fb577d7f
Big performance boost (#242) 2025-06-06 03:08:38 +02:00
Anders Jenbo
9a1cf812dd
Enable backface culling (#241) 2025-06-06 01:49:47 +02:00
Anders Jenbo
874cc526be
Add texture support for OpenGL (#239) 2025-06-05 13:26:06 +02:00
Anders Jenbo
12d01ae311
Refactor renderers (#237) 2025-06-05 04:07:42 +02:00
Anders Jenbo
39408b3584
Viewport cleanup (#233) 2025-06-04 22:31:38 +02:00
Anders Jenbo
956e3f2765
Cull by Bounding Box (#231) 2025-06-04 16:10:27 +02:00