Class DrawManager<N extends AbstractInstancer<?>>
java.lang.Object
com.jozufozu.flywheel.backend.engine.DrawManager<N>
- Direct Known Subclasses:
IndirectDrawManager,InstancedDrawManager
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected static final recordDrawManager.UninitializedInstancer<N,I extends Instance> -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final Queue<DrawManager.UninitializedInstancer<N,?>> A list of instancers that have not yet been initialized.protected final Map<InstancerKey<?>,N> A map of instancer keys to instancers. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncreate(InstancerKey<I> type) voiddelete()protected static <I extends AbstractInstancer<?>>
Map<GroupKey<?>,it.unimi.dsi.fastutil.ints.Int2ObjectMap<List<Pair<I, InstanceHandleImpl>>>> doCrumblingSort(Class<I> clazz, List<Engine.CrumblingBlock> crumblingBlocks) voidflush()getInstancer(Environment environment, InstanceType<I> type, Model model, RenderStage stage) protected abstract <I extends Instance>
voidinitialize(InstancerKey<I> key, N instancer) voidabstract voidrenderCrumbling(List<Engine.CrumblingBlock> crumblingBlocks) abstract voidrenderStage(RenderStage stage)
-
Field Details
-
instancers
A map of instancer keys to instancers.
This map is populated as instancers are requested and contains both initialized and uninitialized instancers. -
initializationQueue
protected final Queue<DrawManager.UninitializedInstancer<N extends AbstractInstancer<?>,?>> initializationQueueA list of instancers that have not yet been initialized.
All new instancers land here before having resources allocated inflush().
-
-
Constructor Details
-
DrawManager
public DrawManager()
-
-
Method Details
-
getInstancer
public <I extends Instance> Instancer<I> getInstancer(Environment environment, InstanceType<I> type, Model model, RenderStage stage) -
delete
public void delete() -
flush
public void flush() -
onRenderOriginChanged
public void onRenderOriginChanged() -
renderCrumbling
-
renderStage
-
create
-
initialize
-
doCrumblingSort
protected static <I extends AbstractInstancer<?>> Map<GroupKey<?>,it.unimi.dsi.fastutil.ints.Int2ObjectMap<List<Pair<I, doCrumblingSortInstanceHandleImpl>>>> (Class<I> clazz, List<Engine.CrumblingBlock> crumblingBlocks)
-