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
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
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
b327aa737a
Merge remote-tracking branch 'remotes/origin/materials'
2018-03-03 08:54:04 +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
Magnus Norddahl
4e7ca68bd6
Merge remote-tracking branch 'gzdoom/master' into materials
2018-02-20 00:22:06 +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
Magnus Norddahl
30af6d38b3
- fix automap render bug
2018-01-25 20:22:51 +01:00
Magnus Norddahl
7a59bcde4c
- move glossiness and specular level to GLDEFS
2018-01-25 19:53:55 +01:00
Magnus Norddahl
a46bbc81a0
Merge branch 'bloom_psprite_fix' into gzdoom
2018-01-25 19:01:46 +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
f88d9a02df
Remove bloom effect on psprites
2018-01-06 05:11:12 +01:00
Rachael Alexanderson
1559d74c2c
- repaired the video scaling code
2017-12-10 04:22:28 -05: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
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
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
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
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
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
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
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
4e14ed4e9e
- Hook up model normals
2017-07-25 20:20:12 +02:00
Magnus Norddahl
e06f87cf10
- Added 0.75x scale mode
2017-07-24 08:35:27 +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
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