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. |