diff --git a/README.md b/README.md index 59320e7..c7e23eb 100644 --- a/README.md +++ b/README.md @@ -40,4 +40,42 @@ public struct SomeMesh : IStaticMesh ``` Утилита для загрузки мешей: //TODO -Кастомная реализация Gizmo://TODO \ No newline at end of file +Кастомная реализация Gizmo: +```c# +public readonly struct SomeGizmo : IGizmo +{ + // data... + + public SomeGizmo(/*...*/) + { + //... + } + + public IGizmoRenderer RegisterNewRenderer() => new Renderer(); + private class Renderer : IGizmoRenderer + { + // Контроль порядка выполнения рендереров. + public int ExecuteOrder => //... + // Флаг системе о способе оптимизации. Если методы рисовки зависят от текущей камеры, то false,иначе true. Если не уверены то выбирайте false. + public bool IsStaticRender => //... + + // Подготовка данных перед рендером, тут можно выполнить дополнительные расчеты или запланировать Job. + public void Prepare(Camera camera, GizmosList list) + { + foreach (var item in list) + { + //... + } + } + + // Рендер, тут можно напрямую воспользоваться графическим API или добавить команду в CommandBuffer. + public void Render(Camera camera, GizmosList list, CommandBuffer cb) + { + foreach (var item in list) + { + //... + } + } + } +} +``` \ No newline at end of file