Christoph Oelckers
d61ec05c0f
- draw texture based dynamic lights on walls.
2016-05-05 12:18:09 +02:00
Christoph Oelckers
2b92048a5b
- renamed the texture coord variables in GLWall.
...
It makes no sense having them organized differently in this struct than what the rendering code needs. This saves one redundant copy operation and a function-local static variable.
2016-05-05 11:48:39 +02:00
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
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
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
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
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
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
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
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
Christoph Oelckers
26acf8e994
- fixed conditions for menu patching.
2016-05-01 17:43:30 +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
alexey.lysiuk
1deb9742de
Do not call UBO functions when no extension available
2016-05-01 11:46:49 +03:00
Christopher Bruns
6d95c9d544
Fix floating point update for camera facing billboard mode.
2016-04-30 18:15:29 -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
alexey.lysiuk
461c97d25b
Fixed remaining issue with shader patching for old OpenGL
2016-04-30 16:28:19 +03:00
alexey.lysiuk
893d0c8915
Added old method to collect extensions
...
This required manual changes in generated file gl_load.c
2016-04-30 13:33:54 +03:00
alexey.lysiuk
3816b46938
Fixed compilation of OS X with native backend
...
TODO: check Linux build
2016-04-30 11:53:31 +03:00
alexey.lysiuk
de6f13f0b4
Updated gl_load.* files generated with glLoadGen 2.0.5
...
Added OpenGL extensions list file for glLoadGen
Added extensions for OS X version
2016-04-30 11:43:08 +03:00