79 Commits
Author SHA1 Message Date
Tim Angus 42a9d00bbf Fix incorrect variable reference 2026-03-11 21:37:57 +01:00
smallmodel 7edc1028bd fix(renderer): load the same DCL file as the large lightmap BSP file 2026-03-01 21:16:41 +01:00
smallmodel dfd9bd230c fix(renderer): add missing surface* functions and alphagen identity 2026-02-18 00:59:35 +01:00
smallmodel bd8a07cd4e fix(compile): fix build errors in renderergl2 with some compilers 2026-02-15 22:43:58 +01:00
erysdren 7ee122f0b2 add support for loading PVR images
this is from Q3A for Dreamcast
2025-11-25 20:30:02 +01:00
smallmodel 26508d26f0 docs: correctly annotate version changes in comments 2025-11-21 23:19:46 +01:00
smallmodel f666681035 feat(ui): properly support shaders with one-shot animated textures (#839)
The issue also occurs in the original game. One-shot animated shaders would always appear as already finished.
2025-11-20 20:57:37 +01:00
Tim Angus e7c66cfb77 Double MAX_RENDER_COMMANDS
Following changes to the console code, it turned out that at very high
resolutions, the large number of glyphs rendered would cause render
commands to be dropped; avoid this by simply raising the maximum number
of render commands.
2025-11-18 20:43:43 +01:00
Tim Angus 2e58621210 Print warning when a render command is dropped 2025-11-18 20:43:32 +01:00
Lojjik Braughler f5861f5329 renderergl2: allow DDS fallback when r_ext_compressed_textures=0
R_LoadImage now tries .dds as a final fallback when compressed textures are disabled.

This allows assets to ship as DDS-only without requiring duplicate PNG/TGA for every texture.

Fixes #583.
2025-11-11 16:04:26 +01:00
Lojjik Braughler fbe9cfb445 renderergl2: reimplement greyscale as backend post after all 2D+3D draws
Fixes #654 - HUD/UI previously bypassed greyscale.
r_greyscale now supports partial desaturation [0-1].
Removed unused legacy logic from tr_shade.c
2025-11-11 16:00:46 +01:00
smallmodel 8eb3f66b45 fix(renderering): add an option for culling farplane only when rendering a portal sky (#821)
This option was present since Spearhead 2.0.
2025-11-02 14:49:16 +01:00
smallmodel 6eae2c9841 fix: use the correct format for terrain normals 2025-10-20 23:00:26 +02:00
smallmodel e75b535c82 fix: properly handle map changes on gl2 2025-10-20 22:45:55 +02:00
smallmodel ba4cf34530 fix: call R_Init() from GetRefAPI()
This fixes an issue with GL2 crashing on vid_restart
2025-10-20 22:17:39 +02:00
Tim Angusandsmallmodel 2c9e500570 XDG home directory support
Co-authored-by: smallmodel <15067410+smallmodel@users.noreply.github.com>
2025-10-19 21:03:23 +02:00
llbraughler b64a3765e5 Fix flare visibility in mirrors
Compute the flare's depth with the same projection used for the scene, then compare it to the depth we read.
2025-10-19 14:28:05 +02:00
Tim Angus 4429d22f11 Fix warnings 2025-10-06 22:48:12 +02:00
smallmodel f84e881b9a r_farclip is not a cheat variable 2025-10-06 21:09:12 +02:00
llbraughler 1e68f67743 Implement ShowNormals in RendererGL2 2025-10-05 21:55:32 +02:00
Tim Angus 031eb7ac2a Add -Wshadow to compiler warnings 2025-09-08 22:58:29 +02:00
Tim Angus d610d6f45f Fix quotes in comments 2025-09-07 20:29:29 +02:00
Tim Angus 258c5f53f9 Wrap __attribute__s in macros 2025-09-07 20:19:05 +02:00
Tim Angus 6e57eb7d00 Fix various warnings 2025-09-07 19:45:51 +02:00
smallmodel ecf70528a7 Move all C++ core classes to the corepp directory 2025-08-24 16:51:11 +02:00
smallmodelandTim Angus e556f58cc4 Reimplement CMake from upstream ioq3 (#781)
This reuse the CMake build system from ioq3, modified to make it work with the C++ code.

---------

Co-authored-by: Tim Angus <tim@ngus.net>
2025-08-08 01:03:07 +02:00
Tim Angus b0ca50c4c5 Merge identical tr_subs.c into renderercommon 2025-08-02 22:58:22 +02:00
Pan7andsmallmodel 6d2d6e1429 Replace USE_LOCAL_HEADERS with USE_INTERNAL_*
Co-authored-by: smallmodel <15067410+smallmodel@users.noreply.github.com>
2025-08-01 23:02:06 +02:00
Tim Angus 175beea77e Selectively disable -Warray-bounds 2025-07-14 21:17:24 +02:00
Tim Angus 7fc2e36bcb Use correct abs function in FBO_FastBlit 2025-07-14 21:15:21 +02:00
James Darpinian ed3af6dbf5 OpenGL2: Disable the VAO cache by default
The VAO surface cache uses glBufferSubData and triggers a very slow
path in some GLES implementations. Specifically I have observed 10x
frame times under Emscripten with ANGLE/Metal on macOS and with Mali
on Android.

Co-authored-by: Zack Middleton <zack@cloemail.com>
Co-authored-by: WofWca <wofwca@protonmail.com>

# Conflicts:
#	code/renderergl2/tr_local.h
2025-07-14 21:11:34 +02:00
smallmodel 8b75c6639b Support for clampmapx/clampmapy 2025-07-01 20:33:46 +02:00
smallmodel a924fc252b Use the hardware cursor in windowed mode (#718)
In windowed mode, the mouse is no longer grabbed when one of the UI/console catcher is active. When a UI menu is active, the system's hardware cursor is shown, using the game's custom cursor texture, instead of simulating and rendering the cursor in-game.

* Add exports to load a raw image from the renderer
* Set the hardware cursor to the game's custom mouse cursor texture
* When mouse is not grabbed, the mouse gets updated with absolute mouse position, relative to the window position
2025-05-02 16:52:39 +02:00
smallmodel ff3c27ab20 Fix assertion when the height is identical between vert0 and vert1 2025-02-08 20:28:46 +01:00
smallmodel b1a02389f6 Define REF_DLL 2025-01-31 20:22:03 +01:00
smallmodel e66fd28831 Fix incompatible functions in renderergl2 2025-01-28 21:52:58 +01:00
smallmodel 83caae7586 Fix terrain tessellation when there is insufficient tris in renderergl2 2025-01-19 17:32:14 +01:00
smallmodel 1f599e62c6 Clear numLightmaps in renderergl2 2025-01-19 17:31:50 +01:00
smallmodel 716a574abe Clean up terrain when shutting the Ref down 2024-12-30 18:51:10 +01:00
smallmodel e0dee12578 Clamp LOD terrain values 2024-12-30 16:16:17 +01:00
smallmodel 04b1e88077 Clamp r_subdivisions value 2024-12-30 16:13:50 +01:00
smallmodel 31278fba92 Make sure to bind to the renderer FBO when drawing 2024-12-22 22:41:54 +01:00
smallmodel a760cb75a3 Use RE_AddPolyToScene2 for poly like beams 2024-12-22 20:27:59 +01:00
smallmodel 1d0b912f75 Make sure to check if the sprite is valid 2024-12-22 19:57:14 +01:00
smallmodel 439e0718ce Fix sprite rendering causing crashes 2024-12-22 19:16:27 +01:00
smallmodel 4c57ba6ef3 Fix currentStaticModel assignment 2024-12-22 19:03:11 +01:00
smallmodel b4bae40da8 Fix BSP minimum and maximum version on GL2 2024-12-22 19:00:15 +01:00
smallmodel e04cbd57ea Fix most shader errors, light rendering 2024-12-21 22:49:38 +01:00
smallmodel 66664b7b46 Add tr_vis 2024-12-21 21:43:29 +01:00
smallmodel 546b90d75f Add basic 3D GL2 rendering with static models and terrain 2024-12-21 17:04:31 +01:00