Chris Robinson
77cce303ef
Fix merge conflict properly
2014-09-09 15:11:26 -07:00
Chris Robinson
ff6eb6df5c
Merge remote-tracking branch 'zdoom/master' into openal
...
Conflicts:
src/s_sound.cpp
2014-09-09 14:45:53 -07:00
Christoph Oelckers
acf6c259d8
- changed the handling of alpha textures. The only special case they need is with palette-less textures and this can be handled far more easily and robustly with a predefined translation instead of passing another parameter through all the layers of the texture management code. This also fixes problems with paletted PNGs that get used as an alpha texture because the old method clobbered the image's palette.
2014-09-09 13:21:36 +02:00
Christoph Oelckers
4bb320a27c
- route texture binding through the renderstate class for better control. Currently it's just a direct passthrough but this will change.
2014-09-09 12:00:42 +02:00
Christoph Oelckers
d5633701b4
- swapped order of textures in burn shader to avoid some problems with the texture samplers.
...
- fixed: texture sampler state for the burn texture was never set.
2014-09-09 10:17:44 +02:00
Christoph Oelckers
c6f4c0b6f0
- fixed: FMaterial's tex pointer could be accessed before it was set.
...
- allow more than two texture units in shaders.
2014-09-09 10:03:34 +02:00
Christoph Oelckers
62880f113b
- fix a render glitch with Back to Saturn X MAP06: Do not flood missing upper and lower textures with the backsector's flat if that backsector is malformed (i.e. has no area.)
2014-09-09 08:47:39 +02:00
Christoph Oelckers
9b8869e78d
Merge branch 'master' into v2.x
...
Conflicts:
src/gl/textures/gl_material.cpp
2014-09-09 01:30:11 +02:00
Christoph Oelckers
86d9c7ec8e
- add some compatibility settings to fix rendering glitches in BTSX_E1 MAP12.
2014-09-09 01:27:41 +02:00
Christoph Oelckers
e2c2f635ac
Merge branch 'master' of https://github.com/rheit/zdoom
2014-09-08 23:26:17 +02:00
Christoph Oelckers
5e34b78451
- missed a line.
2014-09-08 23:25:27 +02:00
Christoph Oelckers
0ff061b928
Merge branch 'master' of https://github.com/rheit/zdoom
2014-09-08 22:55:37 +02:00
Christoph Oelckers
580e580c42
- added option to set a sector's tag via compatibility.txt (needed by GZDoom)
2014-09-08 22:54:56 +02:00
Christoph Oelckers
3d2646cbae
Merge branch 'master' of https://github.com/rheit/zdoom
2014-09-08 13:02:39 +02:00
Christoph Oelckers
cfd24f438f
- jpalomo's A_Saw flags submission.
2014-09-08 13:02:05 +02:00
Gaerzi
4659a87292
Merge pull request #15 from alexey-lysiuk/fix_upscale_transparency
...
Fixed missing transparency on upscaled textures
2014-09-07 16:15:44 +02:00
alexey.lysiuk
e29fce6951
Fixed missing transparency on upscaled textures
...
Textures with diagonal patterns were treated as opaque after resizing
Images upscaled by hqNx were affected mostly by this issue
http://forum.drdteam.org/viewtopic.php?f=24&t=5370
http://zandronum.com/tracker/view.php?id=269
http://zandronum.com/tracker/view.php?id=315
2014-09-07 11:52:51 +03:00
alexey.lysiuk
e60d181e87
Removed redundant #include's that broke build of native back-end
2014-09-06 10:22:37 +03:00
alexey.lysiuk
45a88780b0
Fixed build with GCC 4.x / Xcode 3.2.x
2014-09-06 10:18:33 +03:00
alexey.lysiuk
4d799cab70
Merge branch 'master' of https://github.com/rheit/zdoom into z_osx_clean
2014-09-06 10:17:41 +03:00
Braden Obrzut
49382a2a14
- Added detection for The Adventures of Sqaure (based off MTrop's submission).
...
- IWADINFO no longer requires a mapinfo to be specified.
2014-09-04 19:36:08 -04:00
Christoph Oelckers
b96dd6c421
- fixed: The missing fourth component of the texture coordinate must be filled with 1.0, not 0.0 before applying the texture matrix. Not doing so will cancel out the translation part of the matrix.
2014-09-02 10:31:48 +02:00
Christoph Oelckers
fa3a62e954
- fix a render glitch with Back to Saturn X MAP06: Do not flood missing upper and lower textures with the backsector's flat if that backsector is malformed (i.e. has no area.)
2014-08-31 23:01:53 +02:00
Christoph Oelckers
a280c20b4e
- fixed: If we want to cache texture binding state we have to reset it in all places where a texture becomes unbound.
2014-08-31 19:00:17 +02:00
Christoph Oelckers
12160bd29c
- remove some obsolete code from decal rendering.
...
- avoid rebinding the same texture multiple times, as there's considerable overhead in the texture manager.
- check gl_sort_textures only once per scene, not per draw list.
2014-08-30 15:34:14 +02:00
Christoph Oelckers
6a3cd6378a
- found out that reading the CPU's real time clock costs a not insignificant amount of time so this is now only done when either the benchmark command is running or the rendertimes are shown.
2014-08-30 14:33:06 +02:00
Christoph Oelckers
49ec7beb8f
- separate draw lists for walls and flats. This makes the sorting much more efficient because draw types no longer need to be checked in the compare function. This is a lot more important than having perfect texture order.
2014-08-30 13:04:41 +02:00
Christoph Oelckers
8f238f8d32
- fixed: the Revenant's frame duration in its missile state were wrong.
2014-08-27 11:06:12 +02:00
Christoph Oelckers
1d2aa3df0c
fixed: The wait console command waited one tic too many because it got 1 added to it twice instead of only once.
2014-08-25 10:51:50 +02:00
Christoph Oelckers
a903cbe12e
- sorting draw items by light level no longer makes sense so remove all corresponding code from dicmp.
2014-08-24 13:10:45 +02:00
Christoph Oelckers
bf03d02228
- print OpenGL profile type in startup log.
2014-08-24 01:09:44 +02:00
Christoph Oelckers
904cc2e158
- some code cleanup.
2014-08-23 18:54:24 +02:00
alexey.lysiuk
51d7340288
Fixed crash on music volume change when no track is played using FluidSynth device
2014-08-23 16:35:05 +03:00
Christoph Oelckers
5364116354
- fixed: APROP_Friendly did not manage monster counting correctly.
2014-08-23 13:24:15 +02:00
Christoph Oelckers
bf6079af46
- fixed incorrect check for overrideshader.
2014-08-23 00:47:05 +02:00
Christoph Oelckers
1050013017
major cleanup of the texture manager:
...
- use sampler objects to avoid creating up to 4 different system textures for one game texture just because of different clamping settings.
- avoids flushing all textures for change of texture filter mode.
- separate sprite and regular dimensions on the material level to have better control over which one gets used. It's now an explicit parameter of ValidateTexture. The main reason for this change is better handling of wall sprites which may not be subjected to such handling.
- create mipmaps based on use case, not texture type.
- allows removal of FCloneTexture hack for proper sharing of the same sprite for decals and other purposes.
- better precaching of skyboxes.
2014-08-22 23:50:38 +02:00
Christoph Oelckers
7a727b6807
Merge branch 'master' into v2.x
2014-08-21 13:44:41 +02:00
Christoph Oelckers
816999109e
Merge branch 'master' of https://github.com/rheit/zdoom
2014-08-21 13:42:43 +02:00
Christoph Oelckers
eebd5c9d4d
- fixed bad edit in linedef translation.
2014-08-21 13:38:47 +02:00
Christoph Oelckers
df0d3543a8
- fixed: *ALL* original ceiling crushers, not just type 49, require a distance of 8 to the floor for the destination height. For the silent types this required a new action special, Ceiling_CrushAndRaiseSilentDist. This change only affects the XLAT mapping, the Hexen format types behave as before.
...
- removed the redundant internal ceilCrushAndRaiseDist ceiling movement type. It was precisely the same as ceilCrushAndRaise in all details.
2014-08-21 13:01:12 +02:00
Christoph Oelckers
d794d9651f
Merge branch 'upstream' of https://github.com/Edward850/zdoom
2014-08-21 12:08:24 +02:00
Christoph Oelckers
274a4216ea
- disabling inlining in the GL loader produces an executable that's 8kb smaller.
2014-08-21 11:47:53 +02:00
Christoph Oelckers
78815a9601
-we need this, too.
2014-08-21 11:29:43 +02:00
Christoph Oelckers
e132fc5eed
- replaced GLEW with GLLoadGen for GL access. This allows to have a header that only contains what's actually required, namely OpenGL 3.3 plus glBegin and glEnd which are the only compatibility functions needed for the fallback render path.
...
GLEW has two major problems:
- it always includes everything, there is no way to restrict the header to a specific GL version
- it is mostly broken with a core profile and only works if all sanity checks get switched off.
2014-08-21 11:02:46 +02:00
Edward Richardson
07d7f690e8
Non-wall sprites need their original depth checks
2014-08-21 20:03:17 +12:00
Christoph Oelckers
6f65bccf1c
- reinstated the far superior assembly HQnX version for Visual C++.
2014-08-20 12:45:33 +02:00
Christoph Oelckers
86d37e06f9
- lowered requirements of GL 2.x to OpenGL 3.3.
...
There was one issue preventing the previous 2.0 betas from running under GL 3.x: The lack of persistently mapped buffers.
For the dynamic light buffer today's changes take care of that problem.
For the vertex buffer there is no good workaround but we can use immediate mode render calls instead which have been reinstated.
To handle the current setup, the engine first tries to get a core profile context and checks for presence of GL 4.4 or the GL_ARB_buffer_storage extension.
If this fails the context is deleted again and a compatibility context retrieved which is then used for 'old style' rendering which does work on older GL versions.
This new version does not support GL 3.2 or lower, meaning that Intel GMA 3000 or lower is not supported. The reason for this is that the engine uses a few GL 3.3 features which are not present in the latest Intel driver.
In general the Intel GMA 3000 is far too weak, though, to run the demanding shader of GZDoom 2.x, so this is no real loss. Performance would be far from satisfying.
A command line option '-gl3' exists to force the fallback render path. On my Geforce 550Ti there's approx. 10% performance loss on this path.
2014-08-19 15:56:33 +02:00
Christoph Oelckers
a2dc4afe3f
- screwed by the editor's autocompletion... (wrong GL flag was used...)
2014-08-19 14:25:47 +02:00
Christoph Oelckers
00d7707aef
- allow reallocation of light buffer if more lights are needed.
...
- added a light preprocessing pass to the renderer so that a non-persistent buffer can be used with minimal mapping/unmapping. This only gets used if necessary because it adds some overhead to the renderer.
2014-08-19 14:18:21 +02:00
Christoph Oelckers
38796e7714
- removed some obsolete and useless GL calls.
2014-08-17 11:41:03 +02:00