|
Diligent Engine
v.2.4.g
|
#include <float.h>#include "../../Platforms/interface/PlatformDefinitions.h"#include "../../Primitives/interface/FlagEnum.h"#include "BasicMath.hpp"Go to the source code of this file.
Classes | |
| struct | Diligent::Plane3D |
| struct | Diligent::ViewFrustum |
| struct | Diligent::ViewFrustumExt |
| struct | Diligent::BoundBox |
| struct | std::hash< Diligent::Plane3D > |
| struct | std::hash< Diligent::ViewFrustum > |
| struct | std::hash< Diligent::ViewFrustumExt > |
Namespaces | |
| Diligent | |
| The library uses Direct3D-style math: | |
| std | |
Enumerations | |
| enum | Diligent::BoxVisibility { Diligent::BoxVisibility::Invisible, Diligent::BoxVisibility::Intersecting, Diligent::BoxVisibility::FullyVisible } |
| enum | Diligent::FRUSTUM_PLANE_FLAGS : Uint32 { Diligent::FRUSTUM_PLANE_FLAG_NONE = 0x00, Diligent::FRUSTUM_PLANE_FLAG_LEFT_PLANE = 1 << ViewFrustum::LEFT_PLANE_IDX, Diligent::FRUSTUM_PLANE_FLAG_RIGHT_PLANE = 1 << ViewFrustum::RIGHT_PLANE_IDX, Diligent::FRUSTUM_PLANE_FLAG_BOTTOM_PLANE = 1 << ViewFrustum::BOTTOM_PLANE_IDX, Diligent::FRUSTUM_PLANE_FLAG_TOP_PLANE = 1 << ViewFrustum::TOP_PLANE_IDX, Diligent::FRUSTUM_PLANE_FLAG_NEAR_PLANE = 1 << ViewFrustum::NEAR_PLANE_IDX, Diligent::FRUSTUM_PLANE_FLAG_FAR_PLANE = 1 << ViewFrustum::FAR_PLANE_IDX, Diligent::FRUSTUM_PLANE_FLAG_FULL_FRUSTUM, Diligent::FRUSTUM_PLANE_FLAG_OPEN_NEAR } |
Functions | |
| void | Diligent::ExtractViewFrustumPlanesFromMatrix (const float4x4 &Matrix, ViewFrustum &Frustum, bool bIsOpenGL) |
| void | Diligent::ExtractViewFrustumPlanesFromMatrix (const float4x4 &Matrix, ViewFrustumExt &FrustumExt, bool bIsOpenGL) |
| float3 | Diligent::GetBoxNearestCorner (const float3 &Direction, const BoundBox &Box) |
| Returns the nearest bounding box corner along the given direction. More... | |
| float3 | Diligent::GetBoxFarthestCorner (const float3 &Direction, const BoundBox &Box) |
| Returns the farthest bounding box corner along the given direction. More... | |
| BoxVisibility | Diligent::GetBoxVisibilityAgainstPlane (const Plane3D &Plane, const BoundBox &Box) |
| Diligent::DEFINE_FLAG_ENUM_OPERATORS (FRUSTUM_PLANE_FLAGS) | |
| BoxVisibility | Diligent::GetBoxVisibility (const ViewFrustum &ViewFrustum, const BoundBox &Box, FRUSTUM_PLANE_FLAGS PlaneFlags=FRUSTUM_PLANE_FLAG_FULL_FRUSTUM) |
| BoxVisibility | Diligent::GetBoxVisibility (const ViewFrustumExt &ViewFrustumExt, const BoundBox &Box, FRUSTUM_PLANE_FLAGS PlaneFlags=FRUSTUM_PLANE_FLAG_FULL_FRUSTUM) |
| float | Diligent::GetPointToBoxDistance (const BoundBox &BndBox, const float3 &Pos) |
| bool | Diligent::operator== (const Plane3D &p1, const Plane3D &p2) |
| bool | Diligent::operator== (const ViewFrustum &f1, const ViewFrustum &f2) |
| bool | Diligent::operator== (const ViewFrustumExt &f1, const ViewFrustumExt &f2) |
| template<typename T , typename Y > | |
| T | Diligent::HermiteSpline (T f0, T f1, T t0, T t1, Y x) |
| void | Diligent::GetFrustumMinimumBoundingSphere (float Proj_00, float Proj_11, float NearPlane, float FarPlane, float3 &Center, float &Radius) |
| bool | Diligent::IntersectRayBox3D (const float3 &RayOrigin, const float3 &RayDirection, float3 BoxMin, float3 BoxMax, float &EnterDist, float &ExitDist) |
| Intersects a ray with 3D box and computes distances to intersections. More... | |
| bool | Diligent::IntersectRayAABB (const float3 &RayOrigin, const float3 &RayDirection, const BoundBox &AABB, float &EnterDist, float &ExitDist) |
| Intersects a ray with the axis-aligned bounding box and computes distances to intersections. More... | |
| bool | Diligent::IntersectRayBox2D (const float2 &RayOrigin, const float2 &RayDirection, float2 BoxMin, float2 BoxMax, float &EnterDist, float &ExitDist) |
| Intersects a 2D ray with the 2D axis-aligned bounding box and computes distances to intersections. More... | |
| float | Diligent::IntersectRayTriangle (const float3 &V0, const float3 &V1, const float3 &V2, const float3 &RayOrigin, const float3 &RayDirection, bool CullBackFace=false) |
| Intersects a ray with the trianlge using Moller-Trumbore algorithm and returns the distance along the ray to the intesrsection point. If the intersection point is behind the ray origin, the distance will be negative. If there is no intersection, returns +FLT_MAX. More... | |
| template<typename TCallback > | |
| void | Diligent::TraceLineThroughGrid (float2 f2Start, float2 f2End, int2 i2GridSize, TCallback Callback) |
| Traces a 2D line through the square cell grid and enumerates all cells the line touches. More... | |
| template<typename T , typename IntermediateType > | |
| bool | Diligent::IsPointInsideTriangle (const Vector2< T > &V0, const Vector2< T > &V1, const Vector2< T > &V2, const Vector2< T > &Point, bool AllowEdges) |
| Tests if a point is inside triangle. More... | |
| template<typename T > | |
| bool | Diligent::IsPointInsideTriangle (const Vector2< T > &V0, const Vector2< T > &V1, const Vector2< T > &V2, const Vector2< T > &Point, bool AllowEdges) |
| template<typename T , class TCallback > | |
| void | Diligent::RasterizeTriangle (Vector2< T > V0, Vector2< T > V1, Vector2< T > V2, TCallback Callback) |
| Rasterizes a triangle and calls the callback function for every sample covered. More... | |
| template<bool AllowTouch, typename T > | |
| bool | Diligent::CheckBox2DBox2DOverlap (const Vector2< T > &Box0Min, const Vector2< T > &Box0Max, const Vector2< T > &Box1Min, const Vector2< T > &Box1Max) |
| Checks if two 2D-boxes overlap. More... | |
1.8.17