This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
|
raycasting_line_intersections [2023/04/13 20:03] max created |
raycasting_line_intersections [2023/04/17 16:13] (current) max update syling on linetesting |
||
|---|---|---|---|
| Line 3: | Line 3: | ||
| The Raycasting namespace provides functions for testing ray intersections with various shapes. | The Raycasting namespace provides functions for testing ray intersections with various shapes. | ||
| - | ---- Functions ---- | + | ===== What is " |
| - | ===== Raycasting:: | + | Raycasting is a technique used in real-time physics simulations and games to detect collisions between objects. It involves projecting a ray from an origin point in a certain direction, and checking if it intersects with any objects in its path. |
| + | |||
| + | Raycasting can be used for a variety of purposes, such as detecting line-of-sight, | ||
| + | |||
| + | For example, in a first-person shooter game, raycasting can be used to determine whether a bullet fired by the player hits an enemy or not. Similarly, in a racing game, it can be used to detect collisions between a player' | ||
| + | |||
| + | Overall, raycasting is a powerful technique for simulating physics in real-time applications and games, and it has a wide range of practical uses. | ||
| + | |||
| + | ===== What's the difference between Raycasting and Linetesting? | ||
| + | Raycasting and linetesting are two common techniques, while both techniques are used to determine if a line segment intersects with any objects in a scene, they have distinct differences in their approach. | ||
| + | |||
| + | The main difference between raycasting and linetesting is that raycasting uses a single point to check for intersection, | ||
| + | |||
| + | |||
| + | ===== Raycasting functions ===== | ||
| + | |||
| + | ==== Spheres ==== | ||
| + | |||
| + | **Raycasting:: | ||
| Tests if a ray intersects a sphere. | Tests if a ray intersects a sphere. | ||
| Line 18: | Line 36: | ||
| - '' | - '' | ||
| - | ===== Raycasting:: | + | ==== AABBs ==== |
| + | |||
| + | |||
| + | **Raycasting:: | ||
| Tests if a ray intersects an axis-aligned bounding box (AABB). | Tests if a ray intersects an axis-aligned bounding box (AABB). | ||
| Line 31: | Line 52: | ||
| - '' | - '' | ||
| - | ===== Raycasting:: | + | ==== Oriented Boxes ==== |
| + | |||
| + | **Raycasting:: | ||
| Tests if a ray intersects an oriented bounding box (OBB). | Tests if a ray intersects an oriented bounding box (OBB). | ||
| Line 44: | Line 67: | ||
| - '' | - '' | ||
| - | ===== Raycasting:: | + | ==== Planes |
| + | |||
| + | |||
| + | **Raycasting:: | ||
| Tests if a ray intersects a plane. | Tests if a ray intersects a plane. | ||
| Line 57: | Line 83: | ||
| - '' | - '' | ||
| - | ===== Raycasting:: | + | ==== Triangles |
| + | |||
| + | |||
| + | **Raycasting:: | ||
| Tests if a ray intersects a triangle. | Tests if a ray intersects a triangle. | ||
| Line 70: | Line 99: | ||
| - '' | - '' | ||
| - | ===== Raycasting:: | + | ==== Meshes |
| + | |||
| + | |||
| + | **Raycasting:: | ||
| Tests if a ray intersects a mesh. | Tests if a ray intersects a mesh. | ||
| Line 83: | Line 115: | ||
| - '' | - '' | ||
| - | ===== Raycasting:: | + | ==== Entities |
| + | |||
| + | **Raycasting:: | ||
| Tests if a ray intersects an entity. | Tests if a ray intersects an entity. | ||
| Line 96: | Line 130: | ||
| - '' | - '' | ||
| - | ===== Raycasting:: | + | ===== Line testing ===== |
| + | |||
| + | ==== Spheres ==== | ||
| + | |||
| + | **Raycasting:: | ||
| Tests if a line intersects a sphere. | Tests if a line intersects a sphere. | ||
| Line 109: | Line 147: | ||
| - '' | - '' | ||
| - | ===== Raycasting:: | + | ==== AABBs ==== |
| + | |||
| + | |||
| + | **Raycasting:: | ||
| Tests if a line intersects an axis-aligned bounding box (AABB). | Tests if a line intersects an axis-aligned bounding box (AABB). | ||
| Line 122: | Line 163: | ||
| - '' | - '' | ||
| - | ===== Raycasting:: | + | ==== Oriented Boxes ==== |
| + | |||
| + | |||
| + | **Raycasting:: | ||
| Tests if a line intersects an oriented bounding box (OBB). | Tests if a line intersects an oriented bounding box (OBB). | ||
| Line 135: | Line 179: | ||
| - '' | - '' | ||
| - | ===== Raycasting:: | + | ==== Planes |
| + | |||
| + | |||
| + | **Raycasting:: | ||
| Tests if a line intersects a plane. | Tests if a line intersects a plane. | ||
| Line 148: | Line 195: | ||
| - '' | - '' | ||
| - | ===== Raycasting:: | + | ==== Triangles |
| + | |||
| + | |||
| + | **Raycasting:: | ||
| Tests if a line intersects a triangle. | Tests if a line intersects a triangle. | ||
| Line 161: | Line 211: | ||
| - '' | - '' | ||
| - | ===== Raycasting:: | + | ==== Meshes |
| + | |||
| + | |||
| + | **Raycasting:: | ||
| Tests if a line intersects a mesh. | Tests if a line intersects a mesh. | ||
| Line 174: | Line 227: | ||
| - '' | - '' | ||
| - | ===== Raycasting:: | + | ==== Entities |
| + | |||
| + | |||
| + | **Raycasting:: | ||
| Tests if a line intersects an entity. | Tests if a line intersects an entity. | ||
| Line 187: | Line 243: | ||
| - '' | - '' | ||
| - | ---- Support ---- | ||
| - | ===== Raycasting:: | + | ===== Support Functions ===== |
| + | |||
| + | |||
| + | **Raycasting:: | ||
| Calculates the barycentric coordinates of a point in relation to a triangle. | Calculates the barycentric coordinates of a point in relation to a triangle. | ||