mirror of
https://github.com/DCFApixels/Unity-DebugX.git
synced 2025-09-17 17:34:35 +08:00
update primitives
This commit is contained in:
parent
e3341988b0
commit
587500061e
@ -12,16 +12,40 @@ namespace DCFApixels
|
|||||||
public readonly partial struct DrawHandler
|
public readonly partial struct DrawHandler
|
||||||
{
|
{
|
||||||
#region BillboardCircle
|
#region BillboardCircle
|
||||||
[IN(LINE)] public DrawHandler BillboardCircle(Vector3 position, float radius) => Mesh<CircleMesh, BillboardMat>(position, Quaternion.identity, new Vector3(radius, radius, radius));
|
[IN(LINE)]
|
||||||
|
public DrawHandler BillboardCircle(Vector3 position, float radius)
|
||||||
|
{
|
||||||
|
return Mesh<CircleMesh, BillboardMat>(position, Quaternion.identity, new Vector3(radius, radius, radius));
|
||||||
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region Cross
|
#region BillboardCross
|
||||||
[IN(LINE)] public DrawHandler Cross(Vector3 position, float size) => Mesh<DotCrossMesh, BillboardMat>(position, Quaternion.identity, new Vector3(size, size, size));
|
[IN(LINE)]
|
||||||
|
[Obsolete("Use BillboardCross(position, size)")]
|
||||||
|
public DrawHandler Cross(Vector3 position, float size)
|
||||||
|
{
|
||||||
|
return Mesh<DotCrossMesh, BillboardMat>(position, Quaternion.identity, new Vector3(size, size, size));
|
||||||
|
}
|
||||||
|
[IN(LINE)]
|
||||||
|
public DrawHandler BillboardCross(Vector3 position, float size)
|
||||||
|
{
|
||||||
|
return Mesh<DotCrossMesh, BillboardMat>(position, Quaternion.identity, new Vector3(size, size, size));
|
||||||
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
|
||||||
#region Sphere
|
#region Sphere
|
||||||
[IN(LINE)] public DrawHandler Sphere(Vector3 position, float radius) => Mesh<SphereMesh, LitMat>(position, Quaternion.identity, new Vector3(radius, radius, radius));
|
[IN(LINE)]
|
||||||
|
public DrawHandler Sphere<TMat>(Vector3 position, float radius)
|
||||||
|
where TMat : struct, IStaticMaterial
|
||||||
|
{
|
||||||
|
return Mesh<SphereMesh, TMat>(position, Quaternion.identity, new Vector3(radius, radius, radius));
|
||||||
|
}
|
||||||
|
[IN(LINE)]
|
||||||
|
public DrawHandler Sphere(Vector3 position, float radius)
|
||||||
|
{
|
||||||
|
return Mesh<SphereMesh>(position, Quaternion.identity, new Vector3(radius, radius, radius));
|
||||||
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region WireSphere
|
#region WireSphere
|
||||||
@ -107,9 +131,30 @@ namespace DCFApixels
|
|||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
|
||||||
#region Circle
|
#region Circle
|
||||||
[IN(LINE)] public DrawHandler Circle(Vector3 position, Vector3 normal, float radius) => Mesh<CircleMesh, LitMat>(position, Quaternion.LookRotation(normal), new Vector3(radius, radius, radius));
|
[IN(LINE)]
|
||||||
[IN(LINE)] public DrawHandler Circle(Vector3 position, Quaternion rotation, float radius) => Mesh<CircleMesh, LitMat>(position, rotation, new Vector3(radius, radius, radius));
|
public DrawHandler Circle<TMat>(Vector3 position, Vector3 normal, float radius)
|
||||||
|
where TMat : struct, IStaticMaterial
|
||||||
|
{
|
||||||
|
return Mesh<CircleMesh, TMat>(position, Quaternion.LookRotation(normal), new Vector3(radius, radius, radius));
|
||||||
|
}
|
||||||
|
[IN(LINE)]
|
||||||
|
public DrawHandler Circle<TMat>(Vector3 position, Quaternion rotation, float radius)
|
||||||
|
where TMat : struct, IStaticMaterial
|
||||||
|
{
|
||||||
|
return Mesh<CircleMesh, TMat>(position, rotation, new Vector3(radius, radius, radius));
|
||||||
|
}
|
||||||
|
[IN(LINE)]
|
||||||
|
public DrawHandler Circle(Vector3 position, Vector3 normal, float radius)
|
||||||
|
{
|
||||||
|
return Mesh<CircleMesh>(position, Quaternion.LookRotation(normal), new Vector3(radius, radius, radius));
|
||||||
|
}
|
||||||
|
[IN(LINE)]
|
||||||
|
public DrawHandler Circle(Vector3 position, Quaternion rotation, float radius)
|
||||||
|
{
|
||||||
|
return Mesh<CircleMesh>(position, rotation, new Vector3(radius, radius, radius));
|
||||||
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region WireCircle
|
#region WireCircle
|
||||||
@ -120,10 +165,15 @@ namespace DCFApixels
|
|||||||
|
|
||||||
#region Cylinder
|
#region Cylinder
|
||||||
[IN(LINE)]
|
[IN(LINE)]
|
||||||
|
public DrawHandler Cylinder<TMat>(Vector3 position, Quaternion rotation, float radius, float height)
|
||||||
|
where TMat : struct, IStaticMaterial
|
||||||
|
{
|
||||||
|
return Mesh<CylinderMesh, TMat>(position, rotation * Quaternion.Euler(-90, 0, 0), new Vector3(radius * 2f, radius * 2f, height));
|
||||||
|
}
|
||||||
|
[IN(LINE)]
|
||||||
public DrawHandler Cylinder(Vector3 position, Quaternion rotation, float radius, float height)
|
public DrawHandler Cylinder(Vector3 position, Quaternion rotation, float radius, float height)
|
||||||
{
|
{
|
||||||
Mesh<CylinderMesh, LitMat>(position, rotation * Quaternion.Euler(-90, 0, 0), new Vector3(radius * 2f, radius * 2f, height));
|
return Mesh<CylinderMesh>(position, rotation * Quaternion.Euler(-90, 0, 0), new Vector3(radius * 2f, radius * 2f, height));
|
||||||
return this;
|
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
@ -169,12 +219,18 @@ namespace DCFApixels
|
|||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
|
||||||
#region Cone
|
#region Cone
|
||||||
[IN(LINE)]
|
[IN(LINE)]
|
||||||
|
public DrawHandler Cone<TMat>(Vector3 position, Quaternion rotation, float radius, float height)
|
||||||
|
where TMat : struct, IStaticMaterial
|
||||||
|
{
|
||||||
|
return Mesh<ConeMesh, TMat>(position, rotation * Quaternion.Euler(-90, 0, 0), new Vector3(radius * 2f, radius * 2f, height));
|
||||||
|
}
|
||||||
|
[IN(LINE)]
|
||||||
public DrawHandler Cone(Vector3 position, Quaternion rotation, float radius, float height)
|
public DrawHandler Cone(Vector3 position, Quaternion rotation, float radius, float height)
|
||||||
{
|
{
|
||||||
Mesh<ConeMesh, LitMat>(position, rotation * Quaternion.Euler(-90, 0, 0), new Vector3(radius * 2f, radius * 2f, height));
|
return Mesh<ConeMesh>(position, rotation * Quaternion.Euler(-90, 0, 0), new Vector3(radius * 2f, radius * 2f, height));
|
||||||
return this;
|
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
@ -215,12 +271,18 @@ namespace DCFApixels
|
|||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
|
||||||
#region Triangle
|
#region Triangle
|
||||||
[IN(LINE)]
|
[IN(LINE)]
|
||||||
|
public DrawHandler Triangle<TMat>(Vector3 position, Quaternion rotation, Vector2 size)
|
||||||
|
where TMat : struct, IStaticMaterial
|
||||||
|
{
|
||||||
|
return Mesh<TriangleMesh, TMat>(position, rotation, new Vector3(size.x, size.y, 1f));
|
||||||
|
}
|
||||||
|
[IN(LINE)]
|
||||||
public DrawHandler Triangle(Vector3 position, Quaternion rotation, Vector2 size)
|
public DrawHandler Triangle(Vector3 position, Quaternion rotation, Vector2 size)
|
||||||
{
|
{
|
||||||
Mesh<TriangleMesh, LitMat>(position, rotation, new Vector3(size.x, size.y, 1f));
|
return Mesh<TriangleMesh>(position, rotation, new Vector3(size.x, size.y, 1f));
|
||||||
return this;
|
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
@ -236,7 +298,8 @@ namespace DCFApixels
|
|||||||
|
|
||||||
#region Capsule
|
#region Capsule
|
||||||
[IN(LINE)]
|
[IN(LINE)]
|
||||||
public DrawHandler Capsule(Vector3 position, Quaternion rotation, float radius, float height)
|
public DrawHandler Capsule<TMat>(Vector3 position, Quaternion rotation, float radius, float height)
|
||||||
|
where TMat : struct, IStaticMaterial
|
||||||
{
|
{
|
||||||
radius = Mathf.Max(0, radius);
|
radius = Mathf.Max(0, radius);
|
||||||
height -= radius * 2f;
|
height -= radius * 2f;
|
||||||
@ -244,11 +307,16 @@ namespace DCFApixels
|
|||||||
var halfHeigth = height * 0.5f;
|
var halfHeigth = height * 0.5f;
|
||||||
var normal = rotation * Vector3.up;
|
var normal = rotation * Vector3.up;
|
||||||
|
|
||||||
Mesh<CapsuleHeadMesh, LitMat>(position + normal * halfHeigth, rotation, new Vector3(radius, radius, radius));
|
Mesh<CapsuleHeadMesh, TMat>(position + normal * halfHeigth, rotation, new Vector3(radius, radius, radius));
|
||||||
Mesh<CapsuleBodyMesh, LitMat>(position, rotation, new Vector3(radius, height, radius));
|
Mesh<CapsuleBodyMesh, TMat>(position, rotation, new Vector3(radius, height, radius));
|
||||||
Mesh<CapsuleHeadMesh, LitMat>(position - normal * halfHeigth, rotation * Quaternion.Euler(0, 0, 180), new Vector3(radius, radius, radius));
|
Mesh<CapsuleHeadMesh, TMat>(position - normal * halfHeigth, rotation * Quaternion.Euler(0, 0, 180), new Vector3(radius, radius, radius));
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
[IN(LINE)]
|
||||||
|
public DrawHandler Capsule(Vector3 position, Quaternion rotation, float radius, float height)
|
||||||
|
{
|
||||||
|
return Capsule<LitMat>(position, rotation, radius, height);
|
||||||
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region WireCapsule
|
#region WireCapsule
|
||||||
@ -280,9 +348,11 @@ namespace DCFApixels
|
|||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
|
||||||
#region FlatCapsule
|
#region FlatCapsule
|
||||||
[IN(LINE)]
|
[IN(LINE)]
|
||||||
public DrawHandler FlatCapsule(Vector3 position, Quaternion rotation, float radius, float height)
|
public DrawHandler FlatCapsule<TMat>(Vector3 position, Quaternion rotation, float radius, float height)
|
||||||
|
where TMat : struct, IStaticMaterial
|
||||||
{
|
{
|
||||||
radius = Mathf.Max(0, radius);
|
radius = Mathf.Max(0, radius);
|
||||||
height -= radius * 2f;
|
height -= radius * 2f;
|
||||||
@ -290,11 +360,16 @@ namespace DCFApixels
|
|||||||
var halfHeigth = height * 0.5f;
|
var halfHeigth = height * 0.5f;
|
||||||
var normal = rotation * Vector3.up;
|
var normal = rotation * Vector3.up;
|
||||||
|
|
||||||
Mesh<FlatCapsuleHeadMesh, LitMat>(position + normal * halfHeigth, rotation, new Vector3(radius, radius, radius));
|
Mesh<FlatCapsuleHeadMesh, TMat>(position + normal * halfHeigth, rotation, new Vector3(radius, radius, radius));
|
||||||
Mesh<FlatCapsuleBodyMesh, LitMat>(position, rotation, new Vector3(radius, height, radius));
|
Mesh<FlatCapsuleBodyMesh, TMat>(position, rotation, new Vector3(radius, height, radius));
|
||||||
Mesh<FlatCapsuleHeadMesh, LitMat>(position - normal * halfHeigth, rotation * Quaternion.Euler(0, 0, 180), new Vector3(radius, radius, radius));
|
Mesh<FlatCapsuleHeadMesh, TMat>(position - normal * halfHeigth, rotation * Quaternion.Euler(0, 0, 180), new Vector3(radius, radius, radius));
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
[IN(LINE)]
|
||||||
|
public DrawHandler FlatCapsule(Vector3 position, Quaternion rotation, float radius, float height)
|
||||||
|
{
|
||||||
|
return FlatCapsule<LitMat>(position, rotation, radius, height);
|
||||||
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region WireFlatCapsule
|
#region WireFlatCapsule
|
||||||
@ -336,8 +411,28 @@ namespace DCFApixels
|
|||||||
#region Cube
|
#region Cube
|
||||||
//[IN(LINE)] public void Cube(Vector3 position, float size) => Cube(position, Quaternion.identity, new Vector3(size, size, size));
|
//[IN(LINE)] public void Cube(Vector3 position, float size) => Cube(position, Quaternion.identity, new Vector3(size, size, size));
|
||||||
//[IN(LINE)] public void Cube(Vector3 position, Vector3 size) => Cube(position, Quaternion.identity, size);
|
//[IN(LINE)] public void Cube(Vector3 position, Vector3 size) => Cube(position, Quaternion.identity, size);
|
||||||
[IN(LINE)] public DrawHandler Cube(Vector3 position, Quaternion rotation, float size) => Mesh<CubeMesh, LitMat>(position, rotation, new Vector3(size, size, size));
|
[IN(LINE)]
|
||||||
[IN(LINE)] public DrawHandler Cube(Vector3 position, Quaternion rotation, Vector3 size) => Mesh<CubeMesh, LitMat>(position, rotation, size);
|
public DrawHandler Cube<TMat>(Vector3 position, Quaternion rotation, float size)
|
||||||
|
where TMat : struct, IStaticMaterial
|
||||||
|
{
|
||||||
|
return Mesh<CubeMesh, TMat>(position, rotation, new Vector3(size, size, size));
|
||||||
|
}
|
||||||
|
[IN(LINE)]
|
||||||
|
public DrawHandler Cube<TMat>(Vector3 position, Quaternion rotation, Vector3 size)
|
||||||
|
where TMat : struct, IStaticMaterial
|
||||||
|
{
|
||||||
|
return Mesh<CubeMesh, TMat>(position, rotation, size);
|
||||||
|
}
|
||||||
|
[IN(LINE)]
|
||||||
|
public DrawHandler Cube(Vector3 position, Quaternion rotation, float size)
|
||||||
|
{
|
||||||
|
return Mesh<CubeMesh>(position, rotation, new Vector3(size, size, size));
|
||||||
|
}
|
||||||
|
[IN(LINE)]
|
||||||
|
public DrawHandler Cube(Vector3 position, Quaternion rotation, Vector3 size)
|
||||||
|
{
|
||||||
|
return Mesh<CubeMesh>(position, rotation, size);
|
||||||
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region WireCube
|
#region WireCube
|
||||||
@ -458,11 +553,32 @@ namespace DCFApixels
|
|||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
|
||||||
#region Quad
|
#region Quad
|
||||||
//[IN(LINE)] public DrawHandler Quad(Vector3 position, Vector3 normal, float size) => Mesh(Meshes.Quad, position, Quaternion.LookRotation(normal), new Vector3(size, size, size));
|
//[IN(LINE)] public DrawHandler Quad(Vector3 position, Vector3 normal, float size) => Mesh(Meshes.Quad, position, Quaternion.LookRotation(normal), new Vector3(size, size, size));
|
||||||
//[IN(LINE)] public DrawHandler Quad(Vector3 position, Vector3 normal, Vector2 size) => Mesh(Meshes.Quad, position, Quaternion.LookRotation(normal), size);
|
//[IN(LINE)] public DrawHandler Quad(Vector3 position, Vector3 normal, Vector2 size) => Mesh(Meshes.Quad, position, Quaternion.LookRotation(normal), size);
|
||||||
[IN(LINE)] public DrawHandler Quad(Vector3 position, Quaternion rotation, float size) => Mesh<QuadMesh, LitMat>(position, rotation, new Vector3(size, size, 1f)); //TODO fix quad mesh
|
[IN(LINE)]
|
||||||
[IN(LINE)] public DrawHandler Quad(Vector3 position, Quaternion rotation, Vector2 size) => Mesh<QuadMesh, LitMat>(position, rotation, new Vector3(size.x, size.y, 1f)); //TODO fix quad mesh
|
public DrawHandler Quad<TMat>(Vector3 position, Quaternion rotation, float size)
|
||||||
|
where TMat : struct, IStaticMaterial
|
||||||
|
{
|
||||||
|
return Mesh<QuadMesh, TMat>(position, rotation, new Vector3(size, size, 1f));
|
||||||
|
}
|
||||||
|
[IN(LINE)]
|
||||||
|
public DrawHandler Quad<TMat>(Vector3 position, Quaternion rotation, Vector2 size)
|
||||||
|
where TMat : struct, IStaticMaterial
|
||||||
|
{
|
||||||
|
return Mesh<QuadMesh, TMat>(position, rotation, new Vector3(size.x, size.y, 1f));
|
||||||
|
}
|
||||||
|
[IN(LINE)]
|
||||||
|
public DrawHandler Quad(Vector3 position, Quaternion rotation, float size)
|
||||||
|
{
|
||||||
|
return Mesh<QuadMesh>(position, rotation, new Vector3(size, size, 1f));
|
||||||
|
}
|
||||||
|
[IN(LINE)]
|
||||||
|
public DrawHandler Quad(Vector3 position, Quaternion rotation, Vector2 size)
|
||||||
|
{
|
||||||
|
return Mesh<QuadMesh>(position, rotation, new Vector3(size.x, size.y, 1f));
|
||||||
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region WireQuad
|
#region WireQuad
|
||||||
|
Loading…
Reference in New Issue
Block a user