Commit Graph

8133 Commits

Author SHA1 Message Date
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
alexey.lysiuk f9022f3054 Fixed compilation of gamma correction shader with particular OpenGL setup 2016-05-02 16:13:54 +03: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
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
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
Christoph Oelckers b443ac8f71 - let Trace() be a bit smarter about checking 3D slopes. If one matches right up with the floor or ceiling at the line where the trace enters a sector, check a second point to see whether we deal with something inside valid sector bounds or not. 2016-05-01 19:30:51 +02:00
Christoph Oelckers 26acf8e994 - fixed conditions for menu patching. 2016-05-01 17:43:30 +02:00
Edoardo Prezioso 3aee8a3eee - Fixed a mistake in GiveInventory refactoring.
'give item' stopped working because commit 7b35f32f3d and 6aca7604eb didn't take account that give cheat with zero amount should not touch the item amount.
2016-05-01 17:07:39 +02:00
Christoph Oelckers 50ba1ecde8 - add menu patching for GL 2.x mode.
- use stdint types in model code, because we have to start somewhere with the transition.
2016-05-01 13:09:13 +02:00
Christoph Oelckers 4fb17561bc - optimize VSMatrix::Translate.
- use FVector3 for sprite rotations.
2016-05-01 12:39:08 +02:00
Christoph Oelckers 47064e24c9 - only bind the uniform buffer if it is actually going to be used. No need to check if we are use a shader storage buffer. 2016-05-01 12:01:44 +02:00
Christoph Oelckers 5ead3503b2 Merge branch 'master' of https://github.com/coelckers/gzdoom 2016-05-01 11:57:13 +02:00
Christoph Oelckers 24526f7da5 - made adjustments to floating point bounding boxes for nodes and changes to the WarpBuffer function. 2016-05-01 11:56:45 +02:00
Edoardo Prezioso a17ec55d0d - Fixed drop style gameinfo inconsistency.
The gameinfo option was ignored when deciding the initial spawn height position.
2016-05-01 11:30:09 +02:00
Christoph Oelckers 737646b45d Merge branch 'master' of https://github.com/rheit/zdoom 2016-05-01 10:50:56 +02:00
alexey.lysiuk 1deb9742de Do not call UBO functions when no extension available 2016-05-01 11:46:49 +03:00
alexey.lysiuk 138c6ea25e Fixed black screen issue in OS X native backend
There was inconsistency with global render state
2016-05-01 11:45:57 +03:00
Randy Heit 7d03ed4dc7 Use floating point node bounding boxes 2016-04-30 22:37:02 -05:00
Randy Heit 265783e1f6 Use doubles for intermediates in the nodebuilder's FindMapBounds() 2016-04-30 21:28:41 -05:00
Christopher Bruns 6d95c9d544 Fix floating point update for camera facing billboard mode. 2016-04-30 18:15:29 -04:00
Christopher Bruns c4590a2615 Fix locale string for "sprite billboard faces camera" menu option. 2016-04-30 18:15:28 -04:00
Christopher Bruns ed6cf6cf1e Add menu option for new "sprites face camera" mode.
# Conflicts:
#	wadsrc/static/menudef.z
2016-04-30 18:15:28 -04:00
Christopher Bruns 5a33005303 Reorder two billboard rotations, so they work together correctly.
Fixes #126

# Conflicts:
#	src/gl/scene/gl_sprite.cpp
2016-04-30 18:15:27 -04:00
Christopher Bruns b320787102 Implement new CVAR gl_billboard_faces_camera, which orients sprites toward camera, rather than along view direction.
# Conflicts:
#	gz3doom/GZ3DoomRiftMonitor1.bat
#	src/gl/scene/gl_sprite.cpp
#	src/gl/scene/gl_stereo3d.cpp
2016-04-30 18:15:27 -04:00
Christoph Oelckers 51991ef22d * - render partial sprites on the front side of a portal for actors behind it. 2016-04-30 23:18:37 +02:00
Christoph Oelckers ca95371a27 - fixed: gl_load.c did not handle the GL 2.x fallback for the lack of glGetStringi correctly, if that function was missing it just crashed. 2016-04-30 17:16:16 +02:00
Christoph Oelckers 8011958ebe Merge branch 'gz2x' of https://github.com/alexey-lysiuk/gzdoom
# Conflicts:
#	src/gl/system/gl_interface.cpp
2016-04-30 17:09:57 +02:00
Christoph Oelckers d84e079282 - render partial sprites oon the back side of a portal for actors in front of it. This is needed because the stencil will clip away those parts. 2016-04-30 16:57:53 +02:00
Christoph Oelckers c29e96d369 - print buffer info only if the buffer type is used.
- removed some GL specs that are not informative in GZDoom's context.
2016-04-30 16:31:09 +02:00
Christoph Oelckers 50ab301bd8 - fixed: If we want to support pre-GL3 hardware, we may not require the presence of glGetStringi. 2016-04-30 16:23:32 +02:00
alexey.lysiuk 4400d0cfcc Fixed restoration of previously bound FBO 2016-04-30 16:29:22 +03:00
alexey.lysiuk 32412c7f75 Disabled printing of junk values for unsupported extensions in OpenGL startup log on OS X 2016-04-30 16:28:50 +03:00
alexey.lysiuk 6757447f1b Enabled printing of OpenGL startup log on all platforms 2016-04-30 16:28:35 +03:00