|
|
@ -1,13 +1,21 @@ |
|
|
|
```csharp |
|
|
|
public static class Geometry { |
|
|
|
public static bool PointInCone( |
|
|
|
float visionRangeSq, float fovCos, Vector2 eyePos, Vector2 direction, Vector2 test) { |
|
|
|
Vector2 delta = Vector2.Subtract(test, eyePos); |
|
|
|
if (delta.LengthSquared() > visionRangeSq) { |
|
|
|
return false; |
|
|
|
} |
|
|
|
float dot = Vector2.Dot(Vector2.Normalize(direction), Vector2.Normalize(delta)); |
|
|
|
return dot > fovCos; |
|
|
|
public static class Geometry { |
|
|
|
public static bool PointInCone( |
|
|
|
float visionRangeSq, float fovCos, Vector2 eyePos, Vector2 direction, Vector2 test) { |
|
|
|
Vector2 delta = Vector2.Subtract(test, eyePos); |
|
|
|
if (delta.LengthSquared() > visionRangeSq) { |
|
|
|
return false; |
|
|
|
} |
|
|
|
float dot = Vector2.Dot(Vector2.Normalize(direction), Vector2.Normalize(delta)); |
|
|
|
return dot > fovCos; |
|
|
|
} |
|
|
|
} |
|
|
|
``` |
|
|
|
|
|
|
|
```csharp |
|
|
|
// Make a 1x1 white texture: |
|
|
|
Texture2D whiteTexture = new Texture2D(GraphicsDevice, 1, 1); |
|
|
|
whiteTexture.SetData(new Color[] { Color.White }); |
|
|
|
// When done with it: |
|
|
|
whiteTexture.Dispose(); |
|
|
|
``` |