С полгода назад видел материал с описанием существующих 3D движков. Не могу сейчас найти.
Может подскажет у кого есть?
Вид для печати
С полгода назад видел материал с описанием существующих 3D движков. Не могу сейчас найти.
Может подскажет у кого есть?
Не совсем то, тут больше хотелки, а не описание. Вот тут нашел одну статью с описанием от 2017 года. Но там не на всё есть информация где брать.
- - - Добавлено - - -
Немного изменю вопрос. Хотелось бы подобрать движок для того что бы потрогать руками по следующим признакам, по мере убывания значимости:
1. Быстрый. Это понятно.
2. Точность до пикселя.
3. Наличие заливки.
4. Функциональность. Возможности должны быть минимальны, но достаточны для большинства задач.
5. Вменяемое описание или комментарии по коду. Что бы можно было разобраться.
Будут ли рекомендации? И где их вообще брать?
на opensourcezx есть сырки 3D lame. Может, пойдут на пользу.
Вменяемое описание. В интернетах гуляет книга "Компьютерная графика : Динамика, реалистические изображения", Шикин Е.В., Боресков А.В. , издание достаточно вменяемое по сравнению с издательствами "СОЛОН".
в старое время мне хватило таких уроков, есть целая серия. Найдутся и другие, правда на английском.
неясна цель поиска
Понять текущие возможности. И хотелось бы получить готовый инструмент.
Начать можно с построения 3Д модели, по данным из файла.
Вот тут неплохой цикл статей по практической 3Д графики. Взять и начать реализовывать приведенные примеры на спектруме. Только не с уровня "поставить точку", а повыше, раза в два.
А дальше действовать из ходя из полученных результатов.
Глобальный проект, однако.
да ладно :)
Я эти уроки уже переносил на rexx, ни чего сложного. Одно занятие можно переносить максимум за пару дней. И не обязательно переносить все, мне сейчас нужно понять основу.
Но загвозка как раз в инструментарии: чем/как считать, как хранить данные, чем рисовать. На эти вопросы должен ответит движок. Вот я и спрашиваю, есть у нас что-то что можно назвать "движком". Или только разрозненные наборы процедур, плохо связанных между собой.
Не понятно, что "плохо связанных между собой". Если есть цель отображения 3d фигуры, то получается: поворот координат вершин, проекция (в идеале), отсечение невидимых граней, отрисовка линий или граней. Если есть такая задача, то удобнее написать код самому, используя готовый материал или наработки.
Статья на хабре - графоманство чистой воды. Хей, я осилил, как рендерить чудиков, я всем расскажу!
OpenGL несколько сложнее для освоения, удобнее цикл уроков от NeHe, уроки переведены и код адаптирован на разные языки - ассемблер, Си, Delphi. Простым шагом будет определение координат, материала и вызов функции для отрисовки - точки, линии, треугольники и другое.
"движок" должен решать три основные задачи: хранение данных, обработка данных и их вывод на экран.
То есть мне бы хотелось иметь ситуацию, когда описываешь данные на основе требований "движка" и с использование его вспомогательного инструментария. Потом производишь обработку этих данных так же инструментарием движка, и средствами движка выводишь данные на экран. Если грубо то так: вот тебе модель, поверни её на такой-то угол и выведи на экран по таким-то координатам.
Если такой уровень не достижим, то мне нужно понимать, что же реально можно "получить" от имеющихся "движков".
Статья для меня такой же инструмент как и "движок", там детально описаны основы, и по ним как по нотам можно проверить все возможности "движка". Не более.
Разве спорю с этим? Но кто это должен делать? Я как программист, или всё таки "движок"? Искренни считаю, что основную работу должен делать "движок", а иначе это и будет "плохо связанных между собой" процедуры. Тут нам нужны данные в таком виде, тут в другом, а тут в третьем. И начинается жонглирование. Тут есть процедура вывода линии, тут процедура обрезки не видимых частей, но вместе они, по како-то причине, работать не могут. И вместо того что бы просто дать команду на вывод объекта, программист должен "в ручном" режиме обсчитывать каждую его грань.
по описанию выходит, что для Спектрума нужен 3D modeller. это не глобально, а утопично.
А разве дема "3D lame 4k intro" утопична?
Она визуально реализует всё то о чем я говорил. Не знаю, что у неё внутри, она на Alasm'е, а я не его фанат. Сейчас выкачиваю, буду изучать код.
Но это только один из вариантов. Хотелось бы увидеть и другие. И вопрос заключался в просьбе подсказать, на какие из существующих движков стоит обратить внимание.
Демо, это демо, а не программа для хранения, обработки и визуализации данных.
Насколько мне помнится хранятся данные фигур, таблицы адресов экрана для вывода, таблица синусов для поворота и таблица квадратов для умножения.
Из демо вспомнились eihwaz и Micro Figures (1k intro), но исходники не публиковались. Вряд ли авторы поделятся.
Ну там-то как раз не одна. )) Там в IG12 Alone Coder долго про 3d движок распинался (а если сам журнал взять там ещё и демки есть и исходники), правда я нифига там не понял, не моё ))
Dart Alver, очень, очень много интересного. Жаль, что я не видел раньше этого номера.