Christoph Oelckers
a9d5533603
- integrated GL parts of translation handling into the main module.
...
Now that this doesn't have to share assets with HW2D it could be simplified a lot.
2018-04-01 00:59:49 +02:00
Christoph Oelckers
bc485a7f2c
- moved a large portion of gl_textures.cpp into the main files for the implementing classes.
...
The old organization made sense when ZDoom still was a thing but now it'd be better if all pure data with no dependence on renderer implementation details was moved out.
A separation between GL2 and GL3+4 renderers looks to be inevitable and the more data is out of the renderer when that happens, the better.
2018-03-31 19:20:59 +02:00
Christoph Oelckers
410d6817b2
- minor cleanup on the texture layer data in FTexture.
2018-03-31 12:27:41 +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
5bdea6278c
- removed RequireGLNodes from FRenderer interface.
...
It returned true for both renderers anyway.
2018-03-31 00:33:09 +02:00
Christoph Oelckers
6cd26dec01
- remove some dead code.
2018-03-31 00:25:15 +02:00
Christoph Oelckers
a001a5304d
- removed the old software renderer framebuffers for Windows
...
This cannot be refactored with the old code still present and done properly both renderers should share what they can.
2018-03-30 23:18:25 +02:00
Christoph Oelckers
ff19627251
- fixed legacy version of color overlay to use the correct blend settings.
2018-03-30 21:34:04 +02:00
Christoph Oelckers
00c66f42d3
- made DTA_SpecialColormap work, both for GL3+ and GL2 render paths.
...
This will only be used for HUD sprites. At the moment it will ignore sprite translations, though, when running in OpenGL 2 legacy mode.
2018-03-30 21:14:49 +02:00
Christoph Oelckers
832df6d43a
- implemented desaturation for the legacy GL renderer's 2D.
...
A lot of work that's only needed to be able to use the hardware renderer's 2D code with the software renderer.
2018-03-30 18:14:42 +02:00
Christoph Oelckers
811d96e07e
D3D 2D code refactored but not tested yet.
2018-03-29 23:21:25 +02: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
077df87704
- 2D code works in GL legacy mode.
...
Not tested yet with shaders.
2018-03-29 11:58:28 +02:00
Christoph Oelckers
fa6ba84094
- fixed untextured vertex order and removed some test code.
2018-03-29 00:38:31 +02:00
Christoph Oelckers
a253b15334
- more fixes.
2018-03-28 23:57:50 +02:00
Christoph Oelckers
3ca3193379
- fixed a few things, but still not working.
2018-03-28 23:42:06 +02:00
Christoph Oelckers
b194f2c466
- game starts, but no 2D visible yet.
2018-03-28 22:04:28 +02:00
Christoph Oelckers
70b6754299
- implemented the 2D drawer for the hardware renderer. Not tested yet.
2018-03-28 21:38:00 +02:00
Christoph Oelckers
16480a3f4b
- it compiles again.
...
This won't work, though, because no backend for the new 2D code exists yet.
2018-03-28 16:40:09 +02:00
Christoph Oelckers
33289ade49
- renamed the 2D drawer in the GL renderer so that the same name can be used for the device-independent replacement.
2018-03-27 21:44:58 +02:00
Christoph Oelckers
29ad081368
- removed remaining DirectDraw code and a few other things that are no longer being used.
2018-03-27 21:04:01 +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
cff5f0e3c7
- removed DFrameBuffer's locking mechanism.
...
In its current form this is quite useless. What's really needed is to require a lock on the RenderBuffer for the 3D scene, but since this is not needed for the 2D stuff anymore it can be done far simpler.
2018-03-27 16:48:33 +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
1a28644d83
- cleaned out unused stuff from DCanvas.
...
- removed CocoaFrameBuffer because it is a software fallback which is no longer supported.
2018-03-27 11:25:06 +02:00
Christoph Oelckers
dd491d6558
- removed support for paletted Windows display modes.
...
This was only relevant for DirectDraw which has been removed.
2018-03-27 10:41:38 +02:00
Christoph Oelckers
a350c43c87
. removed the texture atlases from the OpenGLSWFrameBuffer.
...
# Conflicts:
# src/gl/system/gl_swframebuffer.cpp
2018-03-26 22:05:45 +02:00
Christoph Oelckers
41a0e6af4a
- removed the D3D texture atlas implementation.
...
This is a necessary first step for simplifying the texture handling in order to refactor it.
# Conflicts:
# src/gl/system/gl_swframebuffer.cpp
# src/textures/textures.h
# src/win32/fb_d3d9.cpp
2018-03-26 22:05:35 +02:00
Christoph Oelckers
d9f6546c16
- removed Shader Model 1.4 support.
...
The only hardware ever to support this is ATI's R200 which has been deprecated by ATI before Vista got released, and is no longer a relevant target.
2018-03-26 22:03:33 +02:00
Christoph Oelckers
40bbe5cd8a
- removed DirectDraw backend.
2018-03-26 22:03:32 +02:00
Christoph Oelckers
d166ab95a9
Revert "- fixed: 3D floor that extend into the real sector's floor were not clipped properly."
...
This reverts commit a33ad3c99e
.
Turns out that this breaks legitimate maps. So I'd rather let that one broken map glitch than the good ones.
2018-03-26 19:44:41 +02:00
Christoph Oelckers
755cbd341b
- fixed: A sprite having a picnum was not animating its image in the hardware renderer.
2018-03-25 22:01:18 +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
a33ad3c99e
- fixed: 3D floor that extend into the real sector's floor were not clipped properly.
...
The only check being done on this was done after processing for the renderer which simply is too late.
2018-03-24 22:42:10 +01:00
Christoph Oelckers
7301001a3f
- made the necessary adjustments to the HW2D interfaces to handle alpha textures properly.
...
These cannot be done with the regular textures so there needs to be an option to create more than one native texture per FTexture. For completeness' sake there is also the option now to create a paletted version of a texture if the regular one is true color. This fixes a long standing problem that translations were not applied to non-paletted textures.
2018-03-23 23:04:30 +01:00
Christoph Oelckers
0a07f4c144
- fixed alpha texture generation for OpenGL rendering.
...
The old logic used a translation table that does not work with color images, it was designed to handle 8 bit grayscale images.
So now, it creates a true color buffer and then turns it into a texture with R,G,B = 255 and the alpha channel set to the grayscale value.
This was also the reason why crosshairs made from 32 bit PNGs did not show correctly.
2018-03-22 23:57:14 +01:00
Christoph Oelckers
d586d774cf
- adjusted GL renderer to the new rules for alpha textures. This means that the translation fallback is only needed for the legacy renderer now. Modern GL can use the regular texture and will apply a grayscale mapping instead of merely using the red channel.
2018-03-22 20:42:17 +01: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
Christoph Oelckers
7e169eb76f
- split out the span generation from most texture classes
...
Until now each subclass of FTexture had to implement the entire span generation itself, presumably so that a few classes can use simpler structures.
This does not work if a texture can have more than one pixel buffer as is needed for alpha textures.
Even though it means that some classes will allocate more data now, it's the only way to do it properly.
In addition this removes a significant amount of mostly redundant code from the texture classes.
- added alpha texture processing to all converted classes
As of now this is not active and not tested.
Note that as part of the conversion even those textures that were working as alphatextures will not look correct until the higher level code gets adjusted.
2018-03-18 12:36:14 +01:00
Christoph Oelckers
d2fa4d0ff9
- most stat stuff done.
2018-03-12 19:33:48 +01:00
Christoph Oelckers
b327aa737a
Merge remote-tracking branch 'remotes/origin/materials'
2018-03-03 08:54:04 +01:00
Christoph Oelckers
bc25ad4136
- fixed a small logic error introduced by fixing the translucent particle sorting.
...
Due to an unintended swap of two values a few equal comparisons led to incorrect sorting.
2018-03-01 17:10:21 +01:00
Christoph Oelckers
685e5c1e95
- fixed: Camera textures must always be drawn with texture mode opaque, because the contents of their alpha channels are undefined.
2018-03-01 13:52:23 +01:00
Christoph Oelckers
b39cb4f095
- fixed translucemt sorting for particles.
...
At least on any semi-modern hardware. On old legacy hardware which lacks some important features this will still glitch.
2018-03-01 13:01:26 +01:00
Magnus Norddahl
48e534bf19
- Add per-pixel model light to the OpenGL 3.3 render path
2018-03-01 01:27:12 +01:00
Magnus Norddahl
6652df40c1
Merge remote-tracking branch 'gzdoom/master' into materials
2018-02-28 22:12:12 +01:00
Christoph Oelckers
e70250425a
- fixed: For two-sided midtextures the light lists were always taken from the sector referenced by the rendered sidedef, not the sector in which the line gets renderered.
...
For polyobjects these two are not identical.
2018-02-28 13:15:04 +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
57e66555da
- Change the search paths for auto folders
2018-02-21 23:20:31 +01:00
Magnus Norddahl
05827ffcda
- Implement auto textures for materials
2018-02-21 23:12:46 +01:00
Magnus Norddahl
4e7ca68bd6
Merge remote-tracking branch 'gzdoom/master' into materials
2018-02-20 00:22:06 +01:00
Magnus Norddahl
07fa310f23
- move material light modes to their own subshader lumps
2018-02-20 00:13:05 +01:00
Christoph Oelckers
6a02eaa595
- second part of texture fix.
2018-02-15 18:40:23 +01:00
Christoph Oelckers
ef55386d9f
- let the texture manager handle the special OpenGL textures so that they get deleted and recreated when needed.
2018-02-15 17:56:04 +01:00
alexey.lysiuk
61979f63c1
Removed last remnants of PowerPC Mac support
2018-02-11 16:35:34 +02:00
Magnus Norddahl
e2cab652d0
- Improve the "#line 1" directive insertion so that errors in all the shaders use line numbers relative to the lump they are referring to
2018-02-10 14:46:43 +01:00
Magnus Norddahl
5528d4157b
- Make uniform removal a little bit more robust by only searching for known legacy uniforms
2018-02-10 14:06:17 +01:00
Magnus Norddahl
f01ef3d7a7
- Remove uniforms from user shader code
2018-02-10 12:52:59 +01:00
Magnus Norddahl
94fbcacf22
Merge branch 'gzdoom' into materials
2018-02-10 00:08:17 +01:00
Magnus Norddahl
7cbe8669b6
- fix decals not getting lit by lights not having a target while still having the LF_DONTLIGHTSELF flag
...
- fix decal light not being calculated from the center of the decal
2018-02-10 00:06:47 +01:00
Magnus Norddahl
3207d8aef7
- generate uniform declarations from c++
2018-02-09 23:29:31 +01:00
alexey.lysiuk
ed23008069
Fixed crash in stereoscopic modes caused by camera without player
...
https://forum.zdoom.org/viewtopic.php?t=55039&start=381#p1039251
2018-02-07 11:37:02 +02:00
Christoph Oelckers
64921ea968
- use a more consistent setting for rendering fuzzy sprites with enhanced nightvision on.
2018-01-28 20:46:16 +01:00
alexey.lysiuk
6003625721
Silenced quad stereo message during startup
2018-01-28 11:41:00 +02:00
alexey.lysiuk
577c6b033e
Changed quad stereo mode restart notification
...
Restart requirement for quad stereo mode should be output to console because CVAR can be toggled directly from it
Long option names break menu layout on some aspect ratios like 16:10
2018-01-26 10:10:51 +02:00
Magnus Norddahl
30af6d38b3
- fix automap render bug
2018-01-25 20:22:51 +01:00
Magnus Norddahl
2c9a2e7170
- fix specular defaults to be a little more sane
2018-01-25 19:59:57 +01:00
Magnus Norddahl
7a59bcde4c
- move glossiness and specular level to GLDEFS
2018-01-25 19:53:55 +01:00
Magnus Norddahl
0855418475
Merge branch 'gzdoom' into materials
...
# Conflicts:
# src/gl/shaders/gl_shader.cpp
# src/gl/shaders/gl_shader.h
2018-01-25 19:21:19 +01:00
Magnus Norddahl
a46bbc81a0
Merge branch 'bloom_psprite_fix' into gzdoom
2018-01-25 19:01:46 +01:00
Magnus Norddahl
4c0dce875f
Merge branch 'fuzz_software' into gzdoom
2018-01-25 19:00:14 +01:00
Magnus Norddahl
81c6808d2a
- Add specular and normal map handling to main.fp
2018-01-23 23:10:28 +01:00
Magnus Norddahl
c7ec489846
Merge remote-tracking branch 'origin/master' into materials
2018-01-23 20:16:32 +01:00
Christoph Oelckers
76d594f952
- reverted the hard offset for transferred skies.
...
This is not the correct way to apply it.
2018-01-21 19:25:21 +01:00
Christoph Oelckers
6438416adb
- fixed: The culling mode for translucent models must be inverted when rendering a mirror.
2018-01-21 16:29:40 +01:00
Christoph Oelckers
e1d6f6f3b3
- fixed: precise rendering did not work anymore due to a missing reference operator in the setup function for the needed data.
2018-01-21 16:17:49 +01:00
Magnus Norddahl
0f69778e23
- Add new material shader entries for specular and PBR light modes
2018-01-21 01:53:44 +01:00
Magnus Norddahl
4dd2d789f4
- Rename mTextureEffects to mMaterialShaders to help distinguish between those and effect shaders (mEffectShaders)
...
- Add MaterialShaderIndex enum
2018-01-21 01:19:16 +01:00
Magnus Norddahl
f3c55c01c8
Add material definition to GLDEFS
2018-01-20 16:28:24 +01:00
Magnus Norddahl
a23e5f49f6
- Add "fuzz software" to GL that renders fuzz like the scaled fuzz mode in the software renderer
2018-01-07 02:29:55 +01:00
Magnus Norddahl
56db2b02cc
- Fix psprite not appearing when invulnerability effect is active with bloom turned on
2018-01-06 17:21:02 +01:00
Magnus Norddahl
f88d9a02df
Remove bloom effect on psprites
2018-01-06 05:11:12 +01:00
Magnus Norddahl
79440d7014
- Fix sprite spot light calculation
2018-01-04 19:42:52 +01:00
Magnus Norddahl
bae3620540
- Added spot light support to gl_SetDynSpriteLight
2018-01-04 19:27:03 +01:00
Magnus Norddahl
f398286162
- Fix wrong spot direction
2018-01-04 19:09:12 +01:00
Magnus Norddahl
5f36b86013
- Add dynamic spot lights
2018-01-04 17:58:11 +01:00
Rachael Alexanderson
6aa724a9b4
- add 'gl_riskymodernpath' for computers that worked before the GL >= 3.3 modern path enforcement, since some did, but they seemed to be the exception rather than the rule.
2018-01-03 21:46:04 -05:00
alexey.lysiuk
2c4eae7487
Applied vertical offset to transferred sky in OpenGL renderer
...
https://forum.zdoom.org/viewtopic.php?t=58934
2017-12-31 21:29:27 +02:00
alexey.lysiuk
33213f5d5d
Fixed rendering of wrapped midtex with sky ceiling
...
https://forum.zdoom.org/viewtopic.php?t=58311
2017-12-29 14:37:09 +02:00
Rachael Alexanderson
a441cea350
- interpolate particles
2017-12-28 11:36:36 -05:00
alexey.lysiuk
8ca3427850
Fixed applying of Doom 64 lighting to horizon portals
...
https://forum.zdoom.org/viewtopic.php?t=58878
2017-12-28 18:32:26 +02:00
Christopher Bruns
a3399c1af2
Fix: Bind the default framebuffer before testing whether hardware stereo 3D is supported. This allows Nvidia 3D vision glasses to function correctly when gl_light_shadowmap is ON.
...
Doc: Add "requires restart" to "enable quad stereo" option menu label, to help folks trying to setup 3D.
2017-12-27 17:50:53 -05:00
alexey.lysiuk
0afc09678f
Fixed bright sprites in sectors with Doom 64 lighting
...
https://forum.zdoom.org/viewtopic.php?t=58703
2017-12-16 17:37:03 +02:00
Rachael Alexanderson
1559d74c2c
- repaired the video scaling code
2017-12-10 04:22:28 -05:00
alexey.lysiuk
5162e7162e
Fixed overbright screenshots with hardware gamma off
...
When render buffers are used to apply gamma/brightness/contrast screenshots should not use PNG gamma correction
2017-12-06 11:24:10 +02:00
Rachael Alexanderson
505c99b0a8
- fixed: doublize more internal structures, even if they still get converted to float later
2017-12-04 17:39:57 -05:00
Rachael Alexanderson
0fa74220c9
- fixed: doublize sky float, in order to make it more smooth
2017-12-03 12:39:24 -05:00
Christoph Oelckers
ebf5c5763e
- removed the unused bitmap loading and saving features from hqnx_asm/hqnx_asm_Image.
2017-12-02 12:15:26 +01:00
alexey.lysiuk
0667f2ec55
Fixed string format issues reported by GCC/Clang
...
d_net.cpp:2874:25: warning: format specifies type 'int' but the argument has type 'unsigned long long' [-Wformat]
gl/utility/gl_clock.cpp:240:38: warning: format specifies type 'int' but the argument has type 'uint64_t' (aka 'unsigned long long') [-Wformat]
v_video.cpp:883:71: warning: format specifies type 'unsigned int' but the argument has type 'uint64_t' (aka 'unsigned long long') [-Wformat]
v_video.cpp:883:80: warning: format specifies type 'unsigned int' but the argument has type 'uint64_t' (aka 'unsigned long long') [-Wformat]
2017-11-26 09:59:28 +02: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
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