Commit graph

3233 commits

Author SHA1 Message Date
Daniel Gibson
e124ddb4d0 GLES3 support in CMake 2022-04-27 00:33:46 +02:00
Daniel Gibson
2a8bd9e7a6 GL3: build ref_gles3 in addition to ref_gl3
instead of making it a compile-time option, just build both
2022-04-27 00:33:46 +02:00
Daniel Gibson
a195305592 GL3: Fix particles on RPi4
tested V3D 4.2; OpenGL ES 3.1 Mesa 20.3.5
2022-04-26 04:10:57 +02:00
Daniel Gibson
89f63915a3 GLES3: Make newer shaders work with OpenGL ES 2022-04-26 04:09:38 +02:00
Daniel Gibson
c936e43420 GL3: Use one projection-view matrix in shaders
instead of separate projection and view matrices - this way there is
one less mat4 multiplication in the 3D vertex shaders.
2022-04-26 04:09:38 +02:00
Daniel Gibson
1eabde6b55 GL3: Make GLES3 work on Raspberry Pi 4B
(older Raspberry Pi versions don't support OpenGL ES 3.0, only 2.0)
2022-04-26 04:09:38 +02:00
Daniel Gibson
8737ce64fc GL3: Support OpenGL ES3.0 (compile time option GL3_GLES=yes)
the option defaults to no, of course.
2022-04-26 04:09:38 +02:00
Daniel Gibson
c6145b4e6a GL3: Only use FBO if under water
because on some systems (like RPi4 with my experimental GLES3 branch)
the overhead of a FBO is really noticeable, so no reason to pay for it
when it's not needed
2022-04-26 04:08:21 +02:00
Daniel Gibson
3d619a1441 GL3: Implement underwater postprocess effect using framebuffer object
Can be disabled with gl3_usefbo 0.
Mostly this adds an underwater warping effect, like the soft-renderer,
and also like the vulkan renderer (the shader is based on the vk one).
When this is enabled, the v_blend effect (for fullscreen overlay with
one color, like when hit or to make the screen white-ish when under
water) is now applied in the shader used for rendering the FBO instead
of rendering a fullscreen quad in blendmode.
2022-04-25 17:44:51 +02:00
Yamagi
4db6534ab3 Implement damage tracking for the framecounter.
This fixes the framecounter in the soft renderer when `viewsize` is set
to something smaller than 100. This requires the renerer to rerender
bigger parts of the borders which has a measurable speed impact. About
5 frames less with the framecounter enabled on my system. No impact with
`viewsize 100`.
2022-04-24 00:17:48 +02:00
Yamagi
be3e0cc695 Fix viewsize not working correctly with the GL renderers.
The GL renderers require that the borders are redrawn after every
glClear() call, the damage tracking doesn't take that into account.
Since the speedup by the damage tracking is neglibiable in the GL
renderers, don't use it. Just redraw everything when we're running
with everthing which isn't the soft renderer.
2022-04-24 00:01:14 +02:00
Yamagi
a9a0c35a98 Rename the nightmare menu entry to hard+.
I think this looks ugly, I always called it nightmare and it was one of
the first changes I've made to Quake II. But for the sake of peace and
quiet change it to be standard conformant. Closes #809.
2022-04-23 16:35:27 +02:00
Yamagi
aa5d6636d6
Merge pull request #814 from protocultor/gamecontrollerdb
Load gamecontrollerdb.txt for SDL2 joy mappings
2022-04-23 16:21:09 +02:00
Yamagi
60b5ec3268
Merge pull request #812 from 0lvin/fixes
Fixes for soft render with disabled color lighting
2022-04-23 16:11:34 +02:00
Denis Pauk
b2500d6aed soft: revert to use colormap
Apply light uses colormap for each color components with colorlights.
2022-04-17 23:25:22 +03:00
Denis Pauk
afc892001d soft: move light code to separate function 2022-04-17 23:07:38 +03:00
Denis Pauk
a58fb0ed01 soft: fix colors 2022-04-17 23:07:38 +03:00
Denis Pauk
96a78c41c8 soft: speedup apply grey light to wall 2022-04-17 23:07:38 +03:00
Denis Pauk
e1d5bad4db soft: fix grey light with fix c20c47b0 2022-04-17 23:07:38 +03:00
Jaime Moreira
45d8228dff Corrected silly string concatenation 2022-04-16 11:53:22 -04:00
Jaime Moreira
db0e643419 Load gamecontrollerdb.txt for SDL2 joy mappings 2022-04-16 01:37:15 -04:00
Yamagi
6e45f5a66b
Merge pull request #810 from protocultor/prefweap
Added prefweap command to select weapon by priority
2022-04-13 11:51:33 +02:00
Yamagi
c9a5bc5d03
Merge pull request #811 from protocultor/sdlbackbutton
Added cvar to define SDL gamepad's 'Back' button
2022-04-11 09:26:07 +02:00
Jaime Moreira
fadb281ec9 Added cvar to define SDL gamepad's 'Back' button 2022-04-06 22:15:14 -04:00
Jaime Moreira
f80e5224bb Added prefweap command to select weapon by priority 2022-04-06 15:28:34 -04:00
Yamagi
9d451faca5
Merge pull request #808 from devnexen/sw_useq
S/W last instance of strncpy usage.
2022-04-03 17:46:58 +02:00
Yamagi
8fa5ea3599
Merge pull request #807 from devnexen/config_settings_haiku
saving data into Haiku system user config.
2022-04-03 17:44:06 +02:00
Yamagi
d827636c73
Merge pull request #804 from 0lvin/softcolorlight
WIP: Add color light to soft render
2022-04-03 17:43:38 +02:00
David Carlier
2425082a04 S/W last instance of strncpy usage. 2022-04-03 14:58:04 +01:00
David Carlier
7ce0964b9b saving data into Haiku system user config. 2022-04-02 04:22:55 +00:00
Denis Pauk
ccb22843bf soft: use float for medium light 2022-03-29 22:29:28 +03:00
Denis Pauk
e650eff100 soft: preshift values in lightmap 2022-03-29 22:29:28 +03:00
Denis Pauk
020ce27109 soft: speedup colorlight=0
colorlight>0 is regressed little bit.
2022-03-29 22:29:28 +03:00
Denis Pauk
a0da1717cc soft: use max light in blocklights (colorlight=0) 2022-03-29 22:29:28 +03:00
Denis Pauk
3b825670ba soft: fix lightmap mask 2022-03-29 22:29:28 +03:00
Denis Pauk
c20c47b06f soft: skip light apply on wall's 2022-03-29 22:29:28 +03:00
Denis Pauk
ff1814922e soft: use vid_lightthreshold for skip apply light 2022-03-29 22:29:28 +03:00
Denis Pauk
c73eac63b3 soft: rename r_colorlight -> sw_colorlight 2022-03-29 22:29:28 +03:00
Denis Pauk
b5d45d0371 soft: use lightmap convert table 2022-03-29 22:29:28 +03:00
Denis Pauk
6af5dc1d98 soft: more use of light3_t 2022-03-29 22:29:28 +03:00
Denis Pauk
5eed0ca5d9 soft: reuse R_Alias_clip_scale 2022-03-29 22:29:28 +03:00
Denis Pauk
5fcf0a3afc soft: resuse compact vert_t 2022-03-29 22:29:28 +03:00
Denis Pauk
3f33522977 soft: use separate light3_t 2022-03-29 22:29:28 +03:00
Denis Pauk
480f278045 soft: directly copy r_ambientlight 2022-03-29 22:29:28 +03:00
Denis Pauk
6c80d9b987 soft: add full color light 2022-03-29 22:29:28 +03:00
Denis Pauk
a6839bc584 soft: add fullcolor light apply 2022-03-29 22:29:28 +03:00
Denis Pauk
15553b9971 soft: use plightvec directly 2022-03-29 22:29:28 +03:00
Denis Pauk
36542e737c soft: make pointcolor local 2022-03-29 22:29:28 +03:00
Denis Pauk
12b27e631d fix C --pedantic warnings
* extra semicolon in struct or union specified
* ISO C does not allow extra ‘;’ outside of a function
2022-03-29 22:29:28 +03:00
Denis Pauk
65f8c171c5 soft: use named struct vert_t instead array 2022-03-29 22:29:28 +03:00