Еще один выходной добавил новую фишечку к V-Ray пэйплайну.
Теперь геометрию из *.vrscene можно просматривать в окошке.
Думаю любители Блендера узнают очертания Сюзанны )))
Вообще она там крутится, на скриншоте этого не видно конечно.
Пока очень примитивный шейдинг без освещения.
Дело наживное...
Да и особых красот наводить не планирую. Будет легкая поддержка шейдинга, текстуры и примитивный свет, а всё остальное решит кнопка "рендер".
Самое сложное позади, дольше всего провозился с пониманием HEX формата от Chaos Group
Но когда разобрался - понял на сколько все просто )))
Сейчас у меня есть проблемы с чтением данных, пока не разобрался почему, но файлы *.vrscene у меня пока открываются ужасно медленно. А вот когда открылись, то все работает очень шустро, включая показ моделей. Модели очень быстро подгружаются.
Пока две догадки относительно проблемы:
- "кривые" ручки
- Flex+AIR не совсем C++ )))
Если ручки не "распрямятся", то будет грустно, хотя....
Все наработки можно использовать как тестовое приложение. Это очень большой и интересный опыт.
Будут еще выходные )))
P.S.
О простоте HEX формата, используемого Chaos Group
Вообще у них несколько форматов, они немного отличаются типом данных но главная суть проста.
Восемь символов на байт, байт формируется не с права на лево (как учат в школе), а наоборот, но при этом числа чередуются парами.
Например в привычной записи будет:
FAFF7FBF ----> а V-Ray сделает -----> BF7FFFFA
Это как зеркало, но числа переставляются парами.
Надо заметить, что это не странность разработчиков, а очень даже распространенный метод, просто я с ним столкнулся впервые. И в этом методе, в плане оптимизации и скорости есть свои преимущества. По мере считывания, байт за байтом, пара за парой, просто растет число и количество чисел, последовательно и без перескоков идет чтение данных.
Дело в том, что поток данных всегда читается последовательно, то есть слева на право, а привычная нам кодировка (из курса информатики) переставляет знаки с права на лево - это лишние расходы на ресурсы... То есть надо сначала прочитать 8 символов, и только потом что-то вычислить и при этом в обратной последовательности.
Так что все очень даже правильно :-)
Теперь геометрию из *.vrscene можно просматривать в окошке.
Думаю любители Блендера узнают очертания Сюзанны )))
Вообще она там крутится, на скриншоте этого не видно конечно.
Пока очень примитивный шейдинг без освещения.
Дело наживное...
Да и особых красот наводить не планирую. Будет легкая поддержка шейдинга, текстуры и примитивный свет, а всё остальное решит кнопка "рендер".
Самое сложное позади, дольше всего провозился с пониманием HEX формата от Chaos Group
Но когда разобрался - понял на сколько все просто )))
Сейчас у меня есть проблемы с чтением данных, пока не разобрался почему, но файлы *.vrscene у меня пока открываются ужасно медленно. А вот когда открылись, то все работает очень шустро, включая показ моделей. Модели очень быстро подгружаются.
Пока две догадки относительно проблемы:
- "кривые" ручки
- Flex+AIR не совсем C++ )))
Если ручки не "распрямятся", то будет грустно, хотя....
Все наработки можно использовать как тестовое приложение. Это очень большой и интересный опыт.
Будут еще выходные )))
P.S.
О простоте HEX формата, используемого Chaos Group
Вообще у них несколько форматов, они немного отличаются типом данных но главная суть проста.
Восемь символов на байт, байт формируется не с права на лево (как учат в школе), а наоборот, но при этом числа чередуются парами.
Например в привычной записи будет:
FAFF7FBF ----> а V-Ray сделает -----> BF7FFFFA
000080BF ----> а V-Ray сделает -----> BF800000
3F800000 ----> а V-Ray сделает -----> 0000803F
Это как зеркало, но числа переставляются парами.
Надо заметить, что это не странность разработчиков, а очень даже распространенный метод, просто я с ним столкнулся впервые. И в этом методе, в плане оптимизации и скорости есть свои преимущества. По мере считывания, байт за байтом, пара за парой, просто растет число и количество чисел, последовательно и без перескоков идет чтение данных.
Дело в том, что поток данных всегда читается последовательно, то есть слева на право, а привычная нам кодировка (из курса информатики) переставляет знаки с права на лево - это лишние расходы на ресурсы... То есть надо сначала прочитать 8 символов, и только потом что-то вычислить и при этом в обратной последовательности.
Так что все очень даже правильно :-)