From b83ac9be4740c6fbe8028564d7c7b96a7b41b661 Mon Sep 17 00:00:00 2001 From: LandaMm Date: Tue, 21 Oct 2025 19:48:22 +0200 Subject: [PATCH] vault backup: 2025-10-21 19:48:22 --- Движок/Engine API.canvas | 19 +++++++++++++++++++ Движок/Rendering/Render API/Документация.md | 14 ++++++++++++++ Движок/Rendering/Render API/Схема.canvas | 12 ++++++++++++ Движок/Rendering/Renderer.md | 13 +++++++++++++ Игра/Главы игры - Эры.md | 10 +++++++++- Игра/Идеи для уровней/Временная бомба.md | 2 ++ 6 files changed, 69 insertions(+), 1 deletion(-) create mode 100644 Движок/Engine API.canvas create mode 100644 Движок/Rendering/Render API/Документация.md create mode 100644 Движок/Rendering/Render API/Схема.canvas create mode 100644 Движок/Rendering/Renderer.md diff --git a/Движок/Engine API.canvas b/Движок/Engine API.canvas new file mode 100644 index 0000000..9d3c1ef --- /dev/null +++ b/Движок/Engine API.canvas @@ -0,0 +1,19 @@ +{ + "nodes":[ + {"id":"c92ca985be246646","type":"text","text":"Window","x":-360,"y":100,"width":175,"height":60}, + {"id":"e2a727509dd8e57c","type":"text","text":"Event System","x":-447,"y":-60,"width":175,"height":60}, + {"id":"cffade3e39973e71","type":"text","text":"Render API","x":28,"y":-60,"width":175,"height":60}, + {"id":"022c9c9010d831f9","type":"text","text":"**Engine API**","x":-220,"y":-240,"width":180,"height":60,"color":"4"}, + {"id":"e67043d1608b1785","type":"text","text":"Engine Core Main Loop","x":-255,"y":260,"width":250,"height":60}, + {"id":"3291967a014e87a6","type":"text","text":"Renderer","x":116,"y":70,"width":175,"height":60}, + {"id":"aec079845598143c","type":"text","text":"OpenGL","x":203,"y":210,"width":175,"height":50} + ], + "edges":[ + {"id":"60127b48a1a273b0","fromNode":"022c9c9010d831f9","fromSide":"bottom","toNode":"e2a727509dd8e57c","toSide":"top","toEnd":"none"}, + {"id":"d3ea068fda0aa0e3","fromNode":"c92ca985be246646","fromSide":"top","toNode":"e2a727509dd8e57c","toSide":"bottom","toEnd":"none"}, + {"id":"4f77448c233da34a","fromNode":"cffade3e39973e71","fromSide":"bottom","toNode":"3291967a014e87a6","toSide":"top","toEnd":"none"}, + {"id":"17fd0ae33443ccae","fromNode":"cffade3e39973e71","fromSide":"top","toNode":"022c9c9010d831f9","toSide":"bottom","toEnd":"none"}, + {"id":"bacf8f75f99abff5","fromNode":"e67043d1608b1785","fromSide":"top","toNode":"c92ca985be246646","toSide":"bottom","toEnd":"none"}, + {"id":"3274465a5c75a70f","fromNode":"3291967a014e87a6","fromSide":"bottom","toNode":"aec079845598143c","toSide":"top","toEnd":"none"} + ] +} \ No newline at end of file diff --git a/Движок/Rendering/Render API/Документация.md b/Движок/Rendering/Render API/Документация.md new file mode 100644 index 0000000..253648b --- /dev/null +++ b/Движок/Rendering/Render API/Документация.md @@ -0,0 +1,14 @@ +## Роль + +Заключается в принятии данных о предстоящем рендеринге определенных объектов от пользователя Engine API. + +## Задачи + +### Оптимизация + +Подготовка массого рендера всей сцены в игре засчет группировки при множественного числа идентичных экземпляров для возможности дальнейшей оптимизации и ускорения работы движка. + +### Удобный интерфейс + +1. Позволит легко регистрировать модели из файлов предназначенные для дальнейшего рендера в игре. +2. Четко задавать количество визуализированных объектов diff --git a/Движок/Rendering/Render API/Схема.canvas b/Движок/Rendering/Render API/Схема.canvas new file mode 100644 index 0000000..9ffd690 --- /dev/null +++ b/Движок/Rendering/Render API/Схема.canvas @@ -0,0 +1,12 @@ +{ + "nodes":[ + {"id":"6f3a8700a30be530","x":-599,"y":-60,"width":319,"height":50,"color":"5","type":"text","text":"Import & Register objects/models/files"}, + {"id":"6a4f284991a8d855","type":"text","text":"Prepare & Build Render Queue","x":-599,"y":40,"width":319,"height":50,"color":"5"}, + {"id":"edff9e4cdcb520e7","type":"text","text":"Commit Render Queue","x":-599,"y":140,"width":319,"height":50,"color":"5"}, + {"id":"906d38615d4dcb61","x":-599,"y":-160,"width":250,"height":60,"color":"5","type":"text","text":"Render API"} + ], + "edges":[ + {"id":"a9973ac534832a81","fromNode":"6f3a8700a30be530","fromSide":"bottom","toNode":"6a4f284991a8d855","toSide":"top"}, + {"id":"1d960146f4b38041","fromNode":"6a4f284991a8d855","fromSide":"bottom","toNode":"edff9e4cdcb520e7","toSide":"top"} + ] +} \ No newline at end of file diff --git a/Движок/Rendering/Renderer.md b/Движок/Rendering/Renderer.md new file mode 100644 index 0000000..a14f100 --- /dev/null +++ b/Движок/Rendering/Renderer.md @@ -0,0 +1,13 @@ +## Роль + +Заключается в непосредственном рендере сцены на графическом процессоре. + +## Задачи + +### Связь с GPU + +Подготовка и регистрации всех нужных данных, буфферов, аттрибутов и шейдеров для дальнейшего рендера на графическом процессоре. + +## Абстракция + +Позволяет с малой вероятностью интрегрировать другие библиотеки для рендера помимо OpenGL. diff --git a/Игра/Главы игры - Эры.md b/Игра/Главы игры - Эры.md index ccc25f8..8973e62 100644 --- a/Игра/Главы игры - Эры.md +++ b/Игра/Главы игры - Эры.md @@ -1,3 +1,11 @@ ## Базовая -Требует вызова простых однодейственный функций, как при начале игры *The Farmer was replaced* с функциями `do_a_flip`/`harvest` (реф. [[Существующие Аналоги]]) \ No newline at end of file +#basic + +Требует вызова простых однодейственный функций, как при начале игры *The Farmer was replaced* с функциями `do_a_flip`/`harvest` (реф. [[Существующие Аналоги]]) + +## Ветвления + +#branching + +Требует понимания того, что программа не только исполняет все команды и инструкции в коде по одной **сверху вниз**, но и также способна прыгать от одной инструкции к совершенно другой, даже к той, которая сверху нее или то, что сценарий выполнения инструкций может разветвляться, т.е. переключаться между двумя инструкциями на основе определенный условий задаваемых пользователем. \ No newline at end of file diff --git a/Игра/Идеи для уровней/Временная бомба.md b/Игра/Идеи для уровней/Временная бомба.md index 22dc442..9c796cc 100644 --- a/Игра/Идеи для уровней/Временная бомба.md +++ b/Игра/Идеи для уровней/Временная бомба.md @@ -1,3 +1,5 @@ +#branching + Может быть частью уровней про **ветвление**, где игрок должен написать код, в котором он в конечном итоге триггерит бомбу в определенной точке времени/позиции/окружения. ## Легкий уровень: таймер