# Debug triangles in Bullet Physics

In our game “Burnt Islands” that is a heavy physics based game in a dynamic world we needed to make physics shapes of the objects in the scene. We use Irrlicht graphics engine in the game with “Bullet physics” as a physics engine. In a previous post “From Irrlicht mesh to Bullet Physics mesh” we described how to make a physics mesh from a graphics mesh.

# From Irrlicht mesh to Bullet Physics mesh

There is typically no physics functionality in graphics engines like Irrlicht. If you are using graphics and physics engines instead of one like Unity or Unreal Engine then you will run into a problem called “Irrlicht physics”. Recall that Irrlicht is just a graphics engine. It renders object on the screen and that is all. In order for an object to be able to have physics properties you would need to integrate physics and graphics engines.

# Sphere vs AABB collision detection test

As the sphere is being the simplest primitive there is, the test for Sphere and AABB intersection is easy. This solution works also for Sphere Cube intersection tests.

# Basic primitives

## Introduction

When you want to do real time computer physics, like what we see in games, you will have to break the world into understandable items. It’s like Caesar’s divide and conquer tactic. When you are playing in a complex scene, all what really goes on in the physics engine is broken into small, but many pieces. This enables further optimization down the line, which will be covered later, but for now this keeps the collision detection and collision response algorithms easy to understand.

# Bullet Physics: How to change body mass

We’ve run into a problem with updates of a mass of the body in our game Burnt Islands. We had some flying robots on the platforms of their factory. These robots were static objects in the beginning with no mass (mass = 0).

# Simple AABB vs AABB collision detection

What is AABB? An AABB is an axis aligned bounding box. AABB vs AABB is a box vs box or bounding box collision detection. It’s mainly used in broadphase physics detection.

# Collision detection in practice

There are a number of methods to choose when programming a collision detection. They vary from simple to complex and from accurate to not at all.

# Advanced Sphere-Sphere Continuous Collision Detection (CCD)

In simple collision detection algorithm we have calculated whether the two spheres were colliding. More advanced calculations include finding the time of the collision as well as the direction of the spheres during the test.

# Simple Sphere-Sphere Collision Detection and Collision Response

## Collision Detection

To determine if two spheres are colliding, we take the sum of the radiuses and compare it with the length from the centers of the spheres. If the length is smaller than the sum of the radiuses, we have a collision.