diff --git a/src/app/tools/tankopedia/[id]/components/Model/TankSandbox.tsx b/src/app/tools/tankopedia/[id]/components/Model/TankSandbox.tsx index e7e9744a6..3e077f02b 100644 --- a/src/app/tools/tankopedia/[id]/components/Model/TankSandbox.tsx +++ b/src/app/tools/tankopedia/[id]/components/Model/TankSandbox.tsx @@ -197,7 +197,6 @@ export function TankSandbox() { }> {/* TODO: add rotation cube to the top right */} - {/* */} diff --git a/src/components/Armor/components/CoreArmorSceneComponent/shaders/fragment.glsl b/src/components/Armor/components/CoreArmorSceneComponent/shaders/fragment.glsl index b5b6f4a50..e03696067 100644 --- a/src/components/Armor/components/CoreArmorSceneComponent/shaders/fragment.glsl +++ b/src/components/Armor/components/CoreArmorSceneComponent/shaders/fragment.glsl @@ -40,7 +40,7 @@ void main() { } else { bool twoCalibersRule = caliber > thickness * 2.0 && thickness > 0.0; float finalNormalization = twoCalibersRule ? ((1.4 * normalization * caliber) / (2.0 * thickness)) : normalization; - float finalThickness = thickness / cos(angle - finalNormalization); + float finalThickness = thickness / cos(max(0.0, angle - finalNormalization)); float remainingPenetration = penetration; // world space is in meters diff --git a/src/components/Armor/components/SpacedArmorSceneComponent/components/SpacedArmorSubSpaced/shaders/fragment.glsl b/src/components/Armor/components/SpacedArmorSceneComponent/components/SpacedArmorSubSpaced/shaders/fragment.glsl index 04057b4d7..7d486d5e8 100644 --- a/src/components/Armor/components/SpacedArmorSceneComponent/components/SpacedArmorSubSpaced/shaders/fragment.glsl +++ b/src/components/Armor/components/SpacedArmorSceneComponent/components/SpacedArmorSubSpaced/shaders/fragment.glsl @@ -18,7 +18,7 @@ void main() { bool twoCalibersRule = caliber > thickness * 2.0 && thickness > 0.0; float finalNormalization = twoCalibersRule ? ((1.4 * normalization * caliber) / (2.0 * thickness)) : normalization; - float finalThickness = thickness / cos(angle - finalNormalization); + float finalThickness = thickness / cos(max(0.0, angle - finalNormalization)); gl_FragColor = vec4(finalThickness / penetration, 0.0, 0.0, 1.0); } \ No newline at end of file diff --git a/src/components/Armor/components/SpacedArmorSceneComponent/index.tsx b/src/components/Armor/components/SpacedArmorSceneComponent/index.tsx index 1d7cc9685..5bed3de2c 100644 --- a/src/components/Armor/components/SpacedArmorSceneComponent/index.tsx +++ b/src/components/Armor/components/SpacedArmorSceneComponent/index.tsx @@ -73,7 +73,6 @@ export function SpacedArmorSceneComponent({ ...props }: SpacedArmorSceneComponentProps) { const camera = useThree((state) => state.camera); - // const cameraNormal = new Vector3(); return ( <> @@ -107,8 +106,6 @@ export function SpacedArmorSceneComponent({ point: event.point, }; // TODO: type this let remainingPenetration = penetration; - let penetrationChance = -1; - let splashChance = -1; const shellNormal = camera.position .clone() @@ -242,7 +239,8 @@ export function SpacedArmorSceneComponent({ const finalThickness = thickness === 0 ? 0 - : thickness / Math.cos(angle - finalNormalization); + : thickness / + Math.cos(Math.max(0, angle - finalNormalization)); if (!threeCalibersRule && angle >= ricochet) { shot.layers.push({