ModelImpostor class final
A node baked into two octahedral atlases — C4.
grid × grid views of the node from every direction on the sphere,
laid out by the octahedral map (see impostorEncode in
flutter3d_core's engine), each view an orthographic picture of a sphere
of radius around center, in the node's own space.
Two images, not one, because they are read differently: the albedo is
colour and sRGB like any base colour texture, the normal-depth one is data
— the object-space normal in RGB as n * 0.5 + 0.5, and in A how far
along the view each texel's surface is, from 0 at the near side of the
sphere to 1 at the far side. The albedo's alpha is the coverage.
Constructors
- ModelImpostor({required int albedoImage, required int normalDepthImage, required int grid, required Vector3 center, required double radius})
Properties
- albedoImage → int
-
Index into
ModelDocument.images.final - center → Vector3
-
The middle of the sphere every view frames, in the node's own space.
final
- grid → int
-
Views along each side of the atlas.
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- normalDepthImage → int
-
Index into
ModelDocument.images.final - radius → double
-
The sphere's radius — half the side of the card that shows a view.
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toString(
) → String -
A string representation of this object.
override
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited