ПрограммированиеФорумГрафика

Ад-ский рейтрейсер

Страницы: 1 2 3 4 5 6 Следующая »
#0
21:41, 9 апр 2010

Недавно я начал изучать Аду, ну в основном чисто из интереса ну и решил написать на ней маленький и простой рейтрейсер:

Скрин, довольно сильно пожат, поэтому качество не очень
AdaRTScreenCompressed | Ад-ский рейтрейсер
Исходники + бинарники
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-шку и периодически её обновлять.

#1
22:06, 9 апр 2010

даёшь AA 16x

#2
22:13, 9 апр 2010

FROL
жгуче. А если реалтайм сделать какой fps будет? Просто както савсем быстро рендерит.

#3
22:18, 9 апр 2010

офигенно

#4
22:21, 9 апр 2010

присоелиняюсь к flaber, пиши, как долго рендерит

#5
22:39, 9 апр 2010

Рендерит меньше секунды на Quad, но точно я не замерял (Там какой-то геморрой с функцией Clock).  Бинарник ведь есть, можно проверить.
Ну еще секунду сохраняет в файл. Вообще и не должно быть медленно, тут 30 шариков всего то.
Анти-алиасинг может добавлю попозже, да.

А риал-тайм мне кажется не имеет смысла делать ну будет миллион или 2 миллиона лучей в секунду после оптимизаций, лучше на куде.
Правда если мне конечно дадут в универе на BlueGene запустить то я даже kd tree сделаю, но это все требует времени + там еще под линукс собирать наверное надо, не хочу геморроя)

#6
22:43, 9 апр 2010

А чего нет прозрачности? Или я не нашел?

#7
22:45, 9 апр 2010

Ну нету, я только отражения сделал, теней тоже нету. Это такой, простой и минимальный рейтрейсер, на полноту не претендует.
можешь добавить))

#8
10:33, 10 апр 2010

http://mentalx.org/tmp/xray.rar а вот пример того, как бы оно на GPU забегало 8)

#9
12:01, 10 апр 2010

XProger
Нехилый fps, однако. По 60 кадров в секунду выдает.

#10
12:24, 10 апр 2010

XProger
Клево работает, только там какая-то дисторсия что-ли у камеры.

Лис®©™
У меня 30 отсилы на GTX260, ты на чем запускал?

#11
12:37, 10 апр 2010

XProger
> http://mentalx.org/tmp/xray.rar а вот пример того, как бы оно на GPU забегало
> 8)
что-то медленно, 5 fps на 8600MGT, должно быть на порядок больше, с учетом того, что нет теней - цифры из собственных разработок
а на GTX260 на 2 порядка больше должно быть, то есть ~500 fps

#12
13:01, 10 апр 2010

у меня на HD4850 ~120

#13
15:04, 10 апр 2010

FROL
Старенькая 8800GTX 768 :)

#14
15:05, 10 апр 2010

Лис®©™
> Старенькая 8800GTX 768 :)
вот это больше похоже на правду :)

Страницы: 1 2 3 4 5 6 Следующая »
ПрограммированиеФорумГрафика

Тема в архиве.