You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-09 12:50:35 +00:00
Fix various assorted warnings
Fix various warnings that don't have enough instances to merit individual commits. Also fixes a potential bug in audio_server.cpp.
This commit is contained in:
@@ -101,7 +101,7 @@ void *VisualServerScene::_instance_pair(void *p_self, OctreeElementID, Instance
|
||||
SWAP(A, B); //lesser always first
|
||||
}
|
||||
|
||||
if (B->base_type == VS::INSTANCE_LIGHT && (1 << A->base_type) & VS::INSTANCE_GEOMETRY_MASK) {
|
||||
if (B->base_type == VS::INSTANCE_LIGHT && ((1 << A->base_type) & VS::INSTANCE_GEOMETRY_MASK)) {
|
||||
|
||||
InstanceLightData *light = static_cast<InstanceLightData *>(B->base_data);
|
||||
InstanceGeometryData *geom = static_cast<InstanceGeometryData *>(A->base_data);
|
||||
@@ -119,7 +119,7 @@ void *VisualServerScene::_instance_pair(void *p_self, OctreeElementID, Instance
|
||||
geom->lighting_dirty = true;
|
||||
|
||||
return E; //this element should make freeing faster
|
||||
} else if (B->base_type == VS::INSTANCE_REFLECTION_PROBE && (1 << A->base_type) & VS::INSTANCE_GEOMETRY_MASK) {
|
||||
} else if (B->base_type == VS::INSTANCE_REFLECTION_PROBE && ((1 << A->base_type) & VS::INSTANCE_GEOMETRY_MASK)) {
|
||||
|
||||
InstanceReflectionProbeData *reflection_probe = static_cast<InstanceReflectionProbeData *>(B->base_data);
|
||||
InstanceGeometryData *geom = static_cast<InstanceGeometryData *>(A->base_data);
|
||||
@@ -133,7 +133,7 @@ void *VisualServerScene::_instance_pair(void *p_self, OctreeElementID, Instance
|
||||
geom->reflection_dirty = true;
|
||||
|
||||
return E; //this element should make freeing faster
|
||||
} else if (B->base_type == VS::INSTANCE_GI_PROBE && (1 << A->base_type) & VS::INSTANCE_GEOMETRY_MASK) {
|
||||
} else if (B->base_type == VS::INSTANCE_GI_PROBE && ((1 << A->base_type) & VS::INSTANCE_GEOMETRY_MASK)) {
|
||||
|
||||
InstanceGIProbeData *gi_probe = static_cast<InstanceGIProbeData *>(B->base_data);
|
||||
InstanceGeometryData *geom = static_cast<InstanceGeometryData *>(A->base_data);
|
||||
@@ -169,7 +169,7 @@ void VisualServerScene::_instance_unpair(void *p_self, OctreeElementID, Instance
|
||||
SWAP(A, B); //lesser always first
|
||||
}
|
||||
|
||||
if (B->base_type == VS::INSTANCE_LIGHT && (1 << A->base_type) & VS::INSTANCE_GEOMETRY_MASK) {
|
||||
if (B->base_type == VS::INSTANCE_LIGHT && ((1 << A->base_type) & VS::INSTANCE_GEOMETRY_MASK)) {
|
||||
|
||||
InstanceLightData *light = static_cast<InstanceLightData *>(B->base_data);
|
||||
InstanceGeometryData *geom = static_cast<InstanceGeometryData *>(A->base_data);
|
||||
@@ -184,7 +184,7 @@ void VisualServerScene::_instance_unpair(void *p_self, OctreeElementID, Instance
|
||||
}
|
||||
geom->lighting_dirty = true;
|
||||
|
||||
} else if (B->base_type == VS::INSTANCE_REFLECTION_PROBE && (1 << A->base_type) & VS::INSTANCE_GEOMETRY_MASK) {
|
||||
} else if (B->base_type == VS::INSTANCE_REFLECTION_PROBE && ((1 << A->base_type) & VS::INSTANCE_GEOMETRY_MASK)) {
|
||||
|
||||
InstanceReflectionProbeData *reflection_probe = static_cast<InstanceReflectionProbeData *>(B->base_data);
|
||||
InstanceGeometryData *geom = static_cast<InstanceGeometryData *>(A->base_data);
|
||||
@@ -196,7 +196,7 @@ void VisualServerScene::_instance_unpair(void *p_self, OctreeElementID, Instance
|
||||
|
||||
geom->reflection_dirty = true;
|
||||
|
||||
} else if (B->base_type == VS::INSTANCE_GI_PROBE && (1 << A->base_type) & VS::INSTANCE_GEOMETRY_MASK) {
|
||||
} else if (B->base_type == VS::INSTANCE_GI_PROBE && ((1 << A->base_type) & VS::INSTANCE_GEOMETRY_MASK)) {
|
||||
|
||||
InstanceGIProbeData *gi_probe = static_cast<InstanceGIProbeData *>(B->base_data);
|
||||
InstanceGeometryData *geom = static_cast<InstanceGeometryData *>(A->base_data);
|
||||
@@ -890,50 +890,48 @@ void VisualServerScene::_light_instance_update_shadow(Instance *p_instance, cons
|
||||
max_distance = MIN(shadow_max, max_distance);
|
||||
}
|
||||
max_distance = MAX(max_distance, p_cam_projection.get_z_near() + 0.001);
|
||||
float min_distance = MIN(p_cam_projection.get_z_near(),max_distance);
|
||||
float min_distance = MIN(p_cam_projection.get_z_near(), max_distance);
|
||||
|
||||
VS::LightDirectionalShadowDepthRangeMode depth_range_mode = VSG::storage->light_directional_get_shadow_depth_range_mode(p_instance->base);
|
||||
|
||||
if (depth_range_mode==VS::LIGHT_DIRECTIONAL_SHADOW_DEPTH_RANGE_OPTIMIZED) {
|
||||
if (depth_range_mode == VS::LIGHT_DIRECTIONAL_SHADOW_DEPTH_RANGE_OPTIMIZED) {
|
||||
//optimize min/max
|
||||
Vector<Plane> planes = p_cam_projection.get_projection_planes(p_cam_transform);
|
||||
int cull_count = p_scenario->octree.cull_convex(planes, instance_shadow_cull_result, MAX_INSTANCE_CULL, VS::INSTANCE_GEOMETRY_MASK);
|
||||
Plane base(p_cam_transform.origin,-p_cam_transform.basis.get_axis(2));
|
||||
Plane base(p_cam_transform.origin, -p_cam_transform.basis.get_axis(2));
|
||||
//check distance max and min
|
||||
|
||||
bool found_items=false;
|
||||
float z_max=-1e20;
|
||||
float z_min=1e20;
|
||||
bool found_items = false;
|
||||
float z_max = -1e20;
|
||||
float z_min = 1e20;
|
||||
|
||||
for(int i=0;i<cull_count;i++) {
|
||||
for (int i = 0; i < cull_count; i++) {
|
||||
|
||||
Instance *instance = instance_shadow_cull_result[i];
|
||||
if (!instance->visible || !((1 << instance->base_type) & VS::INSTANCE_GEOMETRY_MASK) || !static_cast<InstanceGeometryData *>(instance->base_data)->can_cast_shadows) {
|
||||
continue;
|
||||
}
|
||||
|
||||
float max,min;
|
||||
float max, min;
|
||||
instance->transformed_aabb.project_range_in_plane(base, min, max);
|
||||
|
||||
if (max>z_max) {
|
||||
z_max=max;
|
||||
if (max > z_max) {
|
||||
z_max = max;
|
||||
}
|
||||
|
||||
if (min<z_min) {
|
||||
z_min=min;
|
||||
if (min < z_min) {
|
||||
z_min = min;
|
||||
}
|
||||
|
||||
found_items=true;
|
||||
found_items = true;
|
||||
}
|
||||
|
||||
if (found_items) {
|
||||
min_distance=MAX(min_distance,z_min);
|
||||
max_distance=MIN(max_distance,z_max);
|
||||
min_distance = MAX(min_distance, z_min);
|
||||
max_distance = MIN(max_distance, z_max);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
float range = max_distance - min_distance;
|
||||
|
||||
int splits = 0;
|
||||
@@ -1062,7 +1060,7 @@ void VisualServerScene::_light_instance_update_shadow(Instance *p_instance, cons
|
||||
z_max_cam = z_vec.dot(center) + radius;
|
||||
z_min_cam = z_vec.dot(center) - radius;
|
||||
|
||||
if (depth_range_mode==VS::LIGHT_DIRECTIONAL_SHADOW_DEPTH_RANGE_STABLE) {
|
||||
if (depth_range_mode == VS::LIGHT_DIRECTIONAL_SHADOW_DEPTH_RANGE_STABLE) {
|
||||
//this trick here is what stabilizes the shadow (make potential jaggies to not move)
|
||||
//at the cost of some wasted resolution. Still the quality increase is very well worth it
|
||||
|
||||
@@ -1073,8 +1071,6 @@ void VisualServerScene::_light_instance_update_shadow(Instance *p_instance, cons
|
||||
y_max_cam = Math::stepify(y_max_cam, unit);
|
||||
y_min_cam = Math::stepify(y_min_cam, unit);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
//now that we now all ranges, we can proceed to make the light frustum planes, for culling octree
|
||||
@@ -1118,7 +1114,6 @@ void VisualServerScene::_light_instance_update_shadow(Instance *p_instance, cons
|
||||
|
||||
{
|
||||
|
||||
|
||||
CameraMatrix ortho_camera;
|
||||
real_t half_x = (x_max_cam - x_min_cam) * 0.5;
|
||||
real_t half_y = (y_max_cam - y_min_cam) * 0.5;
|
||||
@@ -1425,7 +1420,7 @@ void VisualServerScene::_render_scene(const Transform p_cam_transform, const Cam
|
||||
gi_probe_update_list.add(&gi_probe->update_element);
|
||||
}
|
||||
|
||||
} else if ((1 << ins->base_type) & VS::INSTANCE_GEOMETRY_MASK && ins->visible && ins->cast_shadows != VS::SHADOW_CASTING_SETTING_SHADOWS_ONLY) {
|
||||
} else if (((1 << ins->base_type) & VS::INSTANCE_GEOMETRY_MASK) && ins->visible && ins->cast_shadows != VS::SHADOW_CASTING_SETTING_SHADOWS_ONLY) {
|
||||
|
||||
keep = true;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user