Commit graph

1565 commits

Author SHA1 Message Date
Rachael Alexanderson
4eb98c6c5b Merge branch 'master' of https://github.com/coelckers/gzdoom 2018-04-13 09:19:16 -04:00
Christoph Oelckers
d166ab95a9 Revert "- fixed: 3D floor that extend into the real sector's floor were not clipped properly."
This reverts commit a33ad3c99e.

Turns out that this breaks legitimate maps. So I'd rather let that one broken map glitch than the good ones.
2018-03-26 19:44:41 +02:00
Rachael Alexanderson
dceae941e7 Revert "Merge commit 'refs/pull/223/head' of https://github.com/coelckers/gzdoom"
This reverts commit f8dec4c033, reversing
changes made to 41b0fc9665.
2018-03-26 07:13:20 -04:00
Rachael Alexanderson
93601d911f Merge branch 'master' of https://github.com/raa-eruanna/qzdoom
# Conflicts:
#	src/events.cpp
#	src/events.h
#	src/p_spec.cpp
#	wadsrc/static/zscript/events.txt
2018-03-26 07:12:27 -04:00
Rachael Alexanderson
2c9412e7ed Merge branch 'master' of https://github.com/coelckers/gzdoom 2018-03-26 07:08:35 -04:00
Christoph Oelckers
755cbd341b - fixed: A sprite having a picnum was not animating its image in the hardware renderer. 2018-03-25 22:01:18 +02:00
Christoph Oelckers
e89a598b31 - renamed FTexture's UseType flags and gave them a dedicated type.
This was done mainly to reduce the amount of occurences of the word FTexture but it immediately helped detect two small and mostly harmless bugs that were found due to the stricter type checks.
2018-03-25 20:26:16 +02:00
Christoph Oelckers
a33ad3c99e - fixed: 3D floor that extend into the real sector's floor were not clipped properly.
The only check being done on this was done after processing for the renderer which simply is too late.
2018-03-24 22:42:10 +01:00
Christoph Oelckers
7301001a3f - made the necessary adjustments to the HW2D interfaces to handle alpha textures properly.
These cannot be done with the regular textures so there needs to be an option to create more than one native texture per FTexture. For completeness' sake there is also the option now to create a paletted version of a texture if the regular one is true color. This fixes a long standing problem that translations were not applied to non-paletted textures.
2018-03-23 23:04:30 +01:00
Christoph Oelckers
0a07f4c144 - fixed alpha texture generation for OpenGL rendering.
The old logic used a translation table that does not work with color images, it was designed to handle 8 bit grayscale images.
So now, it creates a true color buffer and then turns it into a texture with R,G,B = 255 and the alpha channel set to the grayscale value.

This was also the reason why crosshairs made from 32 bit PNGs did not show correctly.
2018-03-22 23:57:14 +01:00
Christoph Oelckers
d586d774cf - adjusted GL renderer to the new rules for alpha textures. This means that the translation fallback is only needed for the legacy renderer now. Modern GL can use the regular texture and will apply a grayscale mapping instead of merely using the red channel. 2018-03-22 20:42:17 +01:00
Rachael Alexanderson
f8dec4c033 Merge commit 'refs/pull/223/head' of https://github.com/coelckers/gzdoom 2018-03-22 05:17:26 -04:00
Rachael Alexanderson
e946f11006 Merge branch 'master' of https://github.com/coelckers/gzdoom 2018-03-22 04:47:56 -04:00
Christoph Oelckers
f4d9ad1123 - extended FTexture::GetPixels and FTexture::GetColumn by a RenderStyle parameter.
Now it is no longer necessary to provide specially set up textures for rendering shaded decals, they can use any PNG texture now that contains a proper red channel.
Handling of the alPh chunk has been removed as a result as it in no longer needed.
2018-03-18 21:33:44 +01:00
Christoph Oelckers
7e169eb76f - split out the span generation from most texture classes
Until now each subclass of FTexture had to implement the entire span generation itself, presumably so that a few classes can use simpler structures.
This does not work if a texture can have more than one pixel buffer as is needed for alpha textures.
Even though it means that some classes will allocate more data now, it's the only way to do it properly.
In addition this removes a significant amount of mostly redundant code from the texture classes.

- added alpha texture processing to all converted classes

As of now this is not active and not tested.
Note that as part of the conversion even those textures that were working as alphatextures will not look correct until the higher level code gets adjusted.
2018-03-18 12:36:14 +01:00
Rachael Alexanderson
76f18d57b6 Merge branch 'master' of https://github.com/coelckers/gzdoom 2018-03-12 17:10:36 -04:00
Christoph Oelckers
d2fa4d0ff9 - most stat stuff done. 2018-03-12 19:33:48 +01:00
Rachael Alexanderson
7dda264752 Merge branch 'master' of https://github.com/coelckers/gzdoom
# Conflicts:
#	wadsrc/static/zscript/base.txt
#	wadsrc/static/zscript/mapdata.txt
2018-03-03 17:31:53 -05:00
Christoph Oelckers
b327aa737a Merge remote-tracking branch 'remotes/origin/materials' 2018-03-03 08:54:04 +01:00
Christoph Oelckers
bc25ad4136 - fixed a small logic error introduced by fixing the translucent particle sorting.
Due to an unintended swap of two values a few equal comparisons led to incorrect sorting.
2018-03-01 17:10:21 +01:00
Christoph Oelckers
685e5c1e95 - fixed: Camera textures must always be drawn with texture mode opaque, because the contents of their alpha channels are undefined. 2018-03-01 13:52:23 +01:00
Christoph Oelckers
b39cb4f095 - fixed translucemt sorting for particles.
At least on any semi-modern hardware. On old legacy hardware which lacks some important features this will still glitch.
2018-03-01 13:01:26 +01:00
Rachael Alexanderson
8814092eeb Merge branch 'materials' of https://github.com/coelckers/gzdoom 2018-03-01 03:37:44 -05:00
Rachael Alexanderson
353e621970 Merge branch 'master' of https://github.com/coelckers/gzdoom 2018-03-01 03:37:38 -05:00
Magnus Norddahl
48e534bf19 - Add per-pixel model light to the OpenGL 3.3 render path 2018-03-01 01:27:12 +01:00
Magnus Norddahl
6652df40c1 Merge remote-tracking branch 'gzdoom/master' into materials 2018-02-28 22:12:12 +01:00
Christoph Oelckers
e70250425a - fixed: For two-sided midtextures the light lists were always taken from the sector referenced by the rendered sidedef, not the sector in which the line gets renderered.
For polyobjects these two are not identical.
2018-02-28 13:15:04 +01:00
Rachael Alexanderson
8d655613fc Merge branch 'materials' of https://github.com/coelckers/gzdoom 2018-02-25 19:25:13 -05:00
Rachael Alexanderson
6c3789336a Merge branch 'master' of https://github.com/coelckers/gzdoom 2018-02-25 19:25:03 -05:00
Rachael Alexanderson
07f168a58b - additional check for tween-tic particle rendering, prevents jitter with timefreeze powerup 2018-02-24 16:04:20 -05:00
Magnus Norddahl
57e66555da - Change the search paths for auto folders 2018-02-21 23:20:31 +01:00
Magnus Norddahl
05827ffcda - Implement auto textures for materials 2018-02-21 23:12:46 +01:00
Rachael Alexanderson
6946f16419 Merge branch 'materials' of https://github.com/coelckers/gzdoom 2018-02-20 05:12:31 -05:00
Rachael Alexanderson
329ccd3b59 Merge branch 'master' of https://github.com/coelckers/gzdoom 2018-02-20 05:11:08 -05:00
Magnus Norddahl
4e7ca68bd6 Merge remote-tracking branch 'gzdoom/master' into materials 2018-02-20 00:22:06 +01:00
Magnus Norddahl
07fa310f23 - move material light modes to their own subshader lumps 2018-02-20 00:13:05 +01:00
Christoph Oelckers
6a02eaa595 - second part of texture fix. 2018-02-15 18:40:23 +01:00
Christoph Oelckers
ef55386d9f - let the texture manager handle the special OpenGL textures so that they get deleted and recreated when needed. 2018-02-15 17:56:04 +01:00
Rachael Alexanderson
8b26672b88 Merge branch 'master' of https://github.com/coelckers/gzdoom 2018-02-11 13:47:42 -05:00
alexey.lysiuk
61979f63c1 Removed last remnants of PowerPC Mac support 2018-02-11 16:35:34 +02:00
Rachael Alexanderson
b7b49a6586 Merge branch 'materials' of https://github.com/coelckers/gzdoom 2018-02-10 18:38:50 -05:00
Magnus Norddahl
e2cab652d0 - Improve the "#line 1" directive insertion so that errors in all the shaders use line numbers relative to the lump they are referring to 2018-02-10 14:46:43 +01:00
Magnus Norddahl
5528d4157b - Make uniform removal a little bit more robust by only searching for known legacy uniforms 2018-02-10 14:06:17 +01:00
Rachael Alexanderson
e5e9b49d82 Merge branch 'materials' of https://github.com/coelckers/gzdoom 2018-02-10 07:09:08 -05:00
Rachael Alexanderson
f2673747c2 Merge branch 'master' of https://github.com/coelckers/gzdoom 2018-02-10 07:08:57 -05:00
Magnus Norddahl
f01ef3d7a7 - Remove uniforms from user shader code 2018-02-10 12:52:59 +01:00
Magnus Norddahl
94fbcacf22 Merge branch 'gzdoom' into materials 2018-02-10 00:08:17 +01:00
Magnus Norddahl
7cbe8669b6 - fix decals not getting lit by lights not having a target while still having the LF_DONTLIGHTSELF flag
- fix decal light not being calculated from the center of the decal
2018-02-10 00:06:47 +01:00
Magnus Norddahl
3207d8aef7 - generate uniform declarations from c++ 2018-02-09 23:29:31 +01:00
alexey.lysiuk
ed23008069 Fixed crash in stereoscopic modes caused by camera without player
https://forum.zdoom.org/viewtopic.php?t=55039&start=381#p1039251
2018-02-07 11:37:02 +02:00