Christoph Oelckers
8ffeb7812f
- made wall draw code API independent.
2018-10-21 13:53:50 +02:00
Christoph Oelckers
7897f26abf
- started reworking the wall drawer.
2018-10-21 13:11:36 +02:00
Christoph Oelckers
acad8315d0
- move stencil recursion counter to render state.
2018-10-21 10:58:11 +02:00
Christoph Oelckers
a97d71a3c3
- draw decals in hardware independent code.
2018-10-21 10:51:26 +02:00
Christoph Oelckers
1768508c80
- first adjustments to decal code.
...
- moved texture mode constants to a global header and consolidated with the variants of the 2D drawer.
2018-10-21 08:14:48 +02:00
Christoph Oelckers
3b7a5da83e
- moved AddFlat to gl_drawinfo.cpp and deleted gl_flats.cpp.
2018-10-21 00:38:56 +02:00
Christoph Oelckers
d45f6b9bea
- moved the flat drawer to hwrenderer.
2018-10-21 00:35:39 +02:00
Christoph Oelckers
e8f48e7535
- moved the color/fog setters to hwrenderer.
2018-10-20 23:33:07 +02:00
Christoph Oelckers
fac7c7a31c
- abstraction of render style in render state.
2018-10-20 23:14:57 +02:00
Christoph Oelckers
9ef5e00cdf
- some cleanup and preparation on RenderState interface.
2018-10-20 21:36:50 +02:00
Christoph Oelckers
3c3be0d349
- started with an abstract render interface, most importantly handle the stencil for plane flooding through the render state object instead of changing GL state directly.
2018-10-20 21:08:24 +02:00
Rachael Alexanderson
e2f6fa95d4
- fixed: attaching a new status bar to a player now calls 'setsizeneeded' - fixes an issue where the screen geometry is out of sync with the characteristics of the new status bar.
2018-10-20 13:22:11 -04:00
Christoph Oelckers
510aa600dd
- moved hw_renderstate.h to hwrenderer folder and renamed one GL constant it was using.
2018-10-20 18:37:12 +02:00
Christoph Oelckers
a4f7fd2e46
- started splitting the render state struct.
...
Reusable parts should be in hwrenderer later.
2018-10-20 13:34:29 +02:00
Christoph Oelckers
4603d01ba1
- removed some unused content from FGLRenderState.
2018-10-20 13:11:03 +02:00
Christoph Oelckers
9a03ba3cc5
- renamed FRenderState to FGLRenderState.
2018-10-20 13:05:36 +02:00
Christoph Oelckers
5f838d52b9
- some cleanup on the OpenGL interface and its flags.
...
Most importantly, the separate command line options for switching on the legacy buffer handling have been removed.
There's really no need for them anymore, because unlike in earlier versions many of the implementation differences no longer exist - with the exception of where the light and vertex buffer contents are generated.
For testing this, -glversion 3 is sufficient.
2018-10-20 12:55:25 +02:00
Christoph Oelckers
9253118bdc
- removed the quad drawer class
...
This isn't needed anymore.
2018-10-20 11:59:12 +02:00
Christoph Oelckers
74ba142eae
- allow vertex creation for sprites in the setup pass.
...
Currently only used by legacy hardware.
2018-10-20 11:53:20 +02:00
Christoph Oelckers
d37cd63fda
- use setter methods for glow initialization of sectors.
2018-10-20 11:28:51 +02:00
Christoph Oelckers
00c8c6e3b2
- generate vertices for skybox sectors in the processing pass.
...
Aside from the sprites this was the only other remaining use of FQuadDrawer.
2018-10-20 11:22:55 +02:00
Christoph Oelckers
e5ff500c5a
- rewrote render hacks to prepare their vertex data in the processing pass.
...
This eliminates 3 of the 5 remaining occurences of FQuadDrawer and gets a large section of code out of the GL backend into the common hardware rendering code.
# Conflicts:
# src/gl/scene/gl_scene.cpp
2018-10-20 10:56:12 +02:00
Christoph Oelckers
c5d1b884dd
- fixed incorrect block size calculation.
2018-10-20 10:50:22 +02:00
Christoph Oelckers
6f81310fa7
Reinstate light buffer resizing, using the same method as for the model matrix buffer
2018-10-20 10:50:02 +02:00
Christoph Oelckers
ad80efd6be
Prepared light buffer for multithreaded use
...
This necessitated removing the reallocator because that cannot be done in a multithreaded context in OpenGL. The buffer should be large enough anyway, it it all gets used, slowdowns would be unavoidable.
There was also some simplification of the buffer alignment math for uniform buffers
2018-10-20 10:49:06 +02:00
Christoph Oelckers
84a55667d9
- removed more old code from flat renderer.
...
VBOHeightCheck was from early development when interpolation was not reflected by the vertex buffer.
# Conflicts:
# src/gl/scene/gl_flats.cpp
2018-10-20 10:39:28 +02:00
Christoph Oelckers
07649fd31a
- removed some leftover code for handling dynamic lights in the render pass.
...
# Conflicts:
# src/gl/scene/gl_flats.cpp
2018-10-20 10:36:39 +02:00
Christoph Oelckers
acb9505606
- fixed cherry-picked commit so that modern OpenGL can still do the light setup in the render pass.
2018-10-20 10:33:26 +02:00
Christoph Oelckers
a9c8546ba3
- changed dynamic light setup so that it is completely in the processing pass, not the render pass.
...
# Conflicts:
# src/gl/scene/gl_flats.cpp
# src/hwrenderer/scene/hw_flats.cpp
2018-10-20 09:46:53 +02:00
Magnus Norddahl
4ac43dac36
- fix distance attenuation for PBR materials
2018-10-17 09:03:18 +02:00
Erick Tenorio
c0cf19e9b5
- Visually align Doom 2 MAP04 crusher floors
...
Use Transfer_Heights to fake floors on the crusher sectors
2018-10-16 17:38:15 +02:00
Marisa Kirisame
1e6454598c
Preserve line locknumber in savegames.
2018-10-16 08:58:37 -04:00
Christoph Oelckers
54d9ec11a8
Changed AppVeyor configuration to create the 64 bit debug build with VS 2017 and no XP toolset
2018-10-15 09:07:59 +02:00
Rachael Alexanderson
239b57b41c
- fixed: use 'setsizeneeded' more often in the scaling code. recalculating screen geometry for 2D elements when it changes never really hurts.
2018-10-14 16:27:08 -04:00
Erick Tenorio
cc8112f88d
-Fixed many IWAD mapping errors
2018-10-14 11:44:54 +02:00
Christoph Oelckers
dd719f0f14
- extended the register limit for 'param'.
...
The instruction one free instruction byte so it's now using that to extend its argument's register range to 65535.
For param this is needed because it passes strings by reference and creating an implicit temporary copy for string constants does not work here.
2018-10-14 09:13:26 +02:00
player701
eee0946bc5
- Fixed indentation
2018-10-14 00:52:00 +02:00
player701
6dc026895c
- Exported PickNewWeapon function from PlayerPawn to ZScript.
2018-10-14 00:52:00 +02:00
Rachael Alexanderson
ec7e855a56
- g3.7pre
2018-10-10 02:25:32 -04:00
Christoph Oelckers
0dc7f6be19
- fixed: MD3s with a skin-less surface left the renderer in an undefined state.
...
The frame interpolation factor wasn't reset and rendering prematurely aborted with no chance to recover.
2018-10-09 19:16:15 +02:00
Erick Tenorio
22f8c26917
Fix missing enemies in HTP-RAW.WAD MAP22
...
Make 100% kills possible on MAP22 of Hell to Pay
2018-10-09 07:44:30 -04:00
Rachael Alexanderson
e223a25863
- fixed: smooth teleporters could fudge the player over an adjacent line, causing the player to appear on top of a cliff that is much higher than the original teleport.
2018-10-09 06:55:56 -04:00
Rachael Alexanderson
3d81be1517
- always enforce a minimum distance for fog when fogmode is set to standard. without this, it was possible for the GPU to error out and stop rendering pixels for certain screen blocks
2018-10-09 04:45:23 -04:00
Erick Tenorio
643e3a78d8
Fixes for Wraith Corporation WADs
2018-10-08 18:40:25 +02:00
alexey.lysiuk
77b8eb6547
- reverted macOS dark mode support with old SDKs
...
This feature causes several issues with NSOpenGLView:
* Mouse event coordinates are wrong in non-retina mode on HiDPI screen
* In retina mode only 1/4 of picture is visible and its scaling is incorrect
* Some sort of filtering is applied to frontbuffer picture
* Noticeable increase in CPU load because of that filtering
Linking with macOS 10.14 SDK leads to all these issues regardless of .plist option presence and its value
2018-10-08 15:50:56 +03:00
Christoph Oelckers
2c9a82e084
- fixed potential null pointer access in Hexen's spike code.
2018-10-07 20:00:30 +02:00
alexey.lysiuk
4d14642cad
- enabled macOS dark mode support with pre-10.14 SDKs
...
https://developer.apple.com/documentation/appkit/nsappearancecustomization/choosing_a_specific_appearance_for_your_app
2018-10-07 11:10:29 +03:00
alexey.lysiuk
2a68926192
- use Xcode 10 for Travis builds
2018-10-07 11:08:10 +03:00
Christoph Oelckers
605d9ecdab
- removed dynamic lights from Hexen's Mana pickups.
...
They barely glow, yet were casting relatively strong lights.
2018-10-06 23:50:12 +02:00
Magnus Norddahl
d4a64284ea
Merge pull request #586 from Talon1024/feature/objSmoothCalc
...
Calculate normals for OBJ models with smooth groups
2018-10-05 21:40:16 +02:00