Pull to refresh

Comments 54

Нет слов, только уважение :)
Мне бы в школе рассказали так, и с таким примером.

И ведь все на куче относительно простых функций.

Осталось добавить вращение объектов c подсчетом FPS, и можно включать в 3Dmark.
Снимаю шляпу.
Еще один плюс в возможности Excel.
Игры на нем видел, теперь есть 3D, осталось ждать 3D игры и можно сразу онлайн :)))
Осталось портировать Doom…
Да и на Хабре перевод статьи про портирование уже есть…
Ох уж этот Excel, что в нём только не делают: картины рисуют, игры пишут, железо эмулируют, псевдообъемный ExcelArt создают, 3d движки собирают, а теперь и Raymarching Distance Fields освоили :)
[sarcasm on]
Осталось дождаться 3Д движка от 1С и будет «теперь я видел все».
[sarcasm off]

[sarcasm on]
Осталось дождаться 3Д движка от 1С и будет «теперь я видел все».
[sarcasm off]

Нет проблем:
1) 1С умеет работать с COM-объектами
2) 1С умеет выполнять ПРОИЗВОЛЬНЫЙ код C++ в рамках внешних компонент.
3) 1С умеет дергать/предоставлять веб/хттп сервисы.
Так что искусство забивать гвозди микроскопом не останется в стороне :)
При желании можно на 1с запилить игровой сервер и клиента :)
Ну не, это неспортивно — грузить внешние компоненты. Только средствами самого языка, только хардкор! :D
Ну не, это неспортивно — грузить внешние компоненты. Только средствами самого языка, только хардкор! :D

Можно и так :) Вот сценарий порноты :):
1) На форме размещаем картинку
2) Саму картинку формируем средствами 1с. Уже примерно как год назад, 1С обзавелась возможностью произвольно манипулировать двоичными данными. А это означает, что можно хоть 3D-шутер написать штатными средствами.
В далекие 200е годы студентом пошел во франчайзи за символическую оплату. Помню внешнюю обработку — игра монополия, написанная на языке 1С, платформа 8.0.
Есть у меня шапошный знакомый 1Сник, так он на 1С написал бота, который ходил по форумам и чего-то там отвечал в темы.
На мой вопрос — «Но почему 1С???!!!» был шикарный ответ — «На чем умею, на том и сделал».
Я даже не нашелся, что на это и сказать, только глубокомысленно промычал что-то невразумительное :)
UFO just landed and posted this here
Это может и смотрится визуально круто, но на практике абсолютно бесполезно. По сути это «смотрите, как я могу». Ну молодец, что можешь. Возьми печеньку с полки
На практике эта технология используется для кучи разных эффектов в играх.
UFO just landed and posted this here
Это не «смотрите, как я могу», это «смотрите, как ВЫ можете». Автор показывает, что в 3D-графике нет магии, и что она базируется на очень простых математических расчётах, осилить которые может любой толковый старшеклассник, причём сделать это можно даже в инструментах, не предназначенных для программирования. Меня в своё время статья о рейрейсере, уместившемся в 99 строк C++ сподвигла поглубже закопаться в матанализ. И если после прочтения этой статьи хоть один человек захочет сделать свой рендерер с блекджеком и шейдерами, то автор писал статью не зря.

И ведь захочет, на самом деле. А то, что в Экселе — в чём-то даже плюс, все формулы буквально перед глазами, всё можно перечитать и изучить прямо на работающем примере, и не требуется какой-то отдельной среды исполнения вроде Jupyter или Wolfram.

Хотелось бы ответить всем меня заминусовавшим. Ребят, вы вчитаейтесь в то, что пишу. Я не пишу, что проделанная автором публикации работа бесполезна, плоха и тд. Я пишу про то, что инструмент выбран на мой взгляд не лучшим образом и 3D моделировать в Excel это я даже не представляю кому это может быть вообще нужно
3D моделировать в Excel это я даже не представляю кому это может быть вообще нужно

Наверное потому, что автор не ставил целью что-то конкретное смоделировать. Это очень наглядная демонстрация портабельности алгоритма в частности и математики в общем. Ну и просто зрелищный трюк. Вы же не стали бы ругаться в цирке, что тигры, прыгающие через горящий обруч — это глупость несусветная?
А теперь мы научились вырезать гланды через анус автогеном!
Но если разбить этот навык на два — то у вас два полезных навыка «по цене одного»…
Мое уважение автору! Очень необычно было читать про такое. Никогда бы не подумала что можно совместить 3D-графику и Excel.
Я бы сказал больше, по сути автор получил имитацию пиксельного шейдера на экселе :)

Вы правда не видите разницы между бесполезной штукой которую может сделать каждый, сложной штукой, сделанной "потому что могу", и штукой, которая пусть условно-бесполезна, но очень наглядно показывает принципы?

SDF чертовски прикольная штука, но стоило так-же упомянуть о некоторых недостатках.
Что вспомнил сходу:

1. При наличии геометрии с острыми углами точность сходимости возле них изрядно падает. При наличии реально сложной геометрии из угловатых примитивов в поле значений могут получаться разрывы, из-за чего рендер по границам объектов может подглючивать. Обычно для отладки таких моделей используют специальные шейдеры, которые показывают распределени значений возле неё.

2. Чувствителен к наклону границ. Очень неприятная ситуация, когда луч идёт параллельно и очень близко к плоскости. При этом размер шагов может стремиться к нулю. Собственно на этом обычно эта технология и палится (количество шагов обычно ограничивают)

Из плюсов — в шейдерах можно довольно легко оборачивать сложные объекты в простые, что изрядно ускоряет трейс.
Спасибо, добавил ссылку на этот комментарий в статью.
Иллюстрация

Слева ограничение на 2'000 шагов, а справа всего 200.
простая сцена ray marshing
Заметно просел горизонт и появились дыры вокруг сферы.

Странно. 200 на один луч или со всеми отражениями? Поскольку это довольно много для SDF. У меня на 64 примерно такие артефакты

На луч. Я не особенно разбираюсь, реализация возможно не самая лучшая. Должно быть можно покрутить константы эпсилона и максимальной дистанции. Может быть есть какие-то оптимизации?
PS: Пока прикручивал туман, заметил что забыл сделать обратную гамма-коррекцию, то-то мне казались цвета странными.

Посмотрел свой шейдер — у меня вообще никаких нет. Но проще всего добавить ограничение на минимальный шаг. Правда тут есть вероятность, что он будет пропускать мелкие детали (меньше размера шага).
Было бы неплохо где-то задать положение источника света, а то все объекты раскрашены так, как если бы освещались самой камерой. А так — интересно, и спасибо за метод.
Oписание объектов похоже на функции Рвачева r-function.
В Office 95 была пасхалка «The Hall of Tortured Souls»
Сейчас не найду время на все это но статья невероятно крутая и интересная! 100% в закладки и как уйду на пенсию обязательно все попробую что тут написано!
Если имеете в виду SDF, а не эксель, то велком на shadertoy. Можно брать готовые примеры и играть сразу. Есть так-же готовые либы примитивов и операций над ними. Только с операциями придётся немного вывернуть мозги, т.к. все трансформации идут не над примитивом, а над простарнством, в котором он находится :)
LibreOffice — полет нормальный. Может забыли разрешить редактировать документ?
Хорошее увлечение, когда на рабочем ПК кроме Excel ничего нет.
Плохо, когда на рабочем ПК нет работы)
Спасибо! Это великолепно.
У Вас ошибка в описании листов i1, i2…
В части **, описания ячеек, забыли сложить со значением из предыдущего шага Ray Marching.
Нужно unit тестирование еще завезти и тестами обложить. Хм, интресно, гитхаб отоброзит Exel Formuls как яп проджекта
UFO just landed and posted this here
а между тем преподаватели Эксель гребут такие деньги, что прогерам и не снились.
Так вот откуда в древних версиях 3dmax чайники взялись!
Only those users with full accounts are able to leave comments. Log in, please.

Articles