@novorender/api / RenderStateOutlines
Interface: RenderStateOutlines
Defined in: @novorender/src/core3d/state/index.ts:755
Outline related render state.
Remarks
Enabling this feature will render the intersection of geometry surface with the specified plane as lines. This is particularly useful when in orthographic mode on surfaces that are perfectly perpendicular to the image plane. These surfaces would otherwise be invisible and unpickable.
Due to limitations of WebGL2, outline rendering comes as at potentially significant performance and memory cost. Thus, is may be unavailable on weaker devices and should be used sparingly otherwise.
Properties
breakingPointAngleThreshold
readonly breakingPointAngleThreshold: number;
Defined in: @novorender/src/core3d/state/index.ts:818
Minimum angle to create breaking points from outlines in degrees
enabled
readonly enabled: boolean;
Defined in: @novorender/src/core3d/state/index.ts:767
Whether to do outline rendering.
hidden
readonly hidden: boolean;
Defined in: @novorender/src/core3d/state/index.ts:764
Hide outline on screen, it can still be used for measurement
intersectionOffsets
readonly intersectionOffsets: undefined | number[];
Defined in: @novorender/src/core3d/state/index.ts:778
Plane intersection with triangles will also be checked at those offsets. In meters. Used for laser to hit the surfaces which are very close to the plane, but not exactly intersect it.
Default
undefined
linearThickness
readonly linearThickness: number;
Defined in: @novorender/src/core3d/state/index.ts:772
Outline thickness, in meters.
Default
0.01
lineColor
readonly lineColor: RGB;
Defined in: @novorender/src/core3d/state/index.ts:805
Color of outline lines.
Remarks
Due to tone mapping the color displayed on screen will a bit duller.
If you require bright colors, you may "overexpose" them, e.g. [10,0,0]
for bright red.
maxPixelThickness
readonly maxPixelThickness: number;
Defined in: @novorender/src/core3d/state/index.ts:788
Outline maximum thickness, in pixels.
Default
9
minPixelThickness
readonly minPixelThickness: number;
Defined in: @novorender/src/core3d/state/index.ts:783
Outline minimum thickness, in pixels.
Default
3
planes
readonly planes: ReadonlyVec4[];
Defined in: @novorender/src/core3d/state/index.ts:815
The outline intersection plane.
relativePointSize
readonly relativePointSize: number;
Defined in: @novorender/src/core3d/state/index.ts:793
Outline relative size between lines and points.
Default
2
vertexColor
readonly vertexColor: RGB;
Defined in: @novorender/src/core3d/state/index.ts:812
Color of outline vertices.
Remarks
Due to tone mapping the color displayed on screen will a bit duller.
If you require bright colors, you may "overexpose" them, e.g. [10,0,0]
for bright red.
vertexObjectIdBase
readonly vertexObjectIdBase: number;
Defined in: @novorender/src/core3d/state/index.ts:798
Outline vertex base object id value.
Default
0x7000_0000