You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-10 13:00:37 +00:00
Add depth resolve to the mobile renderer
This commit is contained in:
@@ -30,12 +30,16 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "servers/rendering/renderer_rd/pipeline_cache_rd.h"
|
||||
#include "servers/rendering/renderer_rd/shaders/effects/resolve.glsl.gen.h"
|
||||
#include "servers/rendering/renderer_rd/shaders/effects/resolve_raster.glsl.gen.h"
|
||||
|
||||
namespace RendererRD {
|
||||
|
||||
class Resolve {
|
||||
private:
|
||||
bool prefer_raster_effects;
|
||||
|
||||
struct ResolvePushConstant {
|
||||
int32_t screen_size[2];
|
||||
int32_t samples;
|
||||
@@ -56,12 +60,20 @@ private:
|
||||
RID pipelines[RESOLVE_MODE_MAX]; //3 quality levels
|
||||
} resolve;
|
||||
|
||||
struct ResolveRasterShader {
|
||||
ResolvePushConstant push_constant;
|
||||
ResolveRasterShaderRD shader;
|
||||
RID shader_version;
|
||||
PipelineCacheRD pipeline;
|
||||
} resolve_raster;
|
||||
|
||||
public:
|
||||
Resolve();
|
||||
Resolve(bool p_prefer_raster_effects);
|
||||
~Resolve();
|
||||
|
||||
void resolve_gi(RID p_source_depth, RID p_source_normal_roughness, RID p_source_voxel_gi, RID p_dest_depth, RID p_dest_normal_roughness, RID p_dest_voxel_gi, Vector2i p_screen_size, int p_samples);
|
||||
void resolve_depth(RID p_source_depth, RID p_dest_depth, Vector2i p_screen_size, int p_samples);
|
||||
void resolve_depth_raster(RID p_source_rd_texture, RID p_dest_framebuffer, int p_samples);
|
||||
};
|
||||
|
||||
} // namespace RendererRD
|
||||
|
||||
Reference in New Issue
Block a user