Magnus Norddahl
f5c2ffabc9
- fix softpoly portal crash and blinking translucent objects
2018-04-16 01:08:29 +02:00
Magnus Norddahl
21c2d38342
- fix softpoly canvas drawing not restoring all globals properly
...
- add null pointer check on camera
2018-04-15 16:05:29 +02:00
Magnus Norddahl
11bb626ab6
- always store 255 in alpha channel for opaque things as the alpha channel is no longer ignored by the framebuffer backend (softpoly drawer)
2018-04-15 14:47:53 +02:00
Magnus Norddahl
61032cb6ae
- fix softpoly portal crash
2018-04-15 14:40:52 +02:00
Magnus Norddahl
ee443b6fb6
- disable software models
2018-04-14 22:22:40 +02:00
Magnus Norddahl
915f8862a7
- Remove code that seemingly doesn't do anything and really shouldn't be needed
2018-04-13 21:56:34 +02:00
Magnus Norddahl
7e544c66fe
Merge remote-tracking branch 'gzdoom/master' into swmodels
2018-04-13 21:35:21 +02:00
Christoph Oelckers
3dc670a0cc
- missed this.
2018-04-08 21:02:15 +02:00
Christoph Oelckers
e6ce429ca5
- fixed alpha for hardware rendered weapon sprites in the software renderer.
2018-04-08 20:40:29 +02:00
Magnus Norddahl
c4768441b4
- Fix playersprite offset being wrong in softpoly
...
- Remove DFrameBuffer::GetCanvas as it always returned null
2018-04-08 15:49:06 +02:00
Magnus Norddahl
4a730f6dd5
- Fix softpoly ignores status bar displacement
2018-04-08 14:28:48 +02:00
Christoph Oelckers
df4f435952
- merged vid_renderer, swtruecolor and r_polyrender into one CVAR to reduce menu clutter.
...
- with renderers freely switchable, some shortcuts in the 3D floor code had to be removed, because now the hardware renderer can get FF_THISINSIDE-flagged 3D floors.
- changed handling of attenuated lights in the legacy renderer to be adjusted when being rendered instead of when being spawned. For the software renderer the light needs to retain its original values.
2018-04-07 23:30:28 +02:00
Magnus Norddahl
c15328de2f
- Remove include that shouldn't be there (also caused macOS builds to fail)
2018-04-07 19:35:32 +02:00
Magnus Norddahl
2d51fa5b43
- Clean up PolyTriangleDrawer API so that it can better support both softpoly and the swrenderer
...
- Slightly improve how softpoly processes portals
- Pass the vertex transform matrix via a command rather than being part of the drawer args
- Improve zbuffer drawers in the software renderer
- Misc model rendering fixes
2018-04-07 15:48:48 +02:00
Christoph Oelckers
b34d7f9e08
- added a software scene drawer to the GL renderer.
...
It still looks like shit and only works on the modern render path but at least the basics are working.
2018-04-07 10:20:59 +02:00
Christoph Oelckers
65e7b6dfaa
- moved the code in gl_data.cpp to better fitting places
...
* the MAPINFO options now get handled in g_mapinfo.cpp and g_level.cpp, just like the rest of them as members of level_info_t and FLevelLocals.
* RecalcVertexHeights has been made a member of vertex_t and been moved to p_sectors.cpp.
* the dumpgeometry CCMD has been moved to p_setup.cpp
2018-04-01 18:45:27 +02:00
Christoph Oelckers
6d6196388e
- made SPROFS a more usable feature.
...
This was originally invented to fix the sprite offsets for the hardware renderer.
Changed it so that it doesn't override the original offsets but acts as a second set.
A new CVAR has been added to allow controlling the behavior per renderer.
2018-03-31 10:37:46 +02:00
Christoph Oelckers
1e5fbc1423
Merge remote-tracking branch 'remotes/origin/master' into 2D_Refactor
...
# Conflicts:
# src/posix/cocoa/i_video.mm
2018-03-30 22:06:17 +02:00
alexey.lysiuk
709bbe3db0
Fixed crash on accessing player sprite's state in software renderer
...
https://forum.zdoom.org/viewtopic.php?t=60034
2018-03-30 16:40:31 +03:00
Christoph Oelckers
a40e085a46
- 2D drawer implementation complete for hardware renderer.
...
This also replaces DTA_ColormapStyle with proper implementations of its components. As implemented it was a very awkward mixture of various effects that already existed in a separate form. As a result of its implementation it required additional but completely redundant shader support which could be removed now. As a side effect of this change a new DTA_Desaturate option was added.
2018-03-29 16:21:21 +02:00
Christoph Oelckers
2ed744963c
- Changed frame buffer locking mechanism so that the only place where a lock is needed is when the software renderer wants to access the render buffer, which is precisely for the duration of the RenderView function.
...
No more locking insanity! :)
There are no locking counters or other saveguards here that would complicate the implementation because there's precisely two places where this buffer must be locked - the RenderView functions of the regular and poly SW renderer which cannot be called recursively.
2018-03-27 20:02:44 +02:00
Christoph Oelckers
0c3635e22c
- removed vid_hw2d CVar.
2018-03-27 17:58:25 +02:00
Christoph Oelckers
62f073ef60
- removed Accel2D variable and a little bit of locking cruft.
2018-03-27 17:13:10 +02:00
Christoph Oelckers
c06ad5c59c
- separated DFrameBuffer from DCanvas.
...
This was a bad idea from the start and really only made sense with DirectDraw.
These days a FrameBuffer represents an abstract hardware canvas that shares nothing with a software canvas so having these classes linked together makes things needlessly complicated.
The software render buffer is now a canvas object owned by the FrameBuffer.
Note that this commit deactivates a few things in the software renderer, but from the looks of it none of those will be needed anymore if we set OpenGL 2 as minimum target.
2018-03-27 14:14:46 +02:00
Christoph Oelckers
bb9283a9af
- work on separating DFrameBuffer from DCanvas.
...
2D works in D3D backend, but 3D crashes because not all pointers have been rerouted yet.
2018-03-27 13:50:31 +02:00
Christoph Oelckers
ba799aebbd
- moved locking logic from DCanvas to DFrameBuffer.
...
The software canvases used for rendering camera textures and save pictures in the software renderer do not need this.
2018-03-27 11:12:13 +02:00
Christoph Oelckers
e89a598b31
- renamed FTexture's UseType flags and gave them a dedicated type.
...
This was done mainly to reduce the amount of occurences of the word FTexture but it immediately helped detect two small and mostly harmless bugs that were found due to the stricter type checks.
2018-03-25 20:26:16 +02:00
Christoph Oelckers
f4d9ad1123
- extended FTexture::GetPixels and FTexture::GetColumn by a RenderStyle parameter.
...
Now it is no longer necessary to provide specially set up textures for rendering shaded decals, they can use any PNG texture now that contains a proper red channel.
Handling of the alPh chunk has been removed as a result as it in no longer needed.
2018-03-18 21:33:44 +01:00
Magnus Norddahl
a2b9a70835
- Fix crash when reloading a map
2018-03-17 00:09:43 +01:00
Rachael Alexanderson
07f168a58b
- additional check for tween-tic particle rendering, prevents jitter with timefreeze powerup
2018-02-24 16:04:20 -05:00
Magnus Norddahl
b8415199c9
Fix culling bug
2017-12-28 11:43:52 -05:00
Rachael Alexanderson
a441cea350
- interpolate particles
2017-12-28 11:36:36 -05:00
Magnus Norddahl
52be9895b7
- Disable softpoly models
2017-12-03 00:23:28 +01:00
Magnus Norddahl
f9fb4a0a17
- Cull back facing triangles for the span drawers
2017-11-29 00:12:15 +01:00
Magnus Norddahl
fae514923a
- Move depth testing out of span drawers
2017-11-28 23:08:28 +01:00
Magnus Norddahl
01fd404133
- Fix palette drawer crash
2017-11-28 22:03:51 +01:00
Magnus Norddahl
e0defb060d
- Add a slightly faster truecolor model drawer
2017-11-28 21:38:02 +01:00
Magnus Norddahl
d43ac8b9ae
- Add model rendering to the software renderer
2017-11-27 23:47:26 +01:00
Christoph Oelckers
836970f012
- moved the matrix code out of 'gl' because the model code also needs it.
2017-11-25 13:51:09 +01:00
Magnus Norddahl
679f42db78
- Remove model GL dependencies except for the matrix classes
2017-11-25 13:00:44 +01:00
Magnus Norddahl
a120a4657e
- Apply viewpoint roll
2017-11-24 22:03:46 +01:00
Rachael Alexanderson
1f00810f40
- re-doubled the model rotation code
2017-11-23 21:27:16 -05:00
Magnus Norddahl
00d7dd0c64
- Implement model rendering in softpoly
2017-11-24 00:39:10 +01:00
Magnus Norddahl
e7e9d1a942
- Fixed bug introduced by removing a little bit too much from the rect drawers
2017-11-22 19:02:25 +01:00
Magnus Norddahl
9052ee6bc8
- Added scaled fuzz to softpoly pal drawer
2017-11-22 18:54:49 +01:00
Magnus Norddahl
f04fca75f7
- Add scaled fuzz to softpoly sse2 drawer
2017-11-22 18:46:45 +01:00
Magnus Norddahl
4e4f94db2f
- Implement newer scaled fuzz in softpoly's truecolor non-sse drawer
2017-11-22 06:32:55 +01:00
Magnus Norddahl
5532266b14
- Fix softpoly sprite positioning bug
2017-11-20 22:43:44 +01:00
Magnus Norddahl
e71e4b6dc8
- Improved transfer heights support in softpoly
2017-09-30 23:58:11 +02:00
Magnus Norddahl
0ee021a972
- Improve transfer heights support in softpoly
2017-09-29 05:23:17 +02:00
Magnus Norddahl
d7164ba4e1
- Don't apply dynamic light to fullbright sprites
2017-09-23 16:22:22 +02:00
Magnus Norddahl
5ffd26abeb
- Add dynamic lights to the non-sse true color drawer
2017-09-23 15:51:40 +02:00
Magnus Norddahl
f3ba92f03c
- Add dynamic light to sprites
2017-09-23 14:14:59 +02:00
Magnus Norddahl
789214200c
- Attenuated lights support
2017-09-23 02:27:39 +02:00
Magnus Norddahl
ca2ef805b8
- Implement the affine part of the dynamic lights in the softpoly TC SSE2 drawer
2017-09-22 00:57:51 +02:00
Magnus Norddahl
94a33229cc
- Remove unused function argument
2017-09-22 00:56:14 +02:00
Magnus Norddahl
dd8a114bb8
- Initial dynamic light support for softpoly
2017-09-21 05:39:16 +02:00
Magnus Norddahl
59ee89b622
- Make the relationship between TriMatrix, TriVertex and ShadedTriVertex more clean
2017-09-21 01:21:21 +02:00
Magnus Norddahl
afab50b489
- Added subdivision coverage testing and an alternative triangle renderer for speed comparison
2017-09-16 15:48:39 +02:00
Rachael Alexanderson
ac566f4a84
- fixed: PlayerSprite in softpoly was not calculated correctly. Sprite will now not go all sorts of crazy places when you enable alternative scaling or forced aspect modes.
2017-09-12 15:56:35 -04:00
Magnus Norddahl
70220fb4cc
- Slightly improve softpoly opaque pass performance
2017-09-12 02:40:09 +02:00
Magnus Norddahl
0924cc3f0f
- Fix crash when switching levels
2017-09-10 17:11:17 +02:00
Magnus Norddahl
4d671fb618
- Improve softpoly culling performance
2017-09-10 16:29:57 +02:00
Magnus Norddahl
5ab0f34aca
- Don't draw 3d floor walls that have zero height or less
2017-09-10 02:18:07 +02:00
Magnus Norddahl
4706c56690
- Fix portals crashing softpoly
2017-09-10 02:17:18 +02:00
Magnus Norddahl
7a1274ab76
- Collect all PVS information first so that processing the individual sectors can be done on multiple threads
2017-09-07 00:34:09 +02:00
Magnus Norddahl
dd0bc02eec
- Convert PolyTranslucentObject to be a base class for all the different forms of translucent objects to be drawn
2017-09-02 18:17:55 +02:00
Magnus Norddahl
23aebaecc6
- Cleaned up some copyright statements
...
- Removed unused cull argument from some functions
2017-09-02 17:14:02 +02:00
Magnus Norddahl
0f0cf7261e
- Remove unused code
2017-09-02 15:02:06 +02:00
Magnus Norddahl
b80bf6930a
- Translucent 3d floor plane support
2017-09-02 02:51:09 +02:00
Magnus Norddahl
393373a661
- Clean up plane rendering code slightly
2017-09-02 02:12:29 +02:00
Magnus Norddahl
fbaa3e7cb0
- Removed unused cull function argument
2017-09-02 01:34:36 +02:00
Magnus Norddahl
e851734b33
- Added translucent 3d floor walls support
2017-09-02 01:24:57 +02:00
Magnus Norddahl
b3916c1d01
- Add FF_UPPERTEXTURE and FF_LOWERTEXTURE support to softpoly
2017-09-02 00:35:48 +02:00
Magnus Norddahl
27dfebdb7d
- Fix plane light levels used when a sector has a lightlist
2017-08-29 01:22:10 +02:00
Magnus Norddahl
293f62fcd2
- Striped wall (lightlist) support
...
- Add two extra clipping planes to poly backend
- Make ShadedTriVertex internal to drawer backend
2017-08-27 23:26:54 +02:00
Magnus Norddahl
8c146e4e71
- Transfer light support
2017-08-27 17:27:49 +02:00
Magnus Norddahl
45388d8a31
- Clip decals to the wall part
2017-08-27 17:18:39 +02:00
Magnus Norddahl
2f5535dbca
- Fix HOM for Line_Horizon specials when used with a skybox
2017-08-19 14:32:34 +02:00
alexey.lysiuk
ec42e30614
Fixed compilation warning reported by Clang
...
src/polyrenderer/scene/poly_wall.cpp:166:15: warning: '&&' within '||' [-Wlogical-op-parentheses]
2017-08-19 11:18:52 +03:00
Magnus Norddahl
05ca52d693
- Fix texture coordinates for 3d floor walls
2017-08-19 00:53:41 +02:00
Magnus Norddahl
c144eefdad
- Draw sloped 3d floors
2017-08-18 20:19:17 +02:00
Magnus Norddahl
8034793193
- Wrap midtex support
2017-08-17 23:14:02 +02:00
Magnus Norddahl
c2fa360bbc
- Improve 3d floor and underwater rendering
2017-08-17 22:34:23 +02:00
Magnus Norddahl
7993ad987c
- Fix texture coordinates for lines split into multiple segments in softpoly
2017-08-17 20:54:44 +02:00
Magnus Norddahl
3cf5fb45ae
- Add camera extra light to flats
2017-08-17 00:28:58 +02:00
Magnus Norddahl
122c56f005
- Add fog boundary support to softpoly
2017-08-17 00:10:43 +02:00
Magnus Norddahl
fbd381988b
- Fix wall UV scaling and offsetting bugs in softpoly
2017-08-16 22:26:05 +02:00
alexey.lysiuk
eb52088487
Fixed compilation warnings reported by Clang
...
src/gl/scene/gl_sprite.cpp:685:34: warning: '&&' within '||' [-Wlogical-op-parentheses]
src/polyrenderer/scene/poly_sprite.cpp:297:34: warning: '&&' within '||' [-Wlogical-op-parentheses]
src/swrenderer/scene/r_opaque_pass.cpp:975:35: warning: '&&' within '||' [-Wlogical-op-parentheses]
src/sound/mididevices/music_timiditypp_mididevice.cpp:548:30: warning: comparison of integers of different signs: 'int' and 'size_t' (aka 'unsigned long') [-Wsign-compare]
2017-08-13 16:42:08 +03:00
Magnus Norddahl
6d6c25bb26
- Add sprite adjustment to softpoly
2017-08-13 01:10:33 +02:00
Magnus Norddahl
bf38fd57b0
- Replace subsector gbuffer in softpoly with a zbuffer
2017-08-12 15:16:31 +02:00
Rachael Alexanderson
b6c15b997a
- added 'r_debug_disable_vis_filter' cvar for debug purposes, to show all objects regardless of their actor filter fields.
2017-07-29 17:03:43 -04:00
Rachael Alexanderson
91ff447a90
- fixed compile from last commit
...
- refactored the zscript hookup a bit, made it actually work
2017-07-29 17:03:43 -04:00
Rachael Alexanderson
712d21e26a
- implement per-renderer sprite hiding based on the actor's render feature flags
...
- hook the thing up to zscript (does not currently compile)
2017-07-29 17:03:43 -04:00
Rachael Alexanderson
e1b4bb11ba
Merge https://github.com/coelckers/gzdoom
2017-07-09 20:09:12 -04:00
Magnus Norddahl
ddd1b629c3
- Calculate globvis/r_visibility in r_utility and use it in GL and poly renderers
2017-07-09 19:01:34 +02:00
Rachael Alexanderson
a148212215
Merge commit 'f1ad42c'
2017-06-12 00:22:59 -04:00
Magnus Norddahl
3b8570003a
- Improved softpoly sprite clipping
2017-06-10 11:16:58 +02:00
Magnus Norddahl
a0cc78d6aa
- Fix softpoly wall clipping bug
2017-06-10 10:16:42 +02:00
Major Cooke
b86aed5b01
Added polysoft render support for PSPF_MIRROR.
2017-06-05 10:39:18 -04:00