File tree Expand file tree Collapse file tree 6 files changed +30
-15
lines changed
ShaderCooker/ShaderCooker Expand file tree Collapse file tree 6 files changed +30
-15
lines changed Original file line number Diff line number Diff line change @@ -52,7 +52,8 @@ namespace Renderer
5252 {
5353 DEBUG,
5454 GLOBAL,
55- SHADOWS,
55+ TILES,
56+ LIGHT,
5657 PER_PASS,
5758 PER_DRAW,
5859 TERRAIN,
@@ -65,7 +66,8 @@ namespace Renderer
6566 {
6667 case DEBUG: return " DEBUG" ;
6768 case GLOBAL: return " GLOBAL" ;
68- case SHADOWS: return " SHADOWS" ;
69+ case TILES: return " TILES" ;
70+ case LIGHT: return " LIGHT" ;
6971 case PER_PASS: return " PER_PASS" ;
7072 case PER_DRAW: return " PER_DRAW" ;
7173 case TERRAIN: return " TERRAIN" ;
Original file line number Diff line number Diff line change @@ -10,6 +10,14 @@ namespace Renderer
1010 {
1111 }
1212
13+ void Renderer::SetRenderSize (const vec2& renderSize)
14+ {
15+ for (auto & callback : _onRenderSizeChangedCallbacks)
16+ {
17+ callback (renderSize);
18+ }
19+ }
20+
1321 RenderGraph& Renderer::CreateRenderGraph (RenderGraphDesc& desc)
1422 {
1523 RenderGraph* renderGraph = Memory::Allocator::New<RenderGraph>(desc.allocator , desc.allocator , this );
Original file line number Diff line number Diff line change @@ -49,6 +49,8 @@ namespace Renderer
4949 class Renderer
5050 {
5151 public:
52+ ~Renderer ();
53+
5254 virtual void InitDebug () = 0;
5355 virtual void InitWindow (Novus::Window* window) = 0;
5456 virtual void Deinit () = 0;
@@ -57,14 +59,13 @@ namespace Renderer
5759 virtual void ReloadShaders (bool forceRecompileAll) = 0;
5860 virtual void ClearUploadBuffers () = 0;
5961
60- virtual void SetRenderSize (vec2 renderSize) = 0;
61- virtual vec2 GetRenderSize () = 0;
62+ virtual void SetRenderSize (const vec2& renderSize);
63+ virtual const vec2& GetRenderSize () = 0;
64+ void AddOnRenderSizeChanged (const std::function<void (const vec2&)>& func) { _onRenderSizeChangedCallbacks.push_back (func); }
6265
6366 virtual vec2 GetWindowSize () = 0;
6467 virtual ImageFormat GetSwapChainImageFormat () = 0;
6568
66- virtual ~Renderer ();
67-
6869 [[nodiscard]] RenderGraph& CreateRenderGraph (RenderGraphDesc& desc);
6970
7071 // Creation
@@ -245,6 +246,7 @@ namespace Renderer
245246 bool _isExecutingCommandlist = false ;
246247
247248 std::vector<TimeQueryID> _frameTimeQueries;
249+ std::vector<std::function<void (const vec2&)>> _onRenderSizeChangedCallbacks;
248250
249251 friend class RenderGraph ;
250252 };
Original file line number Diff line number Diff line change @@ -110,13 +110,15 @@ namespace Renderer
110110 _uploadBufferHandler->Clear ();
111111 }
112112
113- void RendererVK::SetRenderSize (vec2 renderSize)
113+ void RendererVK::SetRenderSize (const vec2& renderSize)
114114 {
115115 _renderSize = renderSize;
116116 _renderSizeChanged = true ;
117+
118+ Renderer::SetRenderSize (renderSize);
117119 }
118120
119- vec2 RendererVK::GetRenderSize ()
121+ const vec2& RendererVK::GetRenderSize ()
120122 {
121123 return _renderSize;
122124 }
Original file line number Diff line number Diff line change @@ -42,8 +42,8 @@ namespace Renderer
4242 void ReloadShaders (bool forceRecompileAll) override ;
4343 void ClearUploadBuffers () override ;
4444
45- void SetRenderSize (vec2 renderSize) override ;
46- vec2 GetRenderSize () override ;
45+ void SetRenderSize (const vec2& renderSize) override ;
46+ const vec2& GetRenderSize () override ;
4747
4848 vec2 GetWindowSize () override ;
4949 ImageFormat GetSwapChainImageFormat () override ;
Original file line number Diff line number Diff line change @@ -171,11 +171,12 @@ namespace ShaderCooker
171171
172172 defines.push_back (MakeDefine (L" DEBUG" , L" 0" ));
173173 defines.push_back (MakeDefine (L" GLOBAL" , L" 1" ));
174- defines.push_back (MakeDefine (L" SHADOWS" , L" 2" ));
175- defines.push_back (MakeDefine (L" PER_PASS" , L" 3" ));
176- defines.push_back (MakeDefine (L" PER_DRAW" , L" 4" ));
177- defines.push_back (MakeDefine (L" TERRAIN" , L" 5" ));
178- defines.push_back (MakeDefine (L" MODEL" , L" 6" ));
174+ defines.push_back (MakeDefine (L" TILES" , L" 2" ));
175+ defines.push_back (MakeDefine (L" LIGHT" , L" 3" ));
176+ defines.push_back (MakeDefine (L" PER_PASS" , L" 4" ));
177+ defines.push_back (MakeDefine (L" PER_DRAW" , L" 5" ));
178+ defines.push_back (MakeDefine (L" TERRAIN" , L" 6" ));
179+ defines.push_back (MakeDefine (L" MODEL" , L" 7" ));
179180
180181 // Define all SHADER_*PROFILE* to 0
181182 for (const char * profile : validProfilesArray)
You can’t perform that action at this time.
0 commit comments