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
Anders Jenbo
72eb992af4
Make Lego Islan Fully playable ( #230 )
2025-06-04 05:42:42 +02:00
Anders Jenbo
0ac7fee23c
Renderer clean up ( #228 )
2025-06-04 02:21:06 +02:00
Anders Jenbo
e349842ea4
Make Pick() more picky ( #227 )
2025-06-03 22:11:50 +02:00
Anders Jenbo
f412d44f83
Config clean ups ( #226 )
2025-06-03 20:08:09 +02:00
Anders Jenbo
85e8c2e42a
Cache bounding box ( #225 )
2025-06-03 19:30:25 +02:00
Anders Jenbo
d5a6da31e3
Make OpenGL compatible with config ( #224 )
2025-06-03 19:13:03 +02:00
Joshua Peisach
e520a47e2f
Port CONFIG to Qt ( #210 )
...
Co-authored-by: Anonymous Maarten <anonymous.maarten@gmail.com>
Co-authored-by: Anonymous Maarten <madebr@users.noreply.github.com>
2025-06-03 03:48:04 +02:00
Anders Jenbo
b169a4d637
Implement OpenGL 1.5 backend renderer ( #223 )
2025-06-03 03:28:53 +02:00
AllMeatball
1ab11ed091
miniwin: Compartmentalize EnumDevices ( #222 )
...
This compartmentalizes everything to a corresponding function
for each renderer backend.
2025-06-03 02:18:20 +02:00
Anders Jenbo
2affbdfcc7
Align hardware lighting with software ( #221 )
2025-06-03 02:16:33 +02:00
Anders Jenbo
f08aec7438
Add highlights to software rendering ( #218 )
2025-06-02 04:14:40 +02:00
Anders Jenbo
5375336b5a
Pass material shininess to the renderer ( #217 )
2025-06-02 02:09:17 +02:00
Anders Jenbo
de8a7c2d91
Correct status of Direct3DRMTextureImpl::Direct3DRMTextureImpl(IDirectDrawSurface* surface)
2025-06-02 02:09:04 +02:00
Anders Jenbo
31235de706
Correct normal transformations ( #216 )
2025-06-02 01:40:19 +02:00
Anders Jenbo
ec7204ed38
Add texture rendering to the software rendere ( #211 )
2025-06-01 05:21:59 +02:00
Anders Jenbo
403ead7453
Push textures to the rendere ( #209 )
2025-05-31 23:48:20 +02:00
Anders Jenbo
613e5b8d9f
Add lighting for software renderer ( #205 )
2025-05-31 03:28:00 +02:00
Anders Jenbo
0ab5070b46
software: Add support for transparent surfaces ( #201 )
...
Co-authored-by: Anonymous Maarten <madebr@users.noreply.github.com>
2025-05-31 02:41:09 +02:00
Anders Jenbo
f6c9eaa006
Fix bad normals ( #206 )
2025-05-31 02:39:21 +02:00
Anders Jenbo
6afb7626a0
Add lighting ( #200 )
...
Co-authored-by: Anonymous Maarten <madebr@users.noreply.github.com>
2025-05-31 01:12:54 +02:00
Anders Jenbo
341d06f997
Pass the image data to the textures ( #202 )
2025-05-30 17:41:06 +02:00
Anders Jenbo
91e72261d0
Apply clipping and culling on hardware ( #198 )
2025-05-29 20:28:01 +02:00
Anders Jenbo
f1bf52db4c
Fix sky color ( #196 )
2025-05-29 19:14:06 +02:00
Anders Jenbo
4abd404f2d
Implement Software rendering
2025-05-29 04:08:01 +02:00
Anders Jenbo
ef7499bdb9
Restructure miniwin and add support for 3D backends
2025-05-29 04:07:53 +02:00
Christian Semmler
ddba1bc5c1
Fix DirectDrawPalette_SDL3GPUImpl::SetEntries ( #189 )
2025-05-28 18:22:24 -07:00
Anonymous Maarten
8f8bf3142e
Fix color space of SDL3_gpu texture ( #188 )
2025-05-28 03:40:46 +00:00
Anonymous Maarten
19f1bedd16
Add depth buffer ( #185 )
...
* Add depth buffer and calcuate normals
* Forgot do divide with the determinant
* Address review
2025-05-27 19:44:37 -07:00
Anders Jenbo
6bbddf5508
Implement Viewport::Pick() ( #183 )
2025-05-26 22:07:57 -07:00
Anders Jenbo
4e3cf45aba
Implement Direct3DRMPickedArray constructor ( #181 )
2025-05-26 07:39:43 -07:00
Anonymous Maarten
e1cddc5c0e
Move DirectDraw entry functions to backends ( #178 )
2025-05-26 01:33:39 +00:00
Anders Jenbo
3df6be1122
Correct FOV calculation ( #176 )
...
* Correct FOV calculation
* Update miniwin/sdl3gpu/src/miniwin_d3drmviewport.cpp
Co-authored-by: Anonymous Maarten <madebr@users.noreply.github.com>
---------
Co-authored-by: Anonymous Maarten <madebr@users.noreply.github.com>
2025-05-26 01:09:41 +00:00
AllMeatball
b1a04f43ff
Make FOV perspective work better ( #174 )
...
* Add camera position to the rendering
* Rebase with anders' camera code
* Add perspective matrix
* Add (at least) a better fov
* Fix formatting
* Zero out matrix in perspective function
* Fix formatting again
* Make functions static in D3DRM viewport code
Co-authored-by: Anonymous Maarten <madebr@users.noreply.github.com>
* Implement GetGroupMaterial() (#175 )
* Fix naming conflict
* Fix conflict in HMM_Perspective_LH_NO
* Fix formating
---------
Co-authored-by: Anders Jenbo <anders@jenbo.dk>
Co-authored-by: Anonymous Maarten <madebr@users.noreply.github.com>
2025-05-25 15:57:51 -07:00
Anders Jenbo
343bbbd563
Add camera position to the rendering ( #173 )
2025-05-25 22:36:04 +00:00
Anders Jenbo
cea10248aa
Implement GetGroupMaterial() ( #175 )
2025-05-25 14:35:02 -07:00
Anonymous Maarten
48958c304e
Verbose logging and static multiply ( #172 )
...
* Log SDL3GPU device creation errors
* Give D3DRMMatrixMultiply static visibility
2025-05-25 20:16:48 +00:00
Anders Jenbo
0fe44b28b8
Set viewport frustrum again ( #171 )
2025-05-25 20:03:13 +00:00
Anonymous Maarten
b24271a51b
Move miniwin to sdl3gpu subdirectory + add suffix to classes ( #170 )
2025-05-25 17:38:02 +00:00
Anders Jenbo
f2a4ce9353
Apply 3D transformations ( #168 )
2025-05-25 07:26:22 -07:00
Anders Jenbo
c6e5e10921
Implement IDirect3DRM2::CreateMaterial() ( #167 )
2025-05-25 06:53:58 -07:00
Anders Jenbo
ea73d76b7d
Fix bad assert and fail fast on bad input ( #166 )
2025-05-25 10:59:08 +00:00
Anonymous Maarten
bdbd0e31d7
Add D3DRMFrame parent <-> child relation ( #161 )
...
* Add D3DRMFrame parent <-> child relation
* Apply suggestions from code review
2025-05-24 22:18:53 -07:00
Anders Jenbo
4006c35090
Remove unused Add/DeleteVisual() ( #163 )
2025-05-25 00:52:57 +00:00
Anders Jenbo
440581bb78
Implement CreateFrame() ( #160 )
2025-05-25 00:40:50 +00:00
Anders Jenbo
e3cbbee000
Implement CreateLightRGB() ( #159 )
2025-05-25 00:40:37 +00:00
Anders Jenbo
8782fdb62e
Implement 3D geometry rendering ( #162 )
2025-05-25 02:24:32 +02:00
Anders Jenbo
695b697c4b
Implement Get/SetWindowLong(), GetMenu(), AdjustWindowRectEx() ( #155 )
2025-05-25 01:28:40 +02:00
Anders Jenbo
755b126666
Add missing MINIWIN_NOT_IMPLEMENTED() ( #158 )
2025-05-25 00:39:54 +02:00
Anders Jenbo
df3c66ae39
Implement SetFront, SetBack, and SetField in Direct3DRMViewportImpl ( #157 )
2025-05-25 00:13:22 +02:00
Anders Jenbo
36243c165b
Correct type of IDirect3DRMDevice::SetDither() argument ( #156 )
2025-05-24 22:34:54 +02:00
Anders Jenbo
99cdeb6596
Mark IDirectDrawClipper::SetHWnd() as implemented ( #154 )
...
SDL does not allow rendering outside it's window and so there is no need to limit it to the window in the first place.
2025-05-24 21:06:10 +02:00
Anders Jenbo
2fec243378
miniwin: Mark ClientToScreen() as implemented ( #153 )
...
SDL rendering works relative to the window surface and do not need translation in to screen coordinates.
2025-05-24 21:06:01 +02:00
Anders Jenbo
0a61be282e
miniwin: Implement IDirect3DRMMesh ( #144 )
...
* miniwin: Implement IDirect3DRMMesh
* Update miniwin/miniwin/src/include/miniwin_d3drmmesh_p.h
Co-authored-by: Anonymous Maarten <madebr@users.noreply.github.com>
* Update miniwin/miniwin/src/include/miniwin_d3drmmesh_p.h
Co-authored-by: Christian Semmler <mail@csemmler.com>
---------
Co-authored-by: Anonymous Maarten <madebr@users.noreply.github.com>
Co-authored-by: Christian Semmler <mail@csemmler.com>
2025-05-21 19:59:17 -07:00
Anders Jenbo
0441296d37
Sky color controls ( #149 )
...
* d3drm: Clear background color
* Update miniwin/miniwin/src/include/miniwin_d3drmviewport_p.h
Co-authored-by: Anonymous Maarten <madebr@users.noreply.github.com>
* Update miniwin/miniwin/src/include/miniwin_d3drmframe_p.h
---------
Co-authored-by: Anonymous Maarten <madebr@users.noreply.github.com>
2025-05-21 19:19:53 -07:00
Anders Jenbo
92ee03ec4d
d3drm: Minor cleanup and improvments ( #145 )
2025-05-22 00:46:42 +02:00
Anders Jenbo
046cd0c7e9
NOT IMPLEMENTED corrections ( #146 )
2025-05-22 00:46:04 +02:00
Anonymous Maarten
711a6a21bf
extract d3drm{frame,mesh} to source file, and reduce stderr spam ( #143 )
...
* extract d3drm{frame,light,mesh} to source file and reduce stderr spam
* cmake: don't add to miniwin
Visual Studio tries to compile the shaders, which does not work well
2025-05-21 20:00:14 +00:00
Anders Jenbo
ecda6c57d6
Initialize GPU 3D rendere ( #132 )
...
* Initialize GPU 3D rendere
* Embed compiled shaders in miniwin
* miniwin: Refactor D3DRM
---------
Co-authored-by: Anonymous Maarten <anonymous.maarten@gmail.com>
2025-05-21 07:25:46 -07:00
Anonymous Maarten
9d06cd9e53
Show imgui window when starting app with --debug ( #138 )
...
* Show imgui window when starting app with --debug
* g_closed test in SDL_AppIterate is still needed
* Allow disabling isleapp debugging by configuring with -DISLE_DEBUG=OFF
* clang-format
2025-05-20 23:36:51 +02:00
Anders Jenbo
63ae856370
miniwin: Remove unused code ( #136 )
2025-05-20 11:00:32 -07:00
Anders Jenbo
4e2df63d9c
Get the game working on 64bit systems ( #113 )
...
* Use int instead of long
* Move static_asserts to the bottom
---------
Co-authored-by: Anonymous Maarten <anonymous.maarten@gmail.com>
2025-05-19 17:56:12 +02:00
Anders Jenbo
fdde353b1f
minwin: Fix bitmap colors ( #125 )
2025-05-19 07:16:05 -07:00
Anders Jenbo
7972918472
miniwin: 16bit color key support ( #124 )
2025-05-19 07:15:12 -07:00
Anders Jenbo
a19827e10f
Minor palette corrections ( #122 )
2025-05-18 20:31:37 -07:00
Christian Semmler
855e965b71
Pack BITMAPFILEHEADER
2025-05-18 14:28:30 -07:00
Anders Jenbo
77cb46f91d
Add support for 8bit color key ( #110 )
2025-05-18 19:45:09 +02:00
Anders Jenbo
d1e3a69141
Use SDL_Surface instead of SDL_Texture ( #103 )
2025-05-18 09:36:03 -07:00
Anders Jenbo
5b3d99cb8f
miniwin: Remove some unused bits ( #108 )
2025-05-18 06:51:41 -07:00
Anders Jenbo
95eed31087
Fix free in minimfc ( #107 )
2025-05-17 20:45:37 -07:00
Anders Jenbo
9b8bbc3e76
Fix game startup bits ( #102 )
2025-05-17 16:39:35 -07:00
Anders Jenbo
44122f2f8a
Implement DirectDrawPalette methods ( #106 )
...
* Implement palettes
* Update miniwin/miniwin/src/miniwin_ddsurface.cpp
Co-authored-by: Anonymous Maarten <madebr@users.noreply.github.com>
* Update miniwin/miniwin/src/miniwin_ddpalette.cpp
* Update miniwin/miniwin/src/miniwin_ddraw.cpp
---------
Co-authored-by: Anonymous Maarten <madebr@users.noreply.github.com>
2025-05-17 16:17:07 -07:00
Anders Jenbo
00a68c44c6
Fix initilization and overlapping memcpu ( #101 )
2025-05-16 19:07:05 -07:00
Anders Jenbo
543edf292a
Implement all D3DRM interfaces ( #99 )
...
* Implement (most) IDirect3DRMObject methods
* Implement all interfaces
---------
Co-authored-by: Anonymous Maarten <anonymous.maarten@gmail.com>
2025-05-17 02:51:43 +02:00
Anders Jenbo
d58ce5e9a9
Implement SetWindowPos ( #98 )
2025-05-16 22:28:02 +02:00
Anonymous Maarten
c99f7c36c6
Split miniwin headers and implementation ( #96 )
...
* Split miniwin headers and implementation
* Update miniwin/miniwin/src/miniwin_ddsurface.cpp
Co-authored-by: Anders Jenbo <anders@jenbo.dk>
* Update miniwin/miniwin/src/miniwin_ddraw.cpp
Co-authored-by: Anders Jenbo <anders@jenbo.dk>
* Update miniwin/miniwin/src/miniwin_ddsurface.cpp
Co-authored-by: Anders Jenbo <anders@jenbo.dk>
* Update miniwin/miniwin/src/miniwin_ddsurface.cpp
* Update miniwin/miniwin/src/miniwin_ddraw.cpp
Co-authored-by: Anders Jenbo <anders@jenbo.dk>
* Update miniwin/miniwin/src/miniwin_ddraw.cpp
Co-authored-by: Anders Jenbo <anders@jenbo.dk>
---------
Co-authored-by: Anders Jenbo <anders@jenbo.dk>
2025-05-16 21:37:16 +02:00
Anders Jenbo
115fa35d5a
Implement more D3DRM skeleton ( #94 )
2025-05-16 06:32:39 -07:00
Anders Jenbo
9ae96cbff6
Implement a functional DirectDraw ( #81 )
2025-05-15 20:45:53 -07:00
Anders Jenbo
ab83cd51c1
Implement DirectDrawImpl::EnumDevices() ( #92 )
2025-05-15 20:00:47 -07:00
Anders Jenbo
96c962f857
Additional strict type checking in DirectX implementation ( #91 )
2025-05-15 23:18:21 +02:00
Anders Jenbo
db7781473a
miniwin: Clean up headers and make bitflags and enums strict ( #90 )
2025-05-14 19:51:41 -07:00
Anders Jenbo
b304232bde
Proper EnumDisplayModes implementation ( #88 )
2025-05-14 17:52:52 -07:00