Commit graph

1698 commits

Author SHA1 Message Date
Rachael Alexanderson
fd83903841 - replace dither texture with a hand pre-calculated table) 2019-06-20 19:29:12 +02:00
drfrag
0b76305e8e - Fixed compilation. 2019-06-20 19:28:24 +02:00
Magnus Norddahl
888fba12ea - use a texture for the dither matrix
# Conflicts:
#	src/gl/renderer/gl_postprocess.cpp
#	src/gl/renderer/gl_renderbuffers.h

# Conflicts:
#	wadsrc/static/shaders/glsl/present.fp
2019-06-20 18:20:33 +02:00
drfrag
7fdf558ad6 Revert "- add gl_dither for toggling dithered output on and off"
This reverts commit 770c676ac9.

# Conflicts:
#	wadsrc/static/menudef.txt
2019-06-20 18:04:30 +02:00
drfrag
8b7c5242cb Revert "Revert "- add dithering to present shader""
This reverts commit c2a3895bfe.

# Conflicts:
#	wadsrc/static/menudef.txt
2019-06-20 18:03:24 +02:00
drfrag
a7bcd8ff52 - Take vanilla light mode into account for MAPINFO but they never worked. 2019-06-14 13:33:28 +02:00
drfrag
36020225eb - Added DEG2RAD function. 2019-06-10 20:54:47 +02:00
alexey.lysiuk
977eac8672 - fixed hires texture lookup in Doomsday style .pk3
IWAD wasn't detected properly, and wrong texture can be picked as a hires replacement (e.g., SLADRIP1 from Ultimate Doom instead of TNT)

https://forum.zdoom.org/viewtopic.php?t=64915
2019-06-06 18:43:27 +02:00
drfrag
6dd1d5eb38 - Fixed uninitialized variable in case GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS does not exist.
Old graphics, like mine (Intel Sandybridge Mobile, GL 3.0 Mesa) do not support this, therefore most of the time RFL_SHADER_STORAGE_BUFFER wasn't unset (I found no consequence of this on my machine, but better safe than sorry).

Found out by Valgrind. (patch by edward-san)
2019-06-02 22:01:18 +02:00
drfrag
f7268fadd8 - This didn't work with only one light. 2019-05-03 15:26:08 +02:00
drfrag
47c9fce26a - More castings. 2019-05-02 19:26:47 +02:00
Christoph Oelckers
18bf8d65ba - fixed radius use in dynamic light traversal for models.
# Conflicts:
#	src/hwrenderer/scene/hw_spritelight.cpp

# Conflicts:
#	src/gl/scene/gl_spritelight.cpp
2019-05-02 18:00:43 +02:00
Christoph Oelckers
dd916932e1 - removed unused (now always active) gl_trimsprites option from the menu.
# Conflicts:
#	src/gl/system/gl_menu.cpp
2019-04-29 19:56:19 +02:00
usernameak
c6778628a3 Fixed postprocess shaders with 2 or more textures 2019-04-29 19:36:29 +02:00
Christoph Oelckers
60e1bb604e - removed unused gl_spritebrightfog CVAR.
# Conflicts:
#	src/gl/system/gl_cvars.h
#	src/gl/system/gl_menu.cpp
2019-04-28 22:25:12 +02:00
Christoph Oelckers
074ee3238b - sanitized the 'frozen level' code.
This had two different flags that were checked totally inconsistently, and one was not even saved.
Moved everything into a few subfunctions so that these checks do not have to be scattered all over the code.

# Conflicts:
#	src/actorinlines.h
#	src/decallib.cpp
#	src/g_levellocals.h
#	src/hwrenderer/scene/hw_sprites.cpp
#	src/p_mobj.cpp
#	src/p_saveg.cpp
#	src/p_user.cpp
#	src/polyrenderer/scene/poly_particle.cpp
#	src/scripting/vmthunks.cpp
#	src/swrenderer/things/r_particle.cpp
#	wadsrc/static/zscript/actors/player/player.zs
#	wadsrc/static/zscript/base.zs

# Conflicts:
#	src/g_levellocals.h
#	src/hwrenderer/scene/hw_sprites.cpp
#	wadsrc/static/zscript/base.txt
2019-04-28 19:10:52 +02:00
Christoph Oelckers
7b754e622c - fixed: The HUD model code did not account for placeholder sprites.
# Conflicts:
#	src/hwrenderer/scene/hw_weapon.cpp
2019-04-27 13:44:55 +02:00
Christoph Oelckers
4daa256e2f - fixed: RecreateAllAttachedLights must activate the lights it creates.
This also removes the gl_attachedlights CVAR because with the new management this doesn't really work anymore.

# Conflicts:
#	src/gl/system/gl_cvars.h
#	wadsrc/static/menudef.txt
2019-04-27 13:20:44 +02:00
drfrag
e2d24d177f - fixed: application of fake contrast should never result in a light level of 0 unless the sector's own light level is 0.
(patch by Graf)
2019-04-27 12:16:10 +02:00
drfrag
15bcc4c6a1 - Missed some castings. 2019-04-26 01:15:11 +02:00
Christoph Oelckers
8fecfb8f85 - properly handle passing of the light flags.
Since these can be changed on the placed light actor they have to be read from there, so this is now a pointer in FDynamicLight, just like the other properties that can be user-changed.
Also did some cleanup on the interface so that external code doesn't need to dereference the lightflags pointer but can use utility functions for all flags.

# Conflicts:
#	src/hwrenderer/dynlights/hw_dynlightdata.cpp
#	src/swrenderer/line/r_walldraw.cpp

# Conflicts:
#	src/g_level.cpp
#	src/gl/compatibility/gl_20.cpp
2019-04-26 00:42:05 +02:00
drfrag
1bb9b3b861 - Fixed compilation of previous commit.
# Conflicts:
#	src/gl/compatibility/gl_20.cpp
2019-04-26 00:27:39 +02:00
Christoph Oelckers
f261ec7d53 - rewrote dynamic lights to not use actors for the internal representation and made DynamicLight a purely scripted class.
This should be less of a drag on the playsim than having each light a separate actor. A quick check with ZDCMP2 showed that the light processing time was reduced to 1/3rd from 0.5 ms to 0.17 ms per tic.
It's also one native actor class less.

# Conflicts:
#	src/g_shared/a_dynlight.cpp
#	src/g_shared/a_dynlight.h
#	src/hwrenderer/dynlights/hw_dynlightdata.cpp
#	src/hwrenderer/dynlights/hw_dynlightdata.h
#	src/hwrenderer/scene/hw_renderhacks.cpp
#	src/namedef.h
#	src/scripting/thingdef_data.cpp
#	src/swrenderer/line/r_walldraw.cpp

# Conflicts:
#	src/d_main.cpp
#	src/g_levellocals.h
#	src/g_shared/a_dynlight.cpp
#	src/g_shared/a_dynlight.h
#	src/gl/dynlights/gl_dynlight.h
#	src/gl/dynlights/gl_dynlight1.cpp
#	src/gl/scene/gl_spritelight.cpp
#	src/gl/scene/gl_walls.cpp
#	src/hwrenderer/dynlights/hw_shadowmap.cpp
#	src/hwrenderer/dynlights/hw_shadowmap.h
#	src/hwrenderer/scene/hw_flats.cpp
#	src/p_setup.cpp
2019-04-26 00:19:03 +02:00
alexey.lysiuk
81cb8cb60b Fixed applying of dynamic lights to models
https://forum.zdoom.org/viewtopic.php?t=60301

# Conflicts:
#	src/gl/scene/gl_sprite.cpp
2019-04-25 20:48:17 +02:00
Christoph Oelckers
b3a8dcdbd4 store shadow map index in the light actor instead of a separate TMap
This frees another file of a direct renderer dependency and generally also should be faster
2019-04-25 20:14:00 +02:00
drfrag
708952e615 - initialize the index field for particles.
This won't contribute to sort order so it should be the same for all particles, which it wasn't because it was never set.
(patch by Graf)
2019-04-18 19:02:29 +02:00
Christoph Oelckers
cd8791d68c - fixed sprite sorting in the hardware renderer.
This did no longer sort sprites in the same position reliably since the feature to render sprites which only partially are inside a sector was added.
With this, sprites in the same position are no longer guaranteed to be added to the render list in sequence.
Fixed by adding an 'order' field to AActor which gets incremented with each spawned actor and reset when a new level is started.

The software renderer will also need a variation of this fix but its data no longer has access to the defining actor when being sorted, so a bit more work is needed here.

# Conflicts:
#	src/hwrenderer/scene/hw_drawlist.cpp
#	src/hwrenderer/scene/hw_sprites.cpp
2019-04-18 18:53:10 +02:00
Christoph Oelckers
fcacb80db5 - a few more explicit local buffer allocations removed.
# Conflicts:
#	src/gl/data/gl_setup.cpp
2019-04-18 17:00:20 +02:00
Christoph Oelckers
77c00d7670 - replaced several explicit allocations with TArrays.
# Conflicts:
#	src/r_data/models/models_voxel.cpp
#	src/textures/formats/jpegtexture.cpp
#	src/textures/formats/pcxtexture.cpp
#	src/textures/formats/tgatexture.cpp

# Conflicts:
#	src/r_data/voxels.cpp
#	src/r_data/voxels.h
2019-04-18 13:58:37 +02:00
Christoph Oelckers
ce6b24308e - fixed: sidedef-less GLWalls may not apply per-sidedef render properties.
These always come from open-sector render hacks where the renderer tries to fill in some gaps

# Conflicts:
#	src/hwrenderer/scene/hw_walls.cpp

# Conflicts:
#	src/gl/scene/gl_walls_draw.cpp
2019-04-18 13:05:44 +02:00
Magnus Norddahl
bafc5e6a3c - add vanilla lightmode that behaves exactly as Doom's original light did
# Conflicts:
#	src/hwrenderer/scene/hw_drawinfo.cpp
#	src/hwrenderer/scene/hw_renderstate.cpp
#	src/hwrenderer/scene/hw_renderstate.h
#	src/hwrenderer/scene/hw_skyportal.cpp
#	src/hwrenderer/scene/hw_weapon.cpp

# Conflicts:
#	src/g_level.cpp
#	src/gl/compatibility/gl_20.cpp
#	src/gl/renderer/gl_lightdata.cpp
#	src/gl/renderer/gl_renderstate.h
#	src/gl/scene/gl_skydome.cpp
#	src/gl/scene/gl_weapon.cpp
#	src/hwrenderer/scene/hw_weapon.cpp
#	src/hwrenderer/utility/hw_lighting.cpp
2019-04-18 12:50:03 +02:00
Rachael Alexanderson
f442d4bd54 - split gl_texture_hqresize into two variables - one for mode, one for multiplier.
# Conflicts:
#	src/textures/hires/hqresize.cpp

# Conflicts:
#	src/gl/textures/gl_hqresize.cpp
#	src/r_videoscale.cpp
2019-04-17 21:04:41 +02:00
Rachael Alexanderson
301246236c - added normal5x and normal6x 2019-04-17 20:59:20 +02:00
drfrag
96f996d8aa Revert "Revert "- update xBRZ upscaler to version 1.6""
This reverts commit 285791622d.

# Conflicts:
#	src/gl/textures/gl_hqresize.cpp
#	wadsrc/static/menudef.txt

Goodbye to TDM-GCC.
2019-04-17 20:33:41 +02:00
Christoph Oelckers
a6ff1637df - more direct native stuff, this is a week old but was almost forgotten.
# Conflicts:
#	src/hwrenderer/postprocessing/hw_postprocessshader.cpp
2019-04-17 17:42:24 +02:00
drfrag
03853930aa - Fixed compilation. 2019-04-17 12:21:08 +02:00
Christoph Oelckers
b762c0f49c Removed more literal references to AInventory.
# Conflicts:
#	src/hwrenderer/scene/hw_drawinfo.cpp
#	src/v_draw.cpp
2019-04-16 23:57:07 +02:00
drfrag666
ab5e5e0389 - The GetBlend script call is needed in another place as well.
# Conflicts:
#	src/gl/scene/gl_scene.cpp
2019-04-16 22:09:46 +02:00
drfrag
48c2f6451e - disable alpha test on models if the renderstyle isn't STYLE_Normal
- compare against the thing renderstyle since the local copy has been modified
(patches by dpJudas)
2019-04-16 21:51:19 +02:00
Christoph Oelckers
5043106e97 - started replacing direct references to class AInventory.
The easiest part was the type checks which could be changed to the name variant with a global search and replace.

# Conflicts:
#	src/hwrenderer/scene/hw_sprites.cpp

# Conflicts:
#	src/hwrenderer/scene/hw_sprites.cpp
2019-04-16 21:34:23 +02:00
drfrag
999f6f6920 - Fixed warning. 2019-04-16 17:25:08 +02:00
Christoph Oelckers
d31f67cb43 - consolidated the 3 nearly identical code fragments handling the weapon's YAdjust for the different renderers into a utility function in DPSprite.
# Conflicts:
#	src/hwrenderer/scene/hw_weapon.cpp
#	src/polyrenderer/scene/poly_playersprite.cpp
#	src/swrenderer/things/r_playersprite.cpp
2019-04-15 22:07:45 +02:00
Christoph Oelckers
9d126954d1 - removed the default parameter handling from all native script functions because it is no longer needed.
# Conflicts:
#	src/p_actionfunctions.cpp

# Conflicts:
#	src/hwrenderer/postprocessing/hw_postprocessshader.cpp
#	src/v_2ddrawer.cpp
2019-04-15 14:59:00 +02:00
drfrag666
eafac3db33 - Fixed bad merge of "- more options for Doom 64 style gradients on walls". 2018-12-08 10:07:51 +01:00
drfrag666
e1c521f4ce - Made previous condition more clear. 2018-11-22 11:16:46 +01:00
Rachael Alexanderson
d24d25ef55 - fix inverted logic of Intel check 2018-11-22 10:59:17 +01:00
Magnus Norddahl
edd58e6abf - only use shader cache on Intel
# Conflicts:
#	src/gl/shaders/gl_shaderprogram.cpp
2018-11-22 10:59:05 +01:00
Magnus Norddahl
ff761c9864 - fix compile error 2018-11-21 20:19:14 +01:00
Christoph Oelckers
34e003f7cd - regenerated gl_load with full OpenGL 4.5 declarations, mostly to get the direct state access functions. 2018-11-21 20:18:45 +01:00
Magnus Norddahl
e4dc685202 - implement a shader cache
# Conflicts:
#	src/gl/shaders/gl_shader.cpp
#	src/gl/shaders/gl_shaderprogram.cpp

# Conflicts:
#	src/gl/shaders/gl_shader.cpp
#	src/gl/shaders/gl_shaderprogram.h
2018-11-21 14:26:37 +01:00
Christoph Oelckers
ebf46b8d04 - fixed: FTexture::SmoothEdges must forward its result to the base texture in case a redirection is in effect.
Both need the bMasked flag, or some code will think that the texture is not fully opaque if no holes were found.

# Conflicts:
#	src/gl/textures/gl_material.h
#	src/textures/texture.cpp
2018-11-17 21:12:22 +01:00
Christoph Oelckers
6c76566bb1 - use the same formula for calculating 3DMidTex offsets as the renderer when per-sidedef scaling is used.
This reuses the FTexCoordInfo class the hardware renderer had been using to calculate wall texture offsetting.
The software renderers still need this sorted out to bring them in line with the rest of the code, though, but they do not have this code sufficiently well organized to make this a straightforward task.

# Conflicts:
#	src/hwrenderer/textures/hw_material.cpp
#	src/textures/textures.h
2018-11-17 20:43:52 +01:00
drfrag666
f9fff8bbce - fixed incompletely initialized secplanes in sprite splitting code.
(patch by Graf)

# Conflicts:
#	src/hwrenderer/scene/hw_sprites.cpp

LZDoom was not affected tough.

# Conflicts:
#	src/gl/scene/gl_sprite.cpp
2018-11-16 21:26:15 +01:00
Christoph Oelckers
8368331481 - more options for Doom 64 style gradients on walls:
* Colors can npw be defined per sidedef, not only per sector.
* Gradients can be selectively disabled or vertically flipped per wall tier.
* Gradients can be clamped to their respective tier, i.e top and bottom of the tier, not the front sector defines where it starts.

The per-wall colors are implemented for hardware and softpoly renderer only, but not for the classic software renderer, because its code is far too scattered to do this efficiently.

# Conflicts:
#	src/hwrenderer/scene/hw_renderstate.h
#	src/hwrenderer/scene/hw_walls.cpp

# Conflicts:
#	src/gl/scene/gl_walls_draw.cpp
2018-11-16 21:16:15 +01:00
Christoph Oelckers
07d5efcacb - instead of copying the sector planes to GLWall, just store pointers to the front and back sector for later use.
Until now this wasn't doable because these could have come from hw_FakeFlat which only were local copies on the stack.
With the recent change these faked sectors live long enough so that they can be passed around here.

# Conflicts:
#	src/hwrenderer/scene/hw_decal.cpp
#	src/hwrenderer/scene/hw_walls.cpp

# Conflicts:
#	src/gl/scene/gl_wall.h
#	src/gl/scene/gl_walls.cpp
#	src/gl/scene/gl_walls_draw.cpp
#	src/hwrenderer/scene/hw_decal.cpp
2018-11-16 20:39:22 +01:00
Christoph Oelckers
103f3f4cf9 - cache the results of hw_FakeFlat for the remainder of the current scene instead of storing this in local variables.
An exception is made for the sprite drawer which needs to call this in the worker thread on some occasions for as-yet unprocessed sectors.
This case may not alter the cache to avoid having to add thread synchronization to it.

The main reason for this change is that pointers to such manipulated sectors can now be considered static in the renderer.
Due to them being short lived local buffers it was not possible to carry them along with the render data for information retrieval.

# Conflicts:
#	src/gl/renderer/gl_renderer.cpp
#	src/hwrenderer/scene/hw_bsp.cpp
#	src/hwrenderer/scene/hw_drawinfo.h
#	src/hwrenderer/scene/hw_drawlist.cpp
#	src/hwrenderer/scene/hw_fakeflat.cpp
#	src/hwrenderer/scene/hw_renderhacks.cpp

# Conflicts:
#	src/gl/renderer/gl_renderer.cpp
#	src/gl/renderer/gl_renderer.h
#	src/gl/scene/gl_bsp.cpp
#	src/gl/scene/gl_drawinfo.cpp
#	src/gl/scene/gl_fakeflat.cpp
#	src/gl/scene/gl_renderhacks.cpp
#	src/gl/scene/gl_scene.cpp
#	src/hwrenderer/scene/hw_drawinfo.h
#	src/hwrenderer/scene/hw_drawlist.cpp
#	src/hwrenderer/scene/hw_fakeflat.h
#	src/hwrenderer/scene/hw_sprites.cpp
#	src/hwrenderer/scene/hw_weapon.cpp
2018-11-16 15:10:50 +01:00
drfrag666
63edabba16 - Changed default GL fuzz type to software. 2018-11-12 11:16:01 +01:00
drfrag666
c2a3895bfe Revert "- add dithering to present shader"
This reverts commit 60ae0915b9.

This was extremely slow on intel, the dither matrix was recreated on every frame even when not used.
2018-11-12 11:11:28 +01:00
Christoph Oelckers
3e4f1ea813 - fixed handling of wrapped midtextures to be actually useful when used in sky sectors.
# Conflicts:
#	src/hwrenderer/scene/hw_walls.cpp
2018-11-02 13:08:00 +01:00
drfrag666
557380a769 - Added alpha parameter to DrawLine for the GL renderer, it's a fake parameter for the software renderer so mods don't crash. 2018-11-02 13:04:37 +01:00
Christoph Oelckers
1e84327c40 - added missing nullptr check.
# Conflicts:
#	src/hwrenderer/scene/hw_sprites.cpp

# Conflicts:
#	src/gl/scene/gl_sprite.cpp
2018-11-01 20:55:53 +01:00
Christoph Oelckers
39d4db0a38 - added option to disable alpha testing for user shaders.
# Conflicts:
#	src/gl/shaders/gl_shader.cpp
#	src/hwrenderer/scene/hw_sprites.cpp

# Conflicts:
#	src/hwrenderer/textures/hw_material.cpp
#	src/r_data/gldefs.cpp
2018-11-01 20:51:08 +01:00
Christoph Oelckers
0623a92363 - use standard sprite lighting for voxels.
Per-pixel lighting requires normals which voxels do not have.

# Conflicts:
#	src/hwrenderer/scene/hw_sprites.cpp

# Conflicts:
#	src/hwrenderer/scene/hw_sprites.cpp
2018-11-01 20:02:46 +01:00
drfrag666
3d66b9af09 - Doubled initial size for the light buffer.
(patch by Graf)
2018-10-30 13:05:55 +01:00
drfrag666
2183f71ec6 - Make 160x100 scaling actually work, not that it's really useful.
This partially reverts "- don't let the video scale let the screen end up with a client size less than 320x200, which may cause undefined behavior and trigger asserts in debug builds."
2018-10-15 11:58:09 +02:00
Magnus Norddahl
770c676ac9 - add gl_dither for toggling dithered output on and off
# Conflicts:
#	src/gl/renderer/gl_postprocess.cpp
#	src/gl/renderer/gl_stereo3d.cpp
#	src/hwrenderer/postprocessing/hw_presentshader.h
2018-10-09 21:57:14 +02:00
drfrag666
dfe032dc8a - Fixed no rendering with shadowmaps enabled and render buffers disabled. 2018-10-05 01:56:28 +02:00
drfrag666
9d10545ff2 - Fixed non valid value. 2018-10-04 21:10:05 +02:00
Christoph Oelckers
24d09fe56a - some tweaking of shadowmap filter setting to allow changing the PCF filter's number of samplings.
# Conflicts:
#	src/gl/system/gl_cvars.h
#	src/gl/system/gl_menu.cpp
2018-10-04 19:19:56 +02:00
drfrag666
58b7967eea - enabled the linear shadowmap filter.
Although this doesn't look as good as the PCF version it is a lot less calculation intensive and therefore more suitable for weaker hardware.
It also tends to bleed through walls a lot less.
(refactored patch by Graf)
2018-10-04 19:08:49 +02:00
Rachael Alexanderson
92d631deb7 - changed macro into a regular function 2018-09-29 21:26:56 +02:00
Rachael Alexanderson
f06501da22 - implement normalNx scaling
# Conflicts:
#	wadsrc/static/menudef.txt
2018-09-29 21:26:54 +02:00
drfrag666
c320a92dcf - Fixed gcc warning. 2018-09-09 13:35:50 +02:00
Christoph Oelckers
f039fabfb8 - fixed the use of Doom-Legacy-style 3D floor lighting in light mode 8.
Legacy used some strange blending formula to calculate its colormaps for colored 3D floor lighting, this is not available in the software lighting mode, so for these the engine has to temporarily revert to light mode 2 to render them correctly.

# Conflicts:
#	src/gl/compatibility/gl_20.cpp
#	src/gl/renderer/gl_lightdata.cpp
#	src/gl/renderer/gl_renderstate.h
#	src/gl/scene/gl_sprite.cpp
#	src/hwrenderer/scene/hw_weapon.cpp
#	src/hwrenderer/utility/hw_lighting.cpp
#	src/hwrenderer/utility/hw_lighting.h
#	src/v_2ddrawer.cpp
2018-09-09 13:09:31 +02:00
Christoph Oelckers
7848bab7b3 - fixed math imprecisions in horizon vertex generation.
Floats are not precise enough to be used as a loop counter.
2018-09-09 11:29:19 +02:00
Christoph Oelckers
1e487ee30a - added profiling for postprocessing code.
# Conflicts:
#	src/gl/scene/gl_scene.cpp
#	src/gl/utility/gl_clock.cpp
#	src/hwrenderer/utility/hw_clock.h
2018-09-02 13:07:02 +02:00
drfrag666
a2674eb4cf - Added fake DrawThickLine action function so mods using it don't crash. DrawLine will be called instead. 2018-09-02 00:29:11 +02:00
Christoph Oelckers
4efb5187c7 - defaulted constructors and assignment operators of several trivial types.
# Conflicts:
#	src/hwrenderer/textures/hw_material.cpp
2018-08-28 13:43:51 +02:00
Christoph Oelckers
d729e31603 - made the MapSectionGenerator a class to remove a global array. 2018-08-22 12:02:16 +02:00
Christoph Oelckers
390c9117f1 - fixed bad comparators for std::sort 2018-08-22 02:16:19 +02:00
Christoph Oelckers
4ee0cc7841 - use std::sort to sort the draw lists to avoid having to go through global variables. 2018-08-22 01:53:55 +02:00
Christoph Oelckers
cad63e9b48 - removed access to deleted variable. 2018-08-22 01:49:53 +02:00
Christoph Oelckers
26a782031c - no, we do not want to use global variables to pass parameters around...
# Conflicts:
#	src/gl/models/gl_models.h
2018-08-22 01:49:33 +02:00
Christoph Oelckers
ec1c71feb1 - removed empty header gl_convert.h
# Conflicts:
#	src/gl/scene/gl_flats.cpp
#	src/gl/scene/gl_scene.cpp
2018-08-22 01:21:20 +02:00
drfrag666
d79855d26b - disable any texture clamping for textures with a user shader.
This cannot be reliably determined so the least restrictive setting must be used.
(refactored patch by Graf)
2018-08-21 15:06:53 +02:00
Magnus Norddahl
a1c5194a25 - fix missing forward declaration when falling back to older user shaders 2018-08-20 20:11:36 +02:00
drfrag666
76dffaf658 - Fixed bad merge of "- rewrite the user shader support for materials - new syntax is to create a 'Material ProcessMaterial()' function". 2018-08-20 12:50:54 +02:00
Magnus Norddahl
9c74c9629a - rewrite the user shader support for materials - new syntax is to create a 'Material ProcessMaterial()' function
# Conflicts:
#	src/gl/shaders/gl_shader.cpp
#	src/hwrenderer/textures/hw_material.cpp
#	src/r_data/gldefs.cpp
#	wadsrc/static/shaders/glsl/main.fp
2018-08-20 01:22:34 +02:00
usernameak
57d4536f76 Fix codestyle; add ability to name the textures 2018-08-19 21:50:29 +02:00
usernameak
5cddbe4a16 Made ability to define custom material shaders for ProcessMaterial function
# Conflicts:
#	src/r_data/gldefs.cpp
2018-08-19 21:50:14 +02:00
usernameak
4c106de5d7 Custom hardware shaders now can use custom texture units
# Conflicts:
#	src/gl/textures/gl_material.cpp
#	src/textures/textures.h
2018-08-19 21:47:32 +02:00
Christoph Oelckers
b03c329ec6 - moved all GLDEFS parsing into a dedicated source file.
- split gl_postprocessshader.h in two so that the hardware independent part can be used by GLDEFS without pulling in all of OpenGL.

# Conflicts:
#	src/CMakeLists.txt
#	src/gl/dynlights/gl_glow.cpp
#	src/gl/renderer/gl_postprocess.cpp
#	src/gl/textures/gl_texture.cpp
2018-08-19 20:56:49 +02:00
drfrag666
285791622d Revert "- update xBRZ upscaler to version 1.6"
This reverts commit 6dd17b4ef0.

This broke compilation with TDM-GCC 5.1. While it has problems i still use it for convenience, also no more win98.
2018-08-12 11:36:58 +02:00
alexey.lysiuk
aa4cb300da - added 5x and 6x upscaling with xBRZ 2018-08-10 21:16:09 +02:00
alexey.lysiuk
8197bf436d - cleaned up old xBRZ 1.0 upscaler
Removed obsolete header comments and support for C++98
Disabled Windows only debug features

# Conflicts:
#	src/gl/xbr/xbrz_old.cpp
2018-08-10 21:16:07 +02:00
alexey.lysiuk
6dd17b4ef0 - update xBRZ upscaler to version 1.6
Fixed build with all suported toolchains thanks to incomplete implementation of C++14 in MSVC 2015 and GCC 4.9
Removed obsolete header comments and support for C++98
Disabled Windows only debug features

https://sourceforge.net/projects/xbrz/
https://sourceforge.net/projects/xbrz/files/xBRZ/xBRZ_1.6.zip
2018-08-10 21:05:40 +02:00
Christoph Oelckers
01109897b0 - replaced gl_PatchMenu with an MMX 'ifoption' check.
# Conflicts:
#	src/gl/system/gl_framebuffer.cpp
2018-08-10 20:47:06 +02:00
drfrag666
5b76d7563b - Changed default GL sprite billboard mode to X/Y axis. 2018-08-04 14:44:43 +02:00
Christoph Oelckers
a7a350d37e - always retrieve uniform buffer properties.
They are sometimes needed even if shader storage buffers are available.

# Conflicts:
#	src/gl_load/gl_interface.cpp
2018-07-29 22:34:11 +02:00
Christoph Oelckers
425d756f04 - do not use SSBOs for dynamic lights on Intel graphics hardware for performance reasons.
This was already disabled for GL 4.4 and lower but also needs to be done for Intel's GL 4.5 drivers.
Unlike before this is now exclusive to the light buffer, the shadowmap feature is not affected anymore, although that should be impossible to use anyway on all affected hardware due to lack of computing power.

# Conflicts:
#	src/gl/shaders/gl_shader.cpp
#	src/gl_load/gl_interface.cpp
2018-07-28 19:38:47 +02:00