载入中...
搜索中...
未找到
PrimitiveGizmoRenderer.cpp
浏览该文件的文档.
27 return finiteArray(primitive.position) && finiteArray(primitive.size) && finiteArray(primitive.direction) &&
28 finiteArray(primitive.color) && std::isfinite(primitive.radius) && std::isfinite(primitive.length) &&
33 return kind == "line" || kind == "point" || kind == "box" || kind == "obb" || kind == "ellipsoid" ||
39 return {static_cast<float>(value[0]), static_cast<float>(value[1]), static_cast<float>(value[2])};
45 result.color = graphics::Color(static_cast<float>(primitive.color[0]), static_cast<float>(primitive.color[1]),
114 canvas.drawArrow(origin, origin + direction * length, length * 0.2f, std::max(0.04f, length * 0.08f),
118 canvas.drawQuad(origin + glm::vec3(-half.x, 0.f, -half.z), origin + glm::vec3(half.x, 0.f, -half.z),
static Diagnostic error(DiagnosticCode code, std::string message, std::string path={}, DiagnosticDetails details={}, std::string source={})
Construct an error diagnostic with the standard error severity.
Definition Diagnostic.h:125
static Result failure(Status status)
Construct a failed result from a structured status.
Definition Result.h:175
3D frame / mesh / light / shadow rendering surface.
Definition IGraphics3D.h:51
virtual void drawPrimitiveScene(const PrimitiveSceneCanvas3D &canvas)=0
Submits an owning frame-local primitive canvas into the active 3D pass.
Frame-local scene recorder for 3D line primitives.
Definition PrimitiveDrawList.h:114
void drawArrow(glm::vec3 from, glm::vec3 to, float headLength, float headRadius, const ScenePrimitivePaint &paint)
Records a shaft and four-sided arrow head.
Definition PrimitiveDrawList.cpp:800
void drawSphere(glm::vec3 center, float radius, const ScenePrimitivePaint &paint, std::uint32_t segments=32)
Records three orthogonal great circles.
Definition PrimitiveDrawList.cpp:691
void drawCapsule(glm::vec3 a, glm::vec3 b, float radius, const ScenePrimitivePaint &paint, std::uint32_t segments=32)
Draws capsule.
Definition PrimitiveDrawList.cpp:743
void drawLine(glm::vec3 a, glm::vec3 b, const ScenePrimitivePaint &paint)
Draws line.
Definition PrimitiveDrawList.cpp:527
void drawFrustum(const std::array< glm::vec3, 8 > &corners, const ScenePrimitivePaint &paint)
Draws frustum.
Definition PrimitiveDrawList.cpp:815
void drawObb(glm::vec3 center, const std::array< glm::vec3, 3 > &halfAxes, const ScenePrimitivePaint &paint)
Draws obb.
Definition PrimitiveDrawList.cpp:663
void drawAabb(glm::vec3 minimum, glm::vec3 maximum, const ScenePrimitivePaint &paint)
Records the twelve edges of an axis-aligned box.
Definition PrimitiveDrawList.cpp:635
void drawPoint(glm::vec3 point, const ScenePrimitivePaint &paint)
Draws point.
Definition PrimitiveDrawList.cpp:532
const PrimitiveDrawStatistics & statistics() const noexcept
Statistics.
Definition PrimitiveDrawList.h:181
void drawQuad(glm::vec3 a, glm::vec3 b, glm::vec3 c, glm::vec3 d, const ScenePrimitivePaint &paint)
Draws quad.
Definition PrimitiveDrawList.cpp:588
eve::Result< graphics::PrimitiveDrawStatistics > render(const editing::GizmoSnapshot &snapshot, const graphics::SceneDrawContext &context, graphics::IGraphics3D &graphics) const
Validate, record and submit one immutable gizmo snapshot.
Definition PrimitiveGizmoRenderer.cpp:57
Definition OffscreenPreview.cpp:12
@ Stroke
eve::Color Color
RGBA color used by every graphics draw call. Lives inside eve::graphics so including a graphics heade...
Definition Color.h:13
@ ScreenPixels
@ InvalidArgument
Definition Container.h:602
Immutable revision-tagged overlay snapshot consumed by any viewport renderer.
Definition EditingGizmo.h:27
std::vector< GizmoPrimitive > primitives
Definition EditingGizmo.h:31
Immutable camera and viewport facts used to resolve one 3D draw list. Projection uses the engine's RH...
Definition PrimitiveTypes.h:98