You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-24 15:26:15 +00:00
Merge pull request #89919 from BlueCube3310/bicubic-lightmap
Implement bicubic sampling for lightmaps
This commit is contained in:
@@ -1813,6 +1813,7 @@ void LightStorage::lightmap_set_textures(RID p_lightmap, RID p_light, bool p_use
|
||||
}
|
||||
|
||||
t->lightmap_users.insert(p_lightmap);
|
||||
lm->light_texture_size = Vector2i(t->width, t->height);
|
||||
|
||||
if (using_lightmap_array) {
|
||||
if (lm->array_index < 0) {
|
||||
|
||||
@@ -332,6 +332,7 @@ private:
|
||||
bool interior = false;
|
||||
AABB bounds = AABB(Vector3(), Vector3(1, 1, 1));
|
||||
float baked_exposure = 1.0;
|
||||
Vector2i light_texture_size;
|
||||
int32_t array_index = -1; //unassigned
|
||||
PackedVector3Array points;
|
||||
PackedColorArray point_sh;
|
||||
@@ -985,6 +986,10 @@ public:
|
||||
const Lightmap *lm = lightmap_owner.get_or_null(p_lightmap);
|
||||
return lm->uses_spherical_harmonics;
|
||||
}
|
||||
_FORCE_INLINE_ Vector2i lightmap_get_light_texture_size(RID p_lightmap) const {
|
||||
const Lightmap *lm = lightmap_owner.get_or_null(p_lightmap);
|
||||
return lm->light_texture_size;
|
||||
}
|
||||
_FORCE_INLINE_ uint64_t lightmap_array_get_version() const {
|
||||
ERR_FAIL_COND_V(!using_lightmap_array, 0); //only for arrays
|
||||
return lightmap_array_version;
|
||||
|
||||
@@ -73,6 +73,8 @@ public:
|
||||
uint32_t directional_light_count = 0;
|
||||
bool directional_light_soft_shadows = false;
|
||||
|
||||
bool lightmap_bicubic_filter = false;
|
||||
|
||||
RenderingMethod::RenderInfo *render_info = nullptr;
|
||||
|
||||
/* Viewport data */
|
||||
|
||||
Reference in New Issue
Block a user