Combine init_gi and init_sdfgi into a single init
This commit is contained in:
parent
52ab369d5f
commit
73b5eb2673
3 changed files with 9 additions and 16 deletions
|
@ -1100,8 +1100,6 @@ void RendererSceneGIRD::SDFGI::update_cascades() {
|
||||||
}
|
}
|
||||||
|
|
||||||
void RendererSceneGIRD::SDFGI::debug_draw(const CameraMatrix &p_projection, const Transform &p_transform, int p_width, int p_height, RID p_render_target, RID p_texture) {
|
void RendererSceneGIRD::SDFGI::debug_draw(const CameraMatrix &p_projection, const Transform &p_transform, int p_width, int p_height, RID p_render_target, RID p_texture) {
|
||||||
// !BAS! Need to find a nicer way then adding width/height/renderbuffer/texture as parameters
|
|
||||||
|
|
||||||
if (!debug_uniform_set.is_valid() || !RD::get_singleton()->uniform_set_is_valid(debug_uniform_set)) {
|
if (!debug_uniform_set.is_valid() || !RD::get_singleton()->uniform_set_is_valid(debug_uniform_set)) {
|
||||||
Vector<RD::Uniform> uniforms;
|
Vector<RD::Uniform> uniforms;
|
||||||
{
|
{
|
||||||
|
@ -2806,9 +2804,11 @@ RendererSceneGIRD::RendererSceneGIRD() {
|
||||||
RendererSceneGIRD::~RendererSceneGIRD() {
|
RendererSceneGIRD::~RendererSceneGIRD() {
|
||||||
}
|
}
|
||||||
|
|
||||||
void RendererSceneGIRD::init_gi(RendererStorageRD *p_storage) {
|
void RendererSceneGIRD::init(RendererStorageRD *p_storage, RendererSceneSkyRD *p_sky) {
|
||||||
storage = p_storage;
|
storage = p_storage;
|
||||||
|
|
||||||
|
/* GI */
|
||||||
|
|
||||||
{
|
{
|
||||||
//kinda complicated to compute the amount of slots, we try to use as many as we can
|
//kinda complicated to compute the amount of slots, we try to use as many as we can
|
||||||
|
|
||||||
|
@ -2861,9 +2861,9 @@ void RendererSceneGIRD::init_gi(RendererStorageRD *p_storage) {
|
||||||
giprobe_debug_shader_version_pipelines[i].setup(giprobe_debug_shader_version_shaders[i], RD::RENDER_PRIMITIVE_TRIANGLES, rs, RD::PipelineMultisampleState(), ds, RD::PipelineColorBlendState::create_disabled(), 0);
|
giprobe_debug_shader_version_pipelines[i].setup(giprobe_debug_shader_version_shaders[i], RD::RENDER_PRIMITIVE_TRIANGLES, rs, RD::PipelineMultisampleState(), ds, RD::PipelineColorBlendState::create_disabled(), 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
void RendererSceneGIRD::init_sdfgi(RendererSceneSkyRD *p_sky) {
|
/* SDGFI */
|
||||||
|
|
||||||
{
|
{
|
||||||
Vector<String> preprocess_modes;
|
Vector<String> preprocess_modes;
|
||||||
preprocess_modes.push_back("\n#define MODE_SCROLL\n");
|
preprocess_modes.push_back("\n#define MODE_SCROLL\n");
|
||||||
|
|
|
@ -53,8 +53,6 @@ class RendererSceneRenderRD;
|
||||||
|
|
||||||
class RendererSceneGIRD {
|
class RendererSceneGIRD {
|
||||||
private:
|
private:
|
||||||
// !BAS! need to see which things become internal..
|
|
||||||
|
|
||||||
RendererStorageRD *storage;
|
RendererStorageRD *storage;
|
||||||
|
|
||||||
/* GIPROBE INSTANCE */
|
/* GIPROBE INSTANCE */
|
||||||
|
@ -652,9 +650,7 @@ public:
|
||||||
RendererSceneGIRD();
|
RendererSceneGIRD();
|
||||||
~RendererSceneGIRD();
|
~RendererSceneGIRD();
|
||||||
|
|
||||||
// !BAS! Can we merge these two inits? Possibly, need to check
|
void init(RendererStorageRD *p_storage, RendererSceneSkyRD *p_sky);
|
||||||
void init_gi(RendererStorageRD *p_storage);
|
|
||||||
void init_sdfgi(RendererSceneSkyRD *p_sky);
|
|
||||||
void free();
|
void free();
|
||||||
|
|
||||||
SDFGI *create_sdfgi(RendererSceneEnvironmentRD *p_env, const Vector3 &p_world_position, uint32_t p_requested_history_size);
|
SDFGI *create_sdfgi(RendererSceneEnvironmentRD *p_env, const Vector3 &p_world_position, uint32_t p_requested_history_size);
|
||||||
|
|
|
@ -4097,17 +4097,14 @@ RendererSceneRenderRD::RendererSceneRenderRD(RendererStorageRD *p_storage) {
|
||||||
low_end = true;
|
low_end = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!low_end) {
|
|
||||||
gi.init_gi(storage);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* SKY SHADER */
|
/* SKY SHADER */
|
||||||
|
|
||||||
sky.init(storage);
|
sky.init(storage);
|
||||||
|
|
||||||
|
/* GI */
|
||||||
|
|
||||||
if (!low_end) {
|
if (!low_end) {
|
||||||
//SDFGI
|
gi.init(storage, &sky);
|
||||||
gi.init_sdfgi(&sky);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
{ //decals
|
{ //decals
|
||||||
|
|
Loading…
Add table
Reference in a new issue