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
7bb92812b8
- Move models into r_data
2017-11-25 13:19:00 +01:00
Magnus Norddahl
679f42db78
- Remove model GL dependencies except for the matrix classes
2017-11-25 13:00:44 +01:00
Magnus Norddahl
b25f191e85
- Move shared model code out of the GL renderer
2017-11-25 12:11:57 +01:00
Rachael Alexanderson
5e29b1c89c
Merge branch 'newtimercode4'
2017-11-24 14:39:58 -05:00
Christoph Oelckers
ed871c3bf8
Merge remote-tracking branch 'remotes/origin/texman_models'
2017-11-24 19:14:08 +01:00
Rachael Alexanderson
297f00aa4b
- fix model rotation some more
...
- a couple compiler warning fixes
2017-11-23 22:37:07 -05:00
Rachael Alexanderson
1f00810f40
- re-doubled the model rotation code
2017-11-23 21:27:16 -05:00
Rachael Alexanderson
16e6fbf5bf
- commit fix - todo: need to re-double/floatify the model timers again
2017-11-23 21:12:50 -05:00
Rachael Alexanderson
fd5b8cdbf7
Merge remote-tracking branch 'origin/master' into newtimercode4
...
# Conflicts:
# src/gl/models/gl_models.cpp
2017-11-23 21:08:09 -05:00
Magnus Norddahl
f1e7df542f
- Create model renderer abstraction to share more model drawing between renderers
2017-11-24 00:38:52 +01:00
Rachael Alexanderson
505da5bf4f
Merge branch 'master' of https://github.com/coelckers/gzdoom into newtimercode4
2017-11-21 05:23:00 -05:00
Rachael Alexanderson
47e9975e90
- fixed a couple of fixes from the previous commit
2017-11-21 05:20:02 -05:00
Rachael Alexanderson
2bc86b52c8
- fixed a few of the more obvious logic errors
2017-11-21 04:06:24 -05:00
alexey.lysiuk
cf9a364f71
textures for models
2017-11-19 18:02:14 +02:00
Christoph Oelckers
f0dc619b5b
- fixed bad use of FScanner::GetNumber and GetFloat in code inherited from ZDoomGL.
...
This could lead to bad error messages if some malformed definitions were used.
2017-11-19 15:30:45 +01:00
Rachael Alexanderson
de19efa79d
- trying again: fix shader targets being case sensitive
2017-11-19 04:48:30 -05:00
Rachael Alexanderson
351de94311
- fixed: Accidentally committed in-progress work... again
...
Partial Revert "- fixed: Made shader targets not case sensitive"
This reverts commit 2c24d2e047
.
2017-11-19 04:46:52 -05:00
Rachael Alexanderson
2c24d2e047
- fixed: Made shader targets not case sensitive
2017-11-19 04:41:07 -05:00
alexey.lysiuk
c2b4efbea0
Fixed applying of brightmaps to overridden textures
...
https://forum.zdoom.org/viewtopic.php?t=58444
2017-11-18 17:07:42 +02:00
Rachael Alexanderson
909daadd75
- update more millisecond-storing data structures to u/int64_t to fix possible rollover bugs
2017-11-15 20:33:08 -05:00
Christoph Oelckers
16fa0cba21
- fixed comparison.
...
The timer reset must also occur when the values are equal, meaning they got set during the same millisecond.
2017-11-15 18:02:41 +01:00
Rachael Alexanderson
ab32cb4c88
- track level start time for the shader system, reset the shaders.
2017-11-15 11:06:21 -05:00
Rachael Alexanderson
d2bc24737b
- put in timer resets for the shader system, so that they can continue being passed as floats
2017-11-14 22:46:28 -05:00
Rachael Alexanderson
763222b571
- fixed: high uptime was causing overloads in uint32_t and float structures (float losing loss of precision) - this caused any computer online for more than a few days to experience jankiness with internal animations such as rotations and shader timers. Unfortunately, this sounds the death knell for 32-bit platforms, since uint64_t is now required in time-critical structures, which will hurt performance tremendeously, but 64-bit systems will be unaffected.
2017-11-14 16:15:25 -05:00
Christoph Oelckers
0323f54384
- rename I_FPSTime function.
...
- now that the frame buffer stores its render time, the 'ms' return from I_GetTimeFrac is not needed anymore, we may just as well use the globally stored value instead.
The only feature this value was ever used for was texture warping.
2017-11-13 00:54:32 +01:00
Christoph Oelckers
2c65f08011
- more timer cleanup
...
* store the frame time in the current screen buffer from where all render code can access it.
* replace some uses of I_MSTime with I_FPSTime, because they should not use a per-frame timer. The only one left is the wipe code but even this doesn't look like it needs either a per-frame timer or a timer counting from the start of the playsim.
2017-11-13 00:28:43 +01:00
Christoph Oelckers
e94109f1c3
- Inside the renderer, use only the time value being passed to RenderView.
...
The voxel rotation code of the software renderer and R_SetupFrame still called I_FPSTime directly.
2017-11-12 23:53:46 +01:00
Christoph Oelckers
f54475b1f1
- I_FPSTime may not return the time at frame start.
...
This is used for real-time profiling and as such needs to return the current time or most of its uses will break.
2017-11-12 23:39:48 +01:00
Christoph Oelckers
93e9c383fa
- get the timer used for animation only once at the very beginning of the frame and pass it on to the renderer to avoid any dependencies on the timer's implementation.
2017-11-12 18:51:11 +01:00
Christoph Oelckers
e50b012c87
- fixed: Model rotation should use the time of the current frame's start, not the time of the time of processing the particular actor.
...
Reading the time directly would result in different values for different viewpoints in a scene or for different objects in the same scene which is not how this is supposed to work.
2017-11-12 12:04:11 +01:00
Christoph Oelckers
6bd76d6b5a
- fixed compilation in debug mode.
...
- moved timer definitions into their own header/source files. d_main is not the right place for this.
- removed some leftover cruft from the old timer code.
2017-11-12 09:06:40 +01:00
Magnus Norddahl
307d8931d8
- Switch to C++11 steady clock
...
- Move the C++11 implementation to d_main
- Remove the platform specific timer implementations
2017-11-12 03:12:22 +01:00
Magnus Norddahl
d4ebe51e83
- Place the HUD model correctly in the world so that shader light calculations work
2017-11-05 15:35:03 +01:00
Magnus Norddahl
23e5d81746
- Implement VSMatrix::inverseMatrix
2017-11-05 15:32:42 +01:00
Magnus Norddahl
bd08568b90
- Fix wrong math for model/light distance check
2017-11-05 13:28:56 +01:00
Christoph Oelckers
fafc636476
- allow allocating constructor of TArray to also reserve the allocated data and use this to properly handle the precalc arrays for the texture resizer.
2017-11-03 17:27:32 +01:00
alexey.lysiuk
724d711d1f
Fixed a few cases when IWAD was checked by hardcoded index
2017-10-21 11:10:36 +03:00
Rachael Alexanderson
0ccd388d91
- reverted the texture flip from the previous commit
2017-10-12 12:44:00 -04:00
Rachael Alexanderson
1b6f77a473
- fixed: inverted vertically texture uniforms for custom post-process shaders, and also changed their input format to BGRA to match the standard.
2017-10-12 11:54:56 -04:00
Rachael Alexanderson
69abf095c9
- added vid_cropaspect. This cvar turns vid_aspect into a letterboxing function that will crop the unused sides of the screen away, instead of stretching it. Requires one of the non-legacy OpenGL framebuffers to work.
2017-10-07 20:18:37 -04:00
Rachael Alexanderson
765646ee1c
- fixed: Changed IWAD_FILENUM to a dynamic lookup.
2017-09-13 04:19:03 -04:00
Rachael Alexanderson
8454e09694
- fixed: I was using the wrong check to determine which renderer was in use. Ooops. It now checks for the actual (active) renderer rather than the state of vid_glswfb
2017-09-12 14:32:29 -04:00
Rachael Alexanderson
1e4d7534c4
- remove gl_legacy_mode check in the glswfb
2017-09-12 08:57:27 -04:00
Rachael Alexanderson
79fc219afd
- allow OpenGL 3.0 MESA drivers to use vid_glswfb
2017-09-12 08:18:22 -04:00
nashmuhandes
d80f9634e3
Change default shadowmap quality to 512 at dpJudas's advice ( https://forum.zdoom.org/viewtopic.php?p=1016143#p1016143 )
2017-09-10 12:46:55 -04:00
nashmuhandes
3ff1597640
Change minimum shadowmap quality to 128.
2017-09-10 12:46:55 -04:00
nashmuhandes
f96f71044f
Change camera texture FOV to doubles.
2017-09-02 07:44:38 +02:00
Christoph Oelckers
e424ef63f2
- fixed: Sprites drawn in the opaque pass still need to set their texture mode so that they can be drawn with STYLE_Stencil.
2017-08-27 09:58:25 +02:00
Magnus Norddahl
b9dc06a4c8
- Fix crash in legacy and deferred light paths
2017-08-21 18:42:07 +02:00
Magnus Norddahl
c3562fead2
Merge branch 'dynlightmodels'
2017-08-15 00:27:26 +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
raa-eruanna
507122b778
- put in actorinlines include as suggested by dpjudas here, to fix compile: https://forum.zdoom.org/viewtopic.php?f=2&t=57484
2017-08-04 09:13:20 -04:00
Magnus Norddahl
801fbddd47
- Fix gcc compile error
...
- Fix weapon null pointer crash
2017-08-02 01:41:48 +02:00
Magnus Norddahl
aaa00cbcb9
- Include all lights touching a model actor's render radius
2017-08-01 00:43:58 +02:00
Magnus Norddahl
04be9fe6f2
- Remove test code committed by accident
2017-07-31 20:09:45 +02:00
Rachael Alexanderson
c07a4461a0
- fixed: GetCaps() did not account for r_drawvoxels cvar
2017-07-30 10:45:05 -04:00
Magnus Norddahl
d5733f515c
- Support binding textures for custom PP shaders
2017-07-30 13:59:25 +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
8bb5687159
- Implemented GetCaps() for the software renderer
...
- fixed: Forgot to describe Brightmap capability in the GL Renderer
2017-07-29 17:03:43 -04:00
Rachael Alexanderson
9a9fe7c133
- implemented GetCaps() for OpenGL
...
- renamed RFF_FRAGMENTSHADER to RFF_MATSHADER
- D_Display now calls Renderer->GetCaps() and stores it in a global variable for later use.
2017-07-29 17:03:43 -04:00
Magnus Norddahl
7d21fe6d75
- Fix mouse position being wrong when vid_scalemode is active
2017-07-29 19:26:53 +02:00
Rachael Alexanderson
030450b6a9
- fixed: include missing header
2017-07-27 03:08:42 -04:00
Rachael Alexanderson
16e38816ba
- oops, forgot one thing in the last commit...
2017-07-27 03:07:19 -04:00
Rachael Alexanderson
30087f7cd7
- cleaned up the video scale mode code a bit, in order to increase future flexibility.
2017-07-27 03:05:01 -04:00
Magnus Norddahl
cbda6e9427
- Improve dynamic lights for the HUD model
2017-07-26 09:18:05 +02:00
Magnus Norddahl
0c0f0789c2
- Improved dynamic lights on models
2017-07-25 23:00:09 +02:00
Magnus Norddahl
d2e0933a81
- Fix packed normal order bug
2017-07-25 20:20:13 +02:00
Magnus Norddahl
4e14ed4e9e
- Hook up model normals
2017-07-25 20:20:12 +02:00
David Carlier
64e96c5f46
OpenBSD support
2017-07-25 07:56:19 -04:00
Magnus Norddahl
e06f87cf10
- Added 0.75x scale mode
2017-07-24 08:35:27 +02:00
Magnus Norddahl
18f0f6be4b
- Pixel stretch for 320x200 and 640x400 in glswfb
2017-07-23 17:26:55 +02:00
Rachael Alexanderson
2f37c4b272
- added vid_scalemode == 4 to super-sample the screen
2017-07-23 11:24:04 -04:00
Magnus Norddahl
449c4cb711
- Pixel stretch 320x200 and 640x400 scale modes in the GL renderer
2017-07-23 17:18:25 +02:00
Rachael Alexanderson
b30b93f40f
- made postprocess shader parsing a little more strict, will error out more frequently with common mistakes.
2017-07-23 06:11:04 -04:00
Magnus Norddahl
370e53befe
- Replace vid_max_width and vid_max_height with vid_scalemode for the GL software framebuffer backend
...
- Fix a crash if the window was resized before creating a game
- Fix main menu scaling being wrong if the video mode didn't match the unscaled screen size
2017-07-23 04:23:13 +02:00
Magnus Norddahl
c3702ae9e7
Add vid_scalemode support to GL framebuffer
2017-07-23 00:33:56 +02:00
Rachael Alexanderson
d020ec68d2
Merge branch 'master' into qzdoom-merge
2017-07-20 06:43:03 -04:00
Rachael Alexanderson
bc38f7f776
- changed gl_ssao_portals default to 1
2017-07-20 06:41:34 -04:00
Rachael Alexanderson
77617a2757
Merge branch 'master' into qzdoom-merge
2017-07-19 17:32:41 -04:00
alexey.lysiuk
bbb8374b06
Fixed applying of color to untranslated fonts in hardware renderer
...
https://forum.zdoom.org/viewtopic.php?t=57268
2017-07-19 15:00:55 +03:00
Rachael Alexanderson
a383dacbe6
Merge https://github.com/coelckers/gzdoom
2017-07-16 01:38:25 -04:00
alexey.lysiuk
490e873602
Moved parallel_for() function template to own header file
2017-07-15 12:16:06 +03:00
Rachael Alexanderson
a3e782a164
Merge https://github.com/coelckers/gzdoom
2017-07-15 03:48:13 -04:00
Christoph Oelckers
98124c8049
- avoid using plain chars as variables.
...
This is all I found with a quick search, there's probably more...
2017-07-15 09:01:02 +02:00
Rachael Alexanderson
c1e3f10802
Merge https://github.com/coelckers/gzdoom
2017-07-15 00:24:25 -04:00
alexey.lysiuk
970adff5e7
Use multiple threads for xBRZ upscaling
...
Implementation relies on Concurrency Runtime, Grand Central Dispatch aka libdispatch or OpenMP depending on their availability
2017-07-14 16:01:38 +03:00
Rachael Alexanderson
7728875a7f
- Added 'enabled' property for PP shaders, to automatically enable them without ZScript
2017-07-13 05:57:12 -04:00
Rachael Alexanderson
d2c8a5c33d
Revert "Merge commit 'refs/pull/338/head' of https://github.com/coelckers/gzdoom "
...
This reverts commit 65bb8a5185
, reversing
changes made to 619281de64
.
2017-07-10 11:29:58 -04:00
Rachael Alexanderson
26355ece82
Revert "Merge commit 'refs/pull/338/head' of https://github.com/coelckers/gzdoom "
...
This reverts commit 035c036eb2
, reversing
changes made to 61660bf147
.
2017-07-10 11:29:30 -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
Magnus Norddahl
00893763ed
Merge branch 'custom_postprocess' into qzdoom
2017-07-08 14:44:30 +02:00
Magnus Norddahl
a38de996e7
- Move uniform declarations to the GLDEFS lump to make it Vulkan safe (a vulkan implementation can then declare them in an uniform block)
...
- Change SetUniform functions to be clearscope as they can be safely called from both play and ui
- Add PlayerInfo argument to SetUniform functions to force the modder to take network play into account
- Add enabled flag on custom postprocess shaders
- Removed custom texture support until a more clean implementation is written
2017-07-08 14:44:07 +02:00
Magnus Norddahl
a4b96f7673
- Fix linker error
2017-07-06 18:02:27 +02:00
Magnus Norddahl
69a3d10cb6
Merge branch 'custom_postprocess' into qzdoom
...
# Conflicts:
# src/gl/renderer/gl_postprocess.cpp
2017-07-06 05:41:16 +02:00
Magnus Norddahl
8a0e801cb5
- Move custom postprocess shader to its own file
2017-07-06 05:36:01 +02:00
Rachael Alexanderson
1cfaae78d9
- Add new "scene" target for custom postprocess shaders
...
- Add "gl_custompost" cvar to turn off custom postprocess shaders completely
- Made "scene" affect the screen before 2D drawing, made "screen" affect the entire screen after 2D drawing
2017-07-06 04:45:51 +02:00