From 0c63f5c83280f84b936ea8523b7f5091d2ba56fe Mon Sep 17 00:00:00 2001 From: Christoph Oelckers Date: Sat, 25 Apr 2020 23:29:38 +0200 Subject: [PATCH] - moved FRenderState to 'common' and removed some game-dependent parts from it. --- .../hwrenderer/data}/hw_renderstate.h | 42 ++++++------------- src/rendering/gl/renderer/gl_renderstate.h | 2 +- .../hwrenderer/data/flatvertices.cpp | 2 +- .../hwrenderer/data/hw_viewpointbuffer.cpp | 2 +- src/rendering/hwrenderer/hw_entrypoint.cpp | 11 ++++- src/rendering/hwrenderer/models/hw_models.cpp | 2 +- src/rendering/hwrenderer/scene/hw_decal.cpp | 2 +- .../hwrenderer/scene/hw_drawstructs.h | 1 + src/rendering/hwrenderer/scene/hw_flats.cpp | 13 +++++- src/rendering/hwrenderer/scene/hw_portal.cpp | 4 +- src/rendering/hwrenderer/scene/hw_portal.h | 1 + .../hwrenderer/scene/hw_renderstate.cpp | 9 +--- .../hwrenderer/scene/hw_skyportal.cpp | 2 +- src/rendering/hwrenderer/scene/hw_sprites.cpp | 4 +- src/rendering/hwrenderer/scene/hw_walls.cpp | 41 +++++++++++++++--- .../hwrenderer/utility/hw_draw2d.cpp | 2 +- .../polyrenderer/backend/poly_hwtexture.cpp | 2 +- .../polyrenderer/backend/poly_renderstate.h | 2 +- .../polyrenderer/drawers/poly_vertex_shader.h | 2 +- .../drawers/screen_scanline_setup.cpp | 8 ++-- src/rendering/vulkan/renderer/vk_renderpass.h | 2 +- .../vulkan/renderer/vk_renderstate.h | 2 +- src/rendering/vulkan/shaders/vk_shader.h | 2 +- .../vulkan/textures/vk_hwtexture.cpp | 2 +- 24 files changed, 94 insertions(+), 68 deletions(-) rename src/{rendering/hwrenderer/scene => common/rendering/hwrenderer/data}/hw_renderstate.h (91%) diff --git a/src/rendering/hwrenderer/scene/hw_renderstate.h b/src/common/rendering/hwrenderer/data/hw_renderstate.h similarity index 91% rename from src/rendering/hwrenderer/scene/hw_renderstate.h rename to src/common/rendering/hwrenderer/data/hw_renderstate.h index d5399ad712..24692656ae 100644 --- a/src/rendering/hwrenderer/scene/hw_renderstate.h +++ b/src/common/rendering/hwrenderer/data/hw_renderstate.h @@ -2,11 +2,9 @@ #include "v_palette.h" #include "vectors.h" -#include "g_levellocals.h" -#include "hw_drawstructs.h" -#include "hw_drawlist.h" #include "matrix.h" #include "hw_material.h" +#include "texmanip.h" struct FColormap; class IVertexBuffer; @@ -239,9 +237,9 @@ protected: EPassType mPassType = NORMAL_PASS; - uint64_t firstFrame = 0; - public: + + uint64_t firstFrame = 0; VSMatrix mModelMatrix; VSMatrix mTextureMatrix; @@ -432,28 +430,22 @@ public: mLightParms[3] = -1.f; } - void SetGlowPlanes(const secplane_t &top, const secplane_t &bottom) + void SetGlowPlanes(const FVector4 &tp, const FVector4& bp) { - auto &tn = top.Normal(); - auto &bn = bottom.Normal(); - mStreamData.uGlowTopPlane = { (float)tn.X, (float)tn.Y, (float)top.negiC, (float)top.fD() }; - mStreamData.uGlowBottomPlane = { (float)bn.X, (float)bn.Y, (float)bottom.negiC, (float)bottom.fD() }; + mStreamData.uGlowTopPlane = tp; + mStreamData.uGlowBottomPlane = bp; } - void SetGradientPlanes(const secplane_t &top, const secplane_t &bottom) + void SetGradientPlanes(const FVector4& tp, const FVector4& bp) { - auto &tn = top.Normal(); - auto &bn = bottom.Normal(); - mStreamData.uGradientTopPlane = { (float)tn.X, (float)tn.Y, (float)top.negiC, (float)top.fD() }; - mStreamData.uGradientBottomPlane = { (float)bn.X, (float)bn.Y, (float)bottom.negiC, (float)bottom.fD() }; + mStreamData.uGradientTopPlane = tp; + mStreamData.uGradientBottomPlane = bp; } - void SetSplitPlanes(const secplane_t &top, const secplane_t &bottom) + void SetSplitPlanes(const FVector4& tp, const FVector4& bp) { - auto &tn = top.Normal(); - auto &bn = bottom.Normal(); - mStreamData.uSplitTopPlane = { (float)tn.X, (float)tn.Y, (float)top.negiC, (float)top.fD() }; - mStreamData.uSplitBottomPlane = { (float)bn.X, (float)bn.Y, (float)bottom.negiC, (float)bottom.fD() }; + mStreamData.uSplitTopPlane = tp; + mStreamData.uSplitBottomPlane = bp; } void SetDetailParms(float xscale, float yscale, float bias) @@ -522,14 +514,6 @@ public: else mAlphaThreshold = thresh - 0.001f; } - void SetPlaneTextureRotation(HWSectorPlane *plane, FGameTexture *texture) - { - if (hw_SetPlaneTextureRotation(plane, texture, mTextureMatrix)) - { - EnableTextureMatrix(true); - } - } - void SetLightIndex(int index) { mLightIndex = index; @@ -647,8 +631,6 @@ public: return mPassType; } - void CheckTimer(uint64_t ShaderStartTime); - // API-dependent render interface // Draw commands diff --git a/src/rendering/gl/renderer/gl_renderstate.h b/src/rendering/gl/renderer/gl_renderstate.h index a366f75d04..7c66eb87fb 100644 --- a/src/rendering/gl/renderer/gl_renderstate.h +++ b/src/rendering/gl/renderer/gl_renderstate.h @@ -27,7 +27,7 @@ #include "gl_interface.h" #include "matrix.h" #include "hwrenderer/scene//hw_drawstructs.h" -#include "hwrenderer/scene//hw_renderstate.h" +#include "hw_renderstate.h" #include "hw_material.h" #include "c_cvars.h" #include "r_defs.h" diff --git a/src/rendering/hwrenderer/data/flatvertices.cpp b/src/rendering/hwrenderer/data/flatvertices.cpp index 50d9c1ebd9..8b0058ba3a 100644 --- a/src/rendering/hwrenderer/data/flatvertices.cpp +++ b/src/rendering/hwrenderer/data/flatvertices.cpp @@ -41,7 +41,7 @@ #include "v_video.h" #include "cmdlib.h" #include "hwrenderer/data/buffers.h" -#include "hwrenderer/scene/hw_renderstate.h" +#include "hw_renderstate.h" //========================================================================== // diff --git a/src/rendering/hwrenderer/data/hw_viewpointbuffer.cpp b/src/rendering/hwrenderer/data/hw_viewpointbuffer.cpp index 3846a4ccdb..01e3e626ea 100644 --- a/src/rendering/hwrenderer/data/hw_viewpointbuffer.cpp +++ b/src/rendering/hwrenderer/data/hw_viewpointbuffer.cpp @@ -27,7 +27,7 @@ #include "hwrenderer/data/shaderuniforms.h" #include "hwrenderer/scene/hw_viewpointuniforms.h" -#include "hwrenderer/scene/hw_renderstate.h" +#include "hw_renderstate.h" #include "hw_viewpointbuffer.h" static const int INITIAL_BUFFER_SIZE = 100; // 100 viewpoints per frame should nearly always be enough diff --git a/src/rendering/hwrenderer/hw_entrypoint.cpp b/src/rendering/hwrenderer/hw_entrypoint.cpp index d4e9fdab9e..e5b0411b5d 100644 --- a/src/rendering/hwrenderer/hw_entrypoint.cpp +++ b/src/rendering/hwrenderer/hw_entrypoint.cpp @@ -243,6 +243,15 @@ void WriteSavePic(player_t* player, FileWriter* file, int width, int height) // //=========================================================================== +static void CheckTimer(FRenderState &state, uint64_t ShaderStartTime) +{ + // if firstFrame is not yet initialized, initialize it to current time + // if we're going to overflow a float (after ~4.6 hours, or 24 bits), re-init to regain precision + if ((state.firstFrame == 0) || (screen->FrameTime - state.firstFrame >= 1 << 24) || ShaderStartTime >= state.firstFrame) + state.firstFrame = screen->FrameTime; +} + + sector_t* RenderView(player_t* player) { auto RenderState = screen->RenderState(); @@ -281,7 +290,7 @@ sector_t* RenderView(player_t* player) // Shader start time does not need to be handled per level. Just use the one from the camera to render from. if (player->camera) - RenderState->CheckTimer(player->camera->Level->ShaderStartTime); + CheckTimer(*RenderState, player->camera->Level->ShaderStartTime); // prepare all camera textures that have been used in the last frame. // This must be done for all levels, not just the primary one! for (auto Level : AllLevels()) diff --git a/src/rendering/hwrenderer/models/hw_models.cpp b/src/rendering/hwrenderer/models/hw_models.cpp index 6b1aa5a33b..015b8598bb 100644 --- a/src/rendering/hwrenderer/models/hw_models.cpp +++ b/src/rendering/hwrenderer/models/hw_models.cpp @@ -39,7 +39,7 @@ #include "hwrenderer/data/buffers.h" #include "hwrenderer/data/flatvertices.h" #include "hwrenderer/scene/hw_drawinfo.h" -#include "hwrenderer/scene/hw_renderstate.h" +#include "hw_renderstate.h" #include "hwrenderer/scene/hw_portal.h" #include "hw_models.h" diff --git a/src/rendering/hwrenderer/scene/hw_decal.cpp b/src/rendering/hwrenderer/scene/hw_decal.cpp index 2c93079db8..de9b28305e 100644 --- a/src/rendering/hwrenderer/scene/hw_decal.cpp +++ b/src/rendering/hwrenderer/scene/hw_decal.cpp @@ -108,7 +108,7 @@ void HWDecal::DrawDecal(HWDrawInfo *di, FRenderState &state) di->SetColor(state, thisll, rellight, di->isFullbrightScene(), thiscm, alpha); if (di->Level->flags3 & LEVEL3_NOCOLOREDSPRITELIGHTING) thiscm.Decolorize(); di->SetFog(state, thisll, rellight, di->isFullbrightScene(), &thiscm, false); - state.SetSplitPlanes(lightlist[k].plane, lowplane); + SetSplitPlanes(state, lightlist[k].plane, lowplane); state.Draw(DT_TriangleStrip, vertindex, 4); } diff --git a/src/rendering/hwrenderer/scene/hw_drawstructs.h b/src/rendering/hwrenderer/scene/hw_drawstructs.h index 271f24a09b..8c0d291737 100644 --- a/src/rendering/hwrenderer/scene/hw_drawstructs.h +++ b/src/rendering/hwrenderer/scene/hw_drawstructs.h @@ -435,3 +435,4 @@ struct FDynLightData; struct FDynamicLight; bool GetLight(FDynLightData& dld, int group, Plane& p, FDynamicLight* light, bool checkside); void AddLightToList(FDynLightData &dld, int group, FDynamicLight* light, bool forceAttenuate); +void SetSplitPlanes(FRenderState& state, const secplane_t& top, const secplane_t& bottom); diff --git a/src/rendering/hwrenderer/scene/hw_flats.cpp b/src/rendering/hwrenderer/scene/hw_flats.cpp index eb64cea2a3..69b1712c33 100644 --- a/src/rendering/hwrenderer/scene/hw_flats.cpp +++ b/src/rendering/hwrenderer/scene/hw_flats.cpp @@ -91,6 +91,15 @@ bool hw_SetPlaneTextureRotation(const HWSectorPlane * secplane, FGameTexture * g return false; } +void SetPlaneTextureRotation(FRenderState &state, HWSectorPlane* plane, FGameTexture* texture) +{ + if (hw_SetPlaneTextureRotation(plane, texture, state.mTextureMatrix)) + { + state.EnableTextureMatrix(true); + } +} + + //========================================================================== // @@ -326,7 +335,7 @@ void HWFlat::DrawFlat(HWDrawInfo *di, FRenderState &state, bool translucent) if (sector->special != GLSector_Skybox) { state.SetMaterial(texture, UF_Texture, 0, CLAMP_NONE, 0, -1); - state.SetPlaneTextureRotation(&plane, texture); + SetPlaneTextureRotation(state, &plane, texture); DrawSubsectors(di, state); state.EnableTextureMatrix(false); } @@ -354,7 +363,7 @@ void HWFlat::DrawFlat(HWDrawInfo *di, FRenderState &state, bool translucent) if (!texture->GetTranslucency()) state.AlphaFunc(Alpha_GEqual, gl_mask_threshold); else state.AlphaFunc(Alpha_GEqual, 0.f); state.SetMaterial(texture, UF_Texture, 0, CLAMP_NONE, 0, -1); - state.SetPlaneTextureRotation(&plane, texture); + SetPlaneTextureRotation(state, &plane, texture); DrawSubsectors(di, state); state.EnableTextureMatrix(false); } diff --git a/src/rendering/hwrenderer/scene/hw_portal.cpp b/src/rendering/hwrenderer/scene/hw_portal.cpp index 11d0e95f1d..657159e7dd 100644 --- a/src/rendering/hwrenderer/scene/hw_portal.cpp +++ b/src/rendering/hwrenderer/scene/hw_portal.cpp @@ -41,6 +41,8 @@ EXTERN_CVAR(Int, r_mirror_recursions) EXTERN_CVAR(Bool, gl_portals) +void SetPlaneTextureRotation(FRenderState& state, HWSectorPlane* plane, FGameTexture* texture); + //----------------------------------------------------------------------------- // // StartFrame @@ -979,7 +981,7 @@ void HWHorizonPortal::DrawContents(HWDrawInfo *di, FRenderState &state) state.SetMaterial(texture, UF_Texture, 0, CLAMP_NONE, 0, -1); state.SetObjectColor(origin->specialcolor); - state.SetPlaneTextureRotation(sp, texture); + SetPlaneTextureRotation(state, sp, texture); state.AlphaFunc(Alpha_GEqual, 0.f); state.SetRenderStyle(STYLE_Source); diff --git a/src/rendering/hwrenderer/scene/hw_portal.h b/src/rendering/hwrenderer/scene/hw_portal.h index 28767e15de..56e6cb1392 100644 --- a/src/rendering/hwrenderer/scene/hw_portal.h +++ b/src/rendering/hwrenderer/scene/hw_portal.h @@ -2,6 +2,7 @@ #include "tarray.h" #include "r_utility.h" +#include "r_sections.h" #include "actor.h" #include "hwrenderer/scene/hw_drawinfo.h" #include "hwrenderer/scene/hw_drawstructs.h" diff --git a/src/rendering/hwrenderer/scene/hw_renderstate.cpp b/src/rendering/hwrenderer/scene/hw_renderstate.cpp index 3f08c7f333..62841f0b63 100644 --- a/src/rendering/hwrenderer/scene/hw_renderstate.cpp +++ b/src/rendering/hwrenderer/scene/hw_renderstate.cpp @@ -25,6 +25,7 @@ ** */ +#include "g_levellocals.h" #include "hw_renderstate.h" #include "hw_drawstructs.h" #include "hw_portal.h" @@ -157,11 +158,3 @@ void HWDrawInfo::SetFog(FRenderState &state, int lightlevel, int rellight, bool } } - -void FRenderState::CheckTimer(uint64_t ShaderStartTime) -{ - // if firstFrame is not yet initialized, initialize it to current time - // if we're going to overflow a float (after ~4.6 hours, or 24 bits), re-init to regain precision - if ((firstFrame == 0) || (screen->FrameTime - firstFrame >= 1 << 24) || ShaderStartTime >= firstFrame) - firstFrame = screen->FrameTime; -} diff --git a/src/rendering/hwrenderer/scene/hw_skyportal.cpp b/src/rendering/hwrenderer/scene/hw_skyportal.cpp index cc945178db..d97b026882 100644 --- a/src/rendering/hwrenderer/scene/hw_skyportal.cpp +++ b/src/rendering/hwrenderer/scene/hw_skyportal.cpp @@ -28,7 +28,7 @@ #include "g_levellocals.h" #include "hwrenderer/scene/hw_skydome.h" #include "hwrenderer/scene/hw_portal.h" -#include "hwrenderer/scene/hw_renderstate.h" +#include "hw_renderstate.h" #include "skyboxtexture.h" diff --git a/src/rendering/hwrenderer/scene/hw_sprites.cpp b/src/rendering/hwrenderer/scene/hw_sprites.cpp index 388179b1a7..a735842a32 100644 --- a/src/rendering/hwrenderer/scene/hw_sprites.cpp +++ b/src/rendering/hwrenderer/scene/hw_sprites.cpp @@ -237,11 +237,11 @@ void HWSprite::DrawSprite(HWDrawInfo *di, FRenderState &state, bool translucent) { di->SetFog(state, thislight, rel, di->isFullbrightScene(), &thiscm, additivefog); } - state.SetSplitPlanes(*topplane, *lowplane); + SetSplitPlanes(state, *topplane, *lowplane); } else if (clipping) { - state.SetSplitPlanes(topp, bottomp); + SetSplitPlanes(state, topp, bottomp); } if (!modelframe) diff --git a/src/rendering/hwrenderer/scene/hw_walls.cpp b/src/rendering/hwrenderer/scene/hw_walls.cpp index dcde26054d..bbb2482169 100644 --- a/src/rendering/hwrenderer/scene/hw_walls.cpp +++ b/src/rendering/hwrenderer/scene/hw_walls.cpp @@ -44,6 +44,35 @@ #include "hw_renderstate.h" #include "hw_skydome.h" + +void SetGlowPlanes(FRenderState &state, const secplane_t& top, const secplane_t& bottom) +{ + auto& tn = top.Normal(); + auto& bn = bottom.Normal(); + FVector4 tp = { (float)tn.X, (float)tn.Y, (float)top.negiC, (float)top.fD() }; + FVector4 bp = { (float)bn.X, (float)bn.Y, (float)bottom.negiC, (float)bottom.fD() }; + state.SetGlowPlanes(tp, bp); +} + +void SetGradientPlanes(FRenderState& state, const secplane_t& top, const secplane_t& bottom) +{ + auto& tn = top.Normal(); + auto& bn = bottom.Normal(); + FVector4 tp = { (float)tn.X, (float)tn.Y, (float)top.negiC, (float)top.fD() }; + FVector4 bp = { (float)bn.X, (float)bn.Y, (float)bottom.negiC, (float)bottom.fD() }; + state.SetGradientPlanes(tp, bp); +} + +void SetSplitPlanes(FRenderState& state, const secplane_t& top, const secplane_t& bottom) +{ + auto& tn = top.Normal(); + auto& bn = bottom.Normal(); + FVector4 tp = { (float)tn.X, (float)tn.Y, (float)top.negiC, (float)top.fD() }; + FVector4 bp = { (float)bn.X, (float)bn.Y, (float)bottom.negiC, (float)bottom.fD() }; + state.SetSplitPlanes(tp, bp); +} + + //========================================================================== // // General purpose wall rendering function @@ -155,7 +184,7 @@ void HWWall::RenderTexturedWall(HWDrawInfo *di, FRenderState &state, int rflags) { state.EnableGlow(true); state.SetGlowParams(topglowcolor, bottomglowcolor); - state.SetGlowPlanes(frontsector->ceilingplane, frontsector->floorplane); + SetGlowPlanes(state, frontsector->ceilingplane, frontsector->floorplane); } state.SetMaterial(texture, UF_Texture, 0, flags & 3, 0, -1); @@ -191,20 +220,20 @@ void HWWall::RenderTexturedWall(HWDrawInfo *di, FRenderState &state, int rflags) { if (tierndx == side_t::top) { - state.SetGradientPlanes(frontsector->ceilingplane, backsector->ceilingplane); + SetGradientPlanes(state, frontsector->ceilingplane, backsector->ceilingplane); } else if (tierndx == side_t::mid) { - state.SetGradientPlanes(backsector->ceilingplane, backsector->floorplane); + SetGradientPlanes(state, backsector->ceilingplane, backsector->floorplane); } else // side_t::bottom: { - state.SetGradientPlanes(backsector->floorplane, frontsector->floorplane); + SetGradientPlanes(state, backsector->floorplane, frontsector->floorplane); } } else { - state.SetGradientPlanes(frontsector->ceilingplane, frontsector->floorplane); + SetGradientPlanes(state, frontsector->ceilingplane, frontsector->floorplane); } } } @@ -237,7 +266,7 @@ void HWWall::RenderTexturedWall(HWDrawInfo *di, FRenderState &state, int rflags) CopyFrom3DLight(thiscm, &(*lightlist)[i]); di->SetColor(state, thisll, rel, false, thiscm, absalpha); if (type != RENDERWALL_M2SNF) di->SetFog(state, thisll, rel, false, &thiscm, RenderStyle == STYLE_Add); - state.SetSplitPlanes((*lightlist)[i].plane, lowplane); + SetSplitPlanes(state, (*lightlist)[i].plane, lowplane); RenderWall(di, state, rflags); } if (low1 <= zbottom[0] && low2 <= zbottom[1]) break; diff --git a/src/rendering/hwrenderer/utility/hw_draw2d.cpp b/src/rendering/hwrenderer/utility/hw_draw2d.cpp index 9404c9f869..40e3451c77 100644 --- a/src/rendering/hwrenderer/utility/hw_draw2d.cpp +++ b/src/rendering/hwrenderer/utility/hw_draw2d.cpp @@ -34,7 +34,7 @@ #include "hwrenderer/data/hw_viewpointbuffer.h" #include "hwrenderer/utility/hw_clock.h" #include "hwrenderer/utility/hw_cvars.h" -#include "hwrenderer/scene/hw_renderstate.h" +#include "hw_renderstate.h" #include "r_videoscale.h" diff --git a/src/rendering/polyrenderer/backend/poly_hwtexture.cpp b/src/rendering/polyrenderer/backend/poly_hwtexture.cpp index 55a82958f8..3736242092 100644 --- a/src/rendering/polyrenderer/backend/poly_hwtexture.cpp +++ b/src/rendering/polyrenderer/backend/poly_hwtexture.cpp @@ -25,7 +25,7 @@ #include "r_data/colormaps.h" #include "hw_material.h" #include "hwrenderer/utility/hw_cvars.h" -#include "hwrenderer/scene/hw_renderstate.h" +#include "hw_renderstate.h" #include "poly_framebuffer.h" #include "poly_hwtexture.h" diff --git a/src/rendering/polyrenderer/backend/poly_renderstate.h b/src/rendering/polyrenderer/backend/poly_renderstate.h index 1db19c71a5..733578dd91 100644 --- a/src/rendering/polyrenderer/backend/poly_renderstate.h +++ b/src/rendering/polyrenderer/backend/poly_renderstate.h @@ -7,7 +7,7 @@ #include "name.h" #include "hwrenderer/scene/hw_drawstructs.h" -#include "hwrenderer/scene/hw_renderstate.h" +#include "hw_renderstate.h" #include "hw_material.h" struct HWViewpointUniforms; diff --git a/src/rendering/polyrenderer/drawers/poly_vertex_shader.h b/src/rendering/polyrenderer/drawers/poly_vertex_shader.h index 5b53137634..22539e9725 100644 --- a/src/rendering/polyrenderer/drawers/poly_vertex_shader.h +++ b/src/rendering/polyrenderer/drawers/poly_vertex_shader.h @@ -2,7 +2,7 @@ #pragma once #include "hwrenderer/scene/hw_viewpointuniforms.h" -#include "hwrenderer/scene/hw_renderstate.h" +#include "hw_renderstate.h" #ifndef NO_SSE #include diff --git a/src/rendering/polyrenderer/drawers/screen_scanline_setup.cpp b/src/rendering/polyrenderer/drawers/screen_scanline_setup.cpp index 7567901a9f..9f1a7af529 100644 --- a/src/rendering/polyrenderer/drawers/screen_scanline_setup.cpp +++ b/src/rendering/polyrenderer/drawers/screen_scanline_setup.cpp @@ -421,8 +421,8 @@ static void WriteVaryingWarp1(float posU, float posV, float stepU, float stepV, float u = posU * w[x]; float v = posV * w[x]; - v += g_sin(pi2 * (u + timer)) * 0.1f; - u += g_sin(pi2 * (v + timer)) * 0.1f; + v += (float)g_sin(pi2 * (u + timer)) * 0.1f; + u += (float)g_sin(pi2 * (v + timer)) * 0.1f; u = u - std::floor(u); v = v - std::floor(v); @@ -448,8 +448,8 @@ static void WriteVaryingWarp2(float posU, float posV, float stepU, float stepV, float u = posU * w[x]; float v = posV * w[x]; - v += (0.5f + g_sin(pi2 * (v + timer * 0.61f + 900.f/8192.f)) + g_sin(pi2 * (u * 2.0f + timer * 0.36f + 300.0f/8192.0f))) * 0.025f; - u += (0.5f + g_sin(pi2 * (v + timer * 0.49f + 700.f/8192.f)) + g_sin(pi2 * (u * 2.0f + timer * 0.49f + 1200.0f/8192.0f))) * 0.025f; + v += (0.5f + (float)g_sin(pi2 * (v + timer * 0.61f + 900.f/8192.f)) + (float)g_sin(pi2 * (u * 2.0f + timer * 0.36f + 300.0f/8192.0f))) * 0.025f; + u += (0.5f + (float)g_sin(pi2 * (v + timer * 0.49f + 700.f/8192.f)) + (float)g_sin(pi2 * (u * 2.0f + timer * 0.49f + 1200.0f/8192.0f))) * 0.025f; u = u - std::floor(u); v = v - std::floor(v); diff --git a/src/rendering/vulkan/renderer/vk_renderpass.h b/src/rendering/vulkan/renderer/vk_renderpass.h index c2c3b3e8e1..f192525225 100644 --- a/src/rendering/vulkan/renderer/vk_renderpass.h +++ b/src/rendering/vulkan/renderer/vk_renderpass.h @@ -4,7 +4,7 @@ #include "vulkan/system/vk_objects.h" #include "renderstyle.h" #include "hwrenderer/data/buffers.h" -#include "hwrenderer/scene/hw_renderstate.h" +#include "hw_renderstate.h" #include #include diff --git a/src/rendering/vulkan/renderer/vk_renderstate.h b/src/rendering/vulkan/renderer/vk_renderstate.h index 9494a794b2..71e467f193 100644 --- a/src/rendering/vulkan/renderer/vk_renderstate.h +++ b/src/rendering/vulkan/renderer/vk_renderstate.h @@ -9,7 +9,7 @@ #include "name.h" #include "hwrenderer/scene/hw_drawstructs.h" -#include "hwrenderer/scene/hw_renderstate.h" +#include "hw_renderstate.h" #include "hw_material.h" class VkRenderPassSetup; diff --git a/src/rendering/vulkan/shaders/vk_shader.h b/src/rendering/vulkan/shaders/vk_shader.h index a9936293c0..daa9dc845c 100644 --- a/src/rendering/vulkan/shaders/vk_shader.h +++ b/src/rendering/vulkan/shaders/vk_shader.h @@ -6,7 +6,7 @@ #include "vectors.h" #include "matrix.h" #include "name.h" -#include "hwrenderer/scene/hw_renderstate.h" +#include "hw_renderstate.h" #define SHADER_MIN_REQUIRED_TEXTURE_LAYERS 8 diff --git a/src/rendering/vulkan/textures/vk_hwtexture.cpp b/src/rendering/vulkan/textures/vk_hwtexture.cpp index cf6aeaa45f..d686fedd74 100644 --- a/src/rendering/vulkan/textures/vk_hwtexture.cpp +++ b/src/rendering/vulkan/textures/vk_hwtexture.cpp @@ -25,7 +25,7 @@ #include "r_data/colormaps.h" #include "hw_material.h" #include "hwrenderer/utility/hw_cvars.h" -#include "hwrenderer/scene/hw_renderstate.h" +#include "hw_renderstate.h" #include "vulkan/system/vk_objects.h" #include "vulkan/system/vk_builders.h" #include "vulkan/system/vk_framebuffer.h"