Commit Graph

8515 Commits

Author SHA1 Message Date
Christoph Oelckers 51baa7d137 - added code to calculate light texture coordinates on walls. 2016-05-05 11:32:21 +02:00
Christoph Oelckers 0b2821d696 - added dynamic light rendering with textures on flats 2016-05-05 10:28:21 +02:00
Christoph Oelckers c9d4c68039 - added dynamic light drawer for flats. 2016-05-05 00:24:47 +02:00
Christoph Oelckers 4412f99b38 - added the flat dispatcher for textured lighting. 2016-05-04 23:07:16 +02:00
Christoph Oelckers ec7b4b1ba4 - initial work on textured dynamic light processing. 2016-05-04 22:14:39 +02:00
Christoph Oelckers 8817f89192 - do not clip the first frame of very slow projectiles. 2016-05-04 20:31:21 +02:00
Christoph Oelckers 7b65e6d424 - use glMapBuffer instead of glMapBufferRange on older hardware. 2016-05-04 19:16:07 +02:00
Christoph Oelckers 317730584f - GZDoom still needs this. 2016-05-04 14:39:31 +02:00
Christoph Oelckers bb378f2d94 Merge branch 'master' of https://github.com/rheit/zdoom 2016-05-04 14:38:57 +02:00
Christoph Oelckers 0b833be06e - removed accidentally added GZDoom specials. 2016-05-04 14:37:52 +02:00
Christoph Oelckers 3334b28a02 - don't let the light go completely black with software-emulated lighting. 2016-05-04 14:30:10 +02:00
Christoph Oelckers bdb7594e60 - fixed: Incomplete model definitions flagged the actor as having a model, which could cause a crash. 2016-05-04 14:25:58 +02:00
Christoph Oelckers 5f095082c0 - fixed: The 2D drawing code incorrectly set the shader override to disable all special effects. 2016-05-04 14:10:06 +02:00
Christoph Oelckers 9f91fa8f43 - make the warp2 shader's formula match the software renderer's.
This fixes some jerkiness with vertical scrollers due to a bad sine period and makes the overall appearance of the effect what it was originally supposed to be. The old warp2 shader was not created by replicating the formula but by trial and error until it looked close enough.

A version of the old warp2 shader with a fixed sine period is still available as a custom hardware shader.
2016-05-04 13:47:40 +02:00
Christoph Oelckers 2c88816577 - fixed parameters for warp type 2. 2016-05-04 13:25:26 +02:00
Christoph Oelckers 54571beaca - reset the path to "" before a model definition is parsed. 2016-05-04 12:28:35 +02:00
Christoph Oelckers fd8a59bd24 - fixed: INHERITACTORPITCH was inverted.
- changed PITCHFORMOMENTUM to do nothing for very small velocities.
2016-05-04 12:23:40 +02:00
Christoph Oelckers ab8a647433 - fixed the disabled visibility rules check for dynamic lights by doing the actual check in the light's Tick() method and letting the renderer only use the result. 2016-05-04 11:33:18 +02:00
Christoph Oelckers 0a94371974 - reinstated old code for rendering fog boundaries and mirrot surfaces without shaders.
- added code for filling the render list for textured dynamic lights. This is not yet active because no code is present to handle this data.
2016-05-03 23:28:42 +02:00
Christoph Oelckers 4ea3339e40 Merge branch 'master' of https://github.com/rheit/zdoom 2016-05-03 19:46:09 +02:00
Christoph Oelckers be3b126f7b - fixed: Order of skybox and portal initialization was not well defined. It was always the last item to get initialized that got set. Changed it so that skyboxes cannot override portals at all. 2016-05-03 19:42:53 +02:00
Christoph Oelckers 0f8f08edfd - fixed: camera facing sprites need to orient themselves toward the actual camera position, not the view actor (which may be invalid or in a completely different part of the map if a portal is being rendered.) 2016-05-03 19:24:28 +02:00
Christoph Oelckers b6af4677f3 - implemented model precaching. 2016-05-03 18:14:16 +02:00
Christoph Oelckers 534500f36d - fixed software-based model interpolation. 2016-05-03 16:49:10 +02:00
Christoph Oelckers f7fda94ec9 - changed model data to store models and textures by index instead of by pointer.
The indices are needed for efficient precaching and actual changes to the logic are minor so that this was the best option overall.
2016-05-03 15:45:21 +02:00
Christoph Oelckers 0e14f00b51 - fixed caching of texture sampler state for old hardware.
- fixed handling of CLAMP_XY_NOMIP sampler mode. This cannot be lumped together with CLAMP_XY because it has different mipmap requirements.
2016-05-03 13:39:41 +02:00
Christoph Oelckers 4d7be0e20e - added software interpolation as a fallback for models.
This is not tested yet so no guarantees!
2016-05-03 13:10:00 +02:00
Christoph Oelckers ce714ac519 Merge remote-tracking branch 'remotes/zdoom/master' 2016-05-03 11:29:49 +02:00
Christoph Oelckers 942138b307 - undid some leftover texture state checks from the first attempt to handle this without sampler objects.
This code was written under the assumption that the glGenerateMipmap function does not exist. But all supported hardware has this function through the GL_EXT_framebuffer_object extension.
2016-05-03 11:27:52 +02:00
Christoph Oelckers a576243ff2 - fixed: ThrustThing should add to the velocity, not set it. 2016-05-03 10:26:29 +02:00
Christoph Oelckers 6f2b0a6293 - rewrote texture caching so that not the base texture but the actually used translations for sprites get precached. 2016-05-03 01:00:52 +02:00
Christoph Oelckers ec037bfd1a - fixed: The check for one-way portals in the renderer was incomplete. 2016-05-02 19:47:27 +02:00
MajorCooke 16bea6cf1f - Fixed: Roll must orient the rotation based on pitch, not the other way around. 2016-05-02 10:46:44 -05:00
MajorCooke 9ec3093a34 Fixed some missed cases. 2016-05-02 08:52:44 -05:00
alexey.lysiuk f9022f3054 Fixed compilation of gamma correction shader with particular OpenGL setup 2016-05-02 16:13:54 +03:00
MajorCooke def785e462 Removed PITCHFLATSPRITE. FLATSPRITE now encompasses its behavior. 2016-05-02 06:32:33 -05:00
MajorCooke 673dab7f23 Removed PITCHFLATSPRITE. FLATSPRITE now encompasses the behavior. 2016-05-02 06:29:19 -05:00
alexey.lysiuk 4c4b97316e Fixed inconsistent texture wrapping
Sampler state needs to be reseted when hardware texture resources are released
2016-05-02 13:02:55 +03:00
alexey.lysiuk 333560086d Calculate color values for gamma correction directly in shader
Gamma table texture is no longer needed
2016-05-02 11:24:42 +03:00
alexey.lysiuk 44b019413c Implemented gamma correction in OS X native backend using shader effect 2016-05-02 10:04:09 +03:00
MajorCooke a163220e8c Removed FlatAngle. 2016-05-01 17:30:30 -05:00
MajorCooke 0bf7c3e362 - Removed FlatAngle. This will come back hopefully in another commit sometime in the future. 2016-05-01 17:19:39 -05:00
Christoph Oelckers f2f3fa6d09 - parched the texture precaching so that it compiles and works again. The real work will come later. 2016-05-02 00:13:00 +02:00
Randy Heit 4fbe77fb82 Very minor optimization for ACS str(i)cmp
- If the two strings compared both point to the same location in memory,
  then we know they are the same string without having to bother actually
  comparing their contents. Note that the opposite is not neccessarily
  true: If they point to two different locations, they could still match a
  case-sensitive comparison because there are still two ACS string tables:
  the one that belongs to the map's script and the one that belongs to
  everything else.
2016-05-01 16:55:28 -05:00
Christoph Oelckers b2e67c2c7e Merge branch 'master' of https://github.com/rheit/zdoom
# Conflicts:
#	src/textures/texturemanager.cpp
2016-05-01 23:46:05 +02:00
MajorCooke f41dcc75d1 FlatAngle can now be defined directly via properties. 2016-05-01 16:33:00 -05:00
Christoph Oelckers 65e1589543 - allow specifying actor classes whose graphics to precache through MAPINFO.
- some reorganization of texture precaching so that the renderer can decide what to do with actors.

Just marking the sprite textures loses too much info if more is needed than just loading the images into memory.
2016-05-01 22:47:36 +02:00
Chris Robinson 0d402618a3 Load mono copies of multichannel sounds that are used in 3D 2016-05-01 21:44:03 +02:00
MajorCooke 3ed9551054 Fixed typo. 2016-05-01 14:33:22 -05:00
MajorCooke 980a310755 GZDoom Roll Submission 2016-05-01 14:08:09 -05:00