Commit Graph

242 Commits

Author SHA1 Message Date
Christoph Oelckers 3455610031 - base palette cleanup.
Avoid passing this anywhere in the client code. It should only be set right before rendering the 3D view and the only code using the base palette should be the 3D renderer and hud_drawsprite.
Also make the palette override CVARs 3D view only in debug mode.
2020-08-14 21:18:14 +02:00
Christoph Oelckers 66cb7f61a4 - fixed rendering on narrow screens with an aspect ratio less than 4:3 and removed some parts that are no longer needed. 2020-08-14 21:01:27 +02:00
Mitchell Richters 80291f9cb7 - For RR, pass vehicle TiltStatus through to backend as the double that it is. 2020-08-03 11:06:23 +10:00
Christoph Oelckers b120bade95 - fixed scuba gear display.
Fixes #37.
2020-07-26 18:35:47 +02:00
Christoph Oelckers f67d3270d8 - fixed a few cheat issues.
Fixes #29.
2020-07-26 17:04:02 +02:00
Christoph Oelckers efb73d04a0 - re-fixed the fix: Turned out that flipped offsetting is a bit more tricky.
Due to how this works it cannot be done automatically, it must be passed as a parameter because at the point where the offset gets applied, all information about how it was specified is lost.
This must be enabled as a specific parameter to DrawTexture.
2020-07-26 08:31:54 +02:00
Christoph Oelckers bcb6c36ef2 - fixed bad parameter for EnableFog 2020-07-24 23:46:52 +02:00
Christoph Oelckers 3d36e4839f - implemented rotation for HUD sprites. 2020-07-24 23:23:19 +02:00
Christoph Oelckers 55feadd11c - render the weapons with the DrawTexture interface and properly handle rotatesprite's alignment modes 2020-07-16 13:23:26 +02:00
Christoph Oelckers 8a1206edbc Merge remote-tracking branch 'remotes/origin/master' into back_to_basics2 2020-07-05 11:55:41 +02:00
Mitchell Richters dae1506182 - change `std::max()` to `std::min()` in glbackend.h. Fixes issue in coelckers/Raze#83. 2020-07-05 09:05:19 +02:00
Mitchell Richters 30300bf3b2 - allow shade in glbackend.h to accept negative values, but still at a max of numshades-1.
* This fixes some issues with distance lighting issues in Duke3D as reported at https://forum.zdoom.org/viewtopic.php?f=341&t=68838&start=75#p1158417.
2020-07-05 08:57:21 +02:00
Mitchell Richters bb57590d34 - add `gl_texture` CVAR to glbackend à la GZDoom.
* Will be useful for further debugging of the lighting to determine whether Build actually did/does do different visibility for floor/walls/ceilings, etc.
* Idea inspired by Gez: https://forum.zdoom.org/viewtopic.php?f=341&t=68838&start=75#p1158294
2020-07-04 18:26:11 +02:00
Christoph Oelckers d6e021a63d - statistics output 2020-07-03 21:44:57 +02:00
Christoph Oelckers 34c3838e62 - logo. 2020-06-26 22:49:56 +02:00
Christoph Oelckers 1993642ce8 - fixed precacher. 2020-06-22 01:07:19 +02:00
Christoph Oelckers 4c00e4cf7c - got rid of the old precaching code.
# Conflicts:
#	source/games/duke/src/zz_premap.cpp
2020-06-22 00:07:25 +02:00
Christoph Oelckers 16bad04da8 - premap stuff.
# Conflicts:
#	source/glbackend/glbackend.cpp
2020-06-22 00:06:51 +02:00
Christoph Oelckers 83a760874b - removed some Build related includes from core code. 2020-06-20 18:01:02 +02:00
Christoph Oelckers 95b4340eec - initial palette shader work. 2020-06-17 12:26:01 +02:00
Christoph Oelckers b753ea5db7 - preparations for passing palette lookup textures through the low level texture code. 2020-06-17 12:26:01 +02:00
Christoph Oelckers d4b32bf79f - fully synchronized the backend code with GZDoom.
The camera texture code couldn't be done earlier.
2020-06-14 21:13:22 +02:00
Christoph Oelckers 5effc95ae1 - updated startup dialog and fixed multisampling not active in the 3D scene. 2020-06-14 20:59:26 +02:00
Christoph Oelckers 67b1963e7c - fixed render state management.
There are effectively two states - the one in the backend and a local one in the drawer for the render list which is supposed to eliminate some of the more costly repeated calls.
This higher level state was cached globally, which did not work anymore because the real render state could be changed elsewhere without this code realizing it.
All this means that the render list drawer must create a new state cache for each call and also must apply its current pending render state before leaving to ensure that everything is properly reset.
2020-06-12 22:32:49 +02:00
Christoph Oelckers 9b03537f3a - fixed shadows in Shadow Warrior.
They use a shade of 127 which wasn't clamped to a valid range in the backend.
2020-06-12 21:40:49 +02:00
Christoph Oelckers 60b18c7ec9 - Blood: use the 2D drawer to clear the screen for 2D display. 2020-06-12 20:31:23 +02:00
Christoph Oelckers 6a9f1e9da1 - removed the old OpenGL interface. 2020-06-12 00:25:52 +02:00
Christoph Oelckers ba397f5ca1 - always draw floors opaque 2020-06-11 23:55:23 +02:00
Christoph Oelckers 22aad4999c - use the engine backend to render the scene 2020-06-11 22:26:46 +02:00
Christoph Oelckers 17e1e4175e - switched NPOT emulation to the renamed uniforms.
This was the last feature that needed to be mapped to a GZDoom compatible render state
2020-06-08 08:16:50 +02:00
Christoph Oelckers a6545788a6 - do RR's lightning flash as a postprocessing effect. 2020-06-07 22:06:47 +02:00
Christoph Oelckers d7225c1965 - backend update from GZDoom 2020-06-07 15:02:54 +02:00
Christoph Oelckers 4c6abe1bb9 - pass the shade through the 2D drawer, so that palette emulation can still use it. 2020-06-07 14:50:12 +02:00
Christoph Oelckers 9fc5f2d2e7 - some shader cleanup.
I think it's now as close to GZDoom's backend interface as it can be without disabling needed features.
2020-06-07 10:15:31 +02:00
Christoph Oelckers 60d7f4f7c2 - got rid of the RF_NPOTEmulation flag.
This can easily be controlled with the 2 main variables alone.
2020-06-07 09:30:55 +02:00
Christoph Oelckers 353e3eb1fa - fixed RRRA E2L1 fog. 2020-06-07 08:24:12 +02:00
Christoph Oelckers 3adfdfcac5 - renamed a few more things in the shader. 2020-06-07 08:16:04 +02:00
Christoph Oelckers 232b0c1bb6 - store the lighting related uniforms in a GZDoom-style LightParms vec4. 2020-06-06 00:44:57 +02:00
Christoph Oelckers f159496f6e - moved the ShadeDiv array into the lookup table and took the numshades-2 divisor out of the stored value.
The value was changed to allow easier reuse in scenarios where the size of the shade table does not matter anymore.
2020-06-05 23:18:21 +02:00
Christoph Oelckers 0bd460d9e3 - split up the visibility factor into a scene specific and an element specific part.
The main reason here is that the scene specific part contains a projection dependent component which would be a problem when transitioning to GZDoom's code. The global viewpoint data already has a field for such a factor so now that gets used.
This also means a significant simplification of the visibility code in Polymost and the removal of several global variables.
2020-06-05 19:06:31 +02:00
Christoph Oelckers 9dfd3ddd02 - migration of texture tinting to GZDoom's version.
- start of visibility migration - removing unused globvis variable.
2020-06-05 17:02:21 +02:00
Christoph Oelckers d812c2997c - start renaming uniforms to match GZDoom.
Needed to allow using the same shader with the backend.
2020-06-04 21:34:27 +02:00
Christoph Oelckers b15cc31a38 - transitioned matrix setup to use the backend's uniform buffer implementation. 2020-06-04 20:14:48 +02:00
Christoph Oelckers 40f085adea - draw fullscreen blends with the 2D drawer.
Removing one special case of render setup. Now all 2D content is done by the same code.
2020-06-04 18:54:10 +02:00
Christoph Oelckers cf6855904d - took projection and view matrix out of the render state.
This is a preparation to migrate to GZDoom's HWViewpointUniforms buffer.
2020-06-04 18:46:44 +02:00
Christoph Oelckers 7638ead1c8 - simplified the texture sampler setup.
DAMETH_CLAMPED was redundant and only causig problems.
2020-06-02 16:55:02 +02:00
Christoph Oelckers 350acd2ac3 - scale the vertex coordinates that get output to the hardware by 1024.
This is needed to get a coordinate system that is compatible with GZDoom's so that its lighting code can be reused more easily.
2020-06-01 09:55:28 +02:00
Christoph Oelckers 783dff41b6 - fixed clamp mode setup. 2020-05-31 23:08:56 +02:00
Christoph Oelckers bd0c8acd46 - replaced detail matrix with a two element scale vector because that is all that is needed. 2020-05-31 12:23:35 +02:00
Christoph Oelckers d752e33909 - removed the unused SurfaceShader class. 2020-05-31 11:47:19 +02:00