Page 1 of 1

Рейтрейсер (это такая штука для 3D)

Posted: Tue Nov 29, 2011 8:46 pm
by SoUrcerer
Image

Теперь в Колибри можно делать настоящее 3D, без правок файлов 3ds наугад. Сцены описываются в текстовых документах в простом формате scene. Если кому-то нужно 4D - могу и его запилить.

Пользоваться так:
rtk имя_сцены.scene имя_картинки.bmp
Работает неспешно, убедиться в работе можно в программе CPU - сообщений программа не выводит (хотя можно впилить notify, ежели нужно).
Порт программы http://habrahabr.ru/blogs/algorithm/114698/
Все "спасибо" - автору (http://habrahabr.ru/users/ankh1989/), в том числе и за хорошо переносимый код.

Re: Рейтрейсер (это такая штука для 3D)

Posted: Wed Dec 07, 2011 11:21 am
by macgub
I tried run your app, but without succes. I used qemu and real machine. In 1280x1024 mode( app require 1000x1000 resolution as the .scene file says).

Re: Рейтрейсер (это такая штука для 3D)

Posted: Wed Dec 07, 2011 1:06 pm
by SoUrcerer
macgub wrote:I tried run your app, but without succes. I used qemu and real machine. In 1280x1024 mode( app require 1000x1000 resolution as the .scene file says).
Raytracer doesn't create any windows. Syntax is:
rtk file_name.scene file_name.bmp
For example,
rtk /rd/1/cube3d.scene /hd0/1/pic.bmp

Rendering time for cube3d on my notebook is about 2-3 mins. Blender renderer gives such pics in 3-5 mins :)

Re: Рейтрейсер (это такая штука для 3D)

Posted: Wed Dec 07, 2011 1:21 pm
by Mario
Сделай принудительный запуск вьювера по сформированному пути, после рендеринга - будет нагляднее.

Re: Рейтрейсер (это такая штука для 3D)

Posted: Wed Dec 07, 2011 1:26 pm
by SoUrcerer
Он такой, чтобы его можно было запускать в цикле - делать анимации. Представь, тебе нужно отрендерить две тысячи кадров, поштучно. И каждый раз будет вспылвать окошко? Хотя можно добавить поддержку ключей.

Re: Рейтрейсер (это такая штука для 3D)

Posted: Wed Dec 07, 2011 1:30 pm
by Mario
Ну, вот ты сам спросил и сам и ответил. Молодец, чо! :mrgreen:

Re: Рейтрейсер (это такая штука для 3D)

Posted: Wed Dec 07, 2011 5:31 pm
by XVilka
не лучше ли реализовать в виде библиотеки и простым приложением-ретрейсером, которое будет пользоваться библиотекой?

Re: Рейтрейсер (это такая штука для 3D)

Posted: Wed Dec 07, 2011 6:16 pm
by SoUrcerer
Ну, пока что у нас нет 3d-редактора. Как будет - так я мигом подсуечусь.

Re: Рейтрейсер (это такая штука для 3D)

Posted: Wed Dec 07, 2011 6:43 pm
by Nable
а кто-нибудь расскажет зачем в 2011 такое делать на CPU? GPGPU для таких задач самое оно же ж.

Re: Рейтрейсер (это такая штука для 3D)

Posted: Wed Dec 07, 2011 7:36 pm
by XVilka
Сначала драйвер для GPGPU написать, а это непростая задача даже для специалиста-драйверописателя.

Re: Рейтрейсер (это такая штука для 3D)

Posted: Wed Dec 07, 2011 7:39 pm
by SoUrcerer
Окда. На старых машинах самое оно запускать рейтрейсер на GPU.
<irony>Конечно же у нас уже есть замечательный компилятор специальных инструкций для GPU популярных видеокарт - Nvidia, AMD. Да что там, у нас даже драйвера официальные от производителей этих видеокарточек есть для Колибри. И неофициальные тоже. С 4D-ускорением.</irony>

Re: Рейтрейсер (это такая штука для 3D)

Posted: Wed Dec 07, 2011 11:03 pm
by XVilka
сырцы не полагаются? :)

Re: Рейтрейсер (это такая штука для 3D)

Posted: Wed Dec 07, 2011 11:07 pm
by SoUrcerer
Дык, в оригинальной статье же есть. Просто нужно пару раз в бубен стукнуть, когда компилировать будешь.

Re: Рейтрейсер (это такая штука для 3D)

Posted: Mon Dec 12, 2011 1:41 am
by Nable
> на старых машинах
> рейтрейсер
даже не смешно. Это примерно как гордиться сборкой win7 для первопня - ну да, запускается, а нафига оно практически нужно? Неспешно смотреть картинки? Так для этого win7 не нужен. А что-то реально делать - для этого на первопень затачиваться не нужно.