Недавно я начал изучать Аду, ну в основном чисто из интереса ну и решил написать на ней маленький и простой рейтрейсер:
Скрин, довольно сильно пожат, поэтому качество не очень
Исходники + бинарники
AdaRT
Никакого понта нет, писал исключительно для фана ну и с целью освоить язык.
Хотя пожалуй маленький понт все же есть, рейтрейсер многопоточный.
Причем реализовать это было крайне просто, так как многопоточность встроена в Аду.
В папке opt запускать test.exe. потом viewer.exe чтобы посмотреть картинку.
Только дождитесь пока он её в файл сохранит.
Сцена случайно генерится каждый раз, если в консольно окне вводить что-то кроме exit он будет другие картинки давать.
Вообще как-то я не заметил что язык сложный. По-моему наоборот простой.
Да, слегка объемный но ИМХО то, что про него несут обычно, будто бы он какой-то супер сложный это полная чушь.
По крайней мере у меня сложилось впечатление, что он на порядок проще C++.
Последняя версия (UPD):
1) Cкачиваем/клонируем с гитхаба https://github.com/FROL256/ada-ray-tracer
2) Ставим GNAT Programming Studio http://libre.adacore.com/tools/gps/
3) Открываем проектный файл (art.gpr) и собираем (жедательно релизную конфигурацию).
4) Запускаем. Он будет сохранять картинку в bmp-шку и периодически её обновлять.
даёшь AA 16x
FROL
жгуче. А если реалтайм сделать какой fps будет? Просто както савсем быстро рендерит.
офигенно
присоелиняюсь к flaber, пиши, как долго рендерит
Рендерит меньше секунды на Quad, но точно я не замерял (Там какой-то геморрой с функцией Clock). Бинарник ведь есть, можно проверить.
Ну еще секунду сохраняет в файл. Вообще и не должно быть медленно, тут 30 шариков всего то.
Анти-алиасинг может добавлю попозже, да.
А риал-тайм мне кажется не имеет смысла делать ну будет миллион или 2 миллиона лучей в секунду после оптимизаций, лучше на куде.
Правда если мне конечно дадут в универе на BlueGene запустить то я даже kd tree сделаю, но это все требует времени + там еще под линукс собирать наверное надо, не хочу геморроя)
А чего нет прозрачности? Или я не нашел?
Ну нету, я только отражения сделал, теней тоже нету. Это такой, простой и минимальный рейтрейсер, на полноту не претендует.
можешь добавить))
http://mentalx.org/tmp/xray.rar а вот пример того, как бы оно на GPU забегало 8)
XProger
Нехилый fps, однако. По 60 кадров в секунду выдает.
XProger
Клево работает, только там какая-то дисторсия что-ли у камеры.
Лис®©™
У меня 30 отсилы на GTX260, ты на чем запускал?
XProger
> http://mentalx.org/tmp/xray.rar а вот пример того, как бы оно на GPU забегало
> 8)
что-то медленно, 5 fps на 8600MGT, должно быть на порядок больше, с учетом того, что нет теней - цифры из собственных разработок
а на GTX260 на 2 порядка больше должно быть, то есть ~500 fps
у меня на HD4850 ~120
FROL
Старенькая 8800GTX 768 :)
Лис®©™
> Старенькая 8800GTX 768 :)
вот это больше похоже на правду :)
Тема в архиве.