Commit Graph

36 Commits

Author SHA1 Message Date
alexey.lysiuk 2f4078d99e - fixed rendering on macOS
This restores support for OpenGL implementations without persistent mapped buffers, and helps with strict core profile GLSL compilers
2020-01-26 17:03:02 +01:00
Christoph Oelckers 245aa5d3bc - reworked global palette state for robustness. 2020-01-26 10:58:00 +01:00
Christoph Oelckers 99c4b6b6d7 - don't let environmental palettes (like underwater) affect the HUD and menu. 2020-01-25 18:48:48 +01:00
Christoph Oelckers 352c099b5a - basics for hardware rendered camera textures. 2020-01-19 08:40:03 +01:00
Christoph Oelckers 454f796b69 - collect all 3D geometry in a list so that it can be rendered later.
With this out of the way the renderer can now be switched to the core profile.
2020-01-18 22:41:08 +01:00
Christoph Oelckers 1a916c0a76 - use the vertex buffer to render the post processed screen image. 2020-01-18 16:14:30 +01:00
Christoph Oelckers 7b6bd34a58 - create the savepic framebuffer without multisampling.
It didn't work and doesn't need it so let's save that piece of video memory.
2020-01-14 19:50:47 +01:00
Magnus Norddahl e923ef5d3a Add missing M_FinishPNG call 2020-01-14 14:22:03 +01:00
Magnus Norddahl a8614c89dd Fix incorrect pitch size when creating savepic 2020-01-13 19:50:25 +01:00
Christoph Oelckers dc5b8d27f8 - infrastructure for savegame pics.
Savepic generation implemented for Duke 3D, but results in a black image.
2020-01-12 23:16:21 +01:00
Christoph Oelckers 95f917a408 - added the main vertex buffer and some code to maintain it on systems where persistent mapping is not possible.
All games combined there's 11(!!!) scene render blocks, not counting the sub-blocks for ROR and mirrors.
Does it surprise anyone that most of these sub-blocks do not feature all engine capabilities?
2020-01-12 20:28:07 +01:00
Christoph Oelckers cfed7afd02 - all source compile now on macOS 2020-01-08 01:00:57 +01:00
Christoph Oelckers fb985d2503 - more macOS compilation fixes
Still not complete…
2020-01-07 01:11:19 +01:00
Christoph Oelckers e84acb7e2f - invalidate the render state after finishing a frame.
Last bound textures in particular may not be valid anymore in the next frame in movie playback.
2020-01-05 09:38:44 +01:00
Magnus Norddahl 0714155e3a Fix ssao no longer working 2020-01-04 09:54:47 +01:00
Magnus Norddahl 13a7b7d4b2 Hook up gl_ssao 2020-01-03 18:34:43 +01:00
Christoph Oelckers 6135e388ed - changed the remaining license headers from GZDoom's renderer's files, in agreement with all contributors to this code. 2020-01-03 08:03:29 +01:00
Magnus Norddahl 066f444dd0 Hook up vid_fps 2020-01-03 06:28:25 +01:00
Magnus Norddahl 2403d1b7e5 Update the license for the postprocessing source code 2020-01-03 05:42:37 +01:00
Christoph Oelckers afb1d7b885 - changed a few licenses of my own code to something more permissive. 2020-01-02 19:38:47 +01:00
Rachael Alexanderson a6bf1c3026 - oops, didn't mean to change this line (I blindly copied the function over) 2020-01-02 00:15:19 -05:00
Rachael Alexanderson 21ba23f36d - pull most recent video scale changes from gzdoom 2020-01-01 23:42:09 -05:00
Rachael Alexanderson 6a17e3910b - relicense my reused GZDoom code as BSD 2020-01-01 08:59:40 -05:00
Christoph Oelckers bcb48d8441 - added handling for changing the screen size (dragging the window borders / change scale factor) 2020-01-01 09:49:06 +01:00
Christoph Oelckers 98604e513e - set up the scene viewport for the postprocessor. 2019-12-31 20:11:31 +01:00
Christoph Oelckers ad24a1ce31 - place weapon sprites in a separate render list.
They need to be drawn in a different pass than the 2D overlay HUD so the backend must have them separately.
2019-12-30 20:16:51 +01:00
Christoph Oelckers d80159b76a - use glVertexAttrib consistently for the presentation drawcall.
- fixed vid_saturation default and adjusted ranges for gamma correction CVARs.
2019-12-29 14:35:24 +01:00
Magnus Norddahl 26dbf5fe10 Fix black screen 2019-12-29 05:10:36 +01:00
Christoph Oelckers 737bf15ad8 - added GZDoom's postprocessing/presentation code.
Compiles but only draws a black screen. Something must be missing but no idea yet what that might be.
2019-12-28 22:36:47 +01:00
Christoph Oelckers a021b96119 - added the needed parts of GZDoom's render backend to have the postprocessor working.
Not hooked up yet.
2019-12-28 18:20:47 +01:00
Christoph Oelckers 62e9112133 - renamed the internal resource directory to "engine" and routed most literal mentions of the engine name through version.h
All this comes from a time when I didn't use version.h so it's better to do it the same way as GZDoom to allow easy renaming of the engine.
2019-12-26 14:04:53 +01:00
Christoph Oelckers 5bd32cf769 - fixed: Voxel setup code wasn't called anymore. 2019-12-25 00:30:13 +01:00
Christoph Oelckers 141887263d - header cleanup 2019-12-23 21:19:42 +01:00
Christoph Oelckers 62ecedf1f8 - got it to the point where it can render to the GL surface from the native backend. 2019-12-23 19:37:40 +01:00
Christoph Oelckers a1f7f0cc30 - added the GL framebuffer class.
Everything compiles again but obviously no init code will run for now.
2019-12-23 15:40:17 +01:00
Christoph Oelckers 6e9631f2d8 - fixed all undefined symbols except OpenGLFrameBuffer. 2019-12-23 10:53:58 +01:00