forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Полезные функции (http://forum.boolean.name/forumdisplay.php?f=17)
-   -   Стереорендер (анаглиф) на Blitz3D с использованием FastImage'а (http://forum.boolean.name/showthread.php?t=6388)

ABTOMAT 20.09.2008 22:12

Стереорендер (анаглиф) на Blitz3D с использованием FastImage'а
 
Вложений: 2
Вот сделал за пару часов.
Стереорежим в Блитзе без всяких драйверов!
Доставайте свои стереоочки

Собсно вот исходник AnaglyphStereoRenderUsingFastImage.zip - 2 Кб.

Используется либа товарища Вострикова "FastImage" - за что ему огромный респект.

Теперь к дѣлу.

Порядок использования.

1. В проекте должен быть подключен FastImage.
То есть инклюднут "FastImage.bb" и рядом положена длл-ка "FastImage.dll"
Кроме того надо заюзать InitDraw.
2. Инклюдим "Anaglyph.bb"
3. Делаем InitAnaglyph() - после объявления граф. режима.
4. Вместо RenderWorld используем AnaglyphRender(rendercamera, stereobase#), параметры:
rendercamera - камера
stereobase# - расстояние между "глазами", находится экспериментально.
Если у вас есть какие-л. функции, зависящие от положения камеры (например, вы используете Ашадов - там надо обновлять воду) то открываем исходник и руками прописываем туда всё что надо сделать вместе с рендером с каждой позиции.
5. Доп. функции:
AnaglyphSetLeftColor ( R,G,B )
AnaglyphSetRightColor ( R,G,B )
Позвозяют установить цвет правого и левого очка соответственно.
При вызове InitAnaglyph автоматом выставляется стандартное синее и красное очко, менять не надо если только у вас очки не какого-л. другого цвета (например, бывает делают жёлто-синие), с параметрами, я думаю, понятно.

Кроме того.
У функции AnaglyphRender есть доп. параметр StartDrawSwitch
Если вы используете эту функцию ВНУТРИ StartDraw и EndDraw то делать параметр 0, во всех иных случаях - 1 (по умолчанию - 1)

Вот, как и обещал, расово верные скриншоты:

Стереосортиры атакуют хDD


Стерео Кибер Санкт-Петербург



Залил файл непосредственно на форум.

ABTOMAT 21.09.2008 16:38

Ответ: Стереорендер (анаглиф) на Blitz3D с использованием FastImage'а
 
Демо на ifolder'е

http://ifolder.ru/8228036

genroelgvozo 21.09.2008 18:35

Ответ: Стереорендер (анаглиф) на Blitz3D с использованием FastImage'а
 
Плиз залей на ifolder

Stalnoy_Gvozd' 21.09.2008 19:59

Ответ: Стереорендер (анаглиф) на Blitz3D с использованием FastImage'а
 
Ха! Очки наготове!:-)
раньше конечно видел, но всеравно интересно
Сильно как-то давит на скринах показалось, ну да поди подогнать можно.:)

ABTOMAT 21.09.2008 20:29

Ответ: Стереорендер (анаглиф) на Blitz3D с использованием FastImage'а
 
genroelgvozo
залил
Stalnoy_Gvozd'
на скринах Джипег убил стерео =(
Так что лучше демку посмотри :)

Phantom 22.09.2008 08:00

Ответ: Стереорендер (анаглиф) на Blitz3D с использованием FastImage'а
 
Ух, ёлки. Сколько это Демо весит...

genroelgvozo 23.09.2008 09:19

Ответ: Стереорендер (анаглиф) на Blitz3D с использованием FastImage'а
 
плиз залей библу на ifolder тоже

ABTOMAT 23.09.2008 13:13

Ответ: Стереорендер (анаглиф) на Blitz3D с использованием FastImage'а
 
Библы - вот: www.fastlibs.com
Конкретно Фаст Имейдж - вот: http://www.fastlibs.com/libraries.php#fastimage
Выкладывать куда-то не стану, всё-таки это комм. либа нашего соотечественника, неприлично. Была бы буржуйская - давно бы выложил.

genroelgvozo 23.09.2008 18:16

Ответ: Стереорендер (анаглиф) на Blitz3D с использованием FastImage'а
 
Блин извини я имел ввиду твой исходник
В демо его не было
я просто с рапида не могу скачать

zheland 23.09.2008 20:34

Ответ: Стереорендер (анаглиф) на Blitz3D с использованием FastImage'а
 
Спасибо!
Не зря только-что перерыл кучу книг:
нашёл очки: ещё такого не видел: Буду знать.
Сейчас посмотрю исходники и постораюсь понять как это сделать без сторонних либ на DirectX.

ABTOMAT 23.09.2008 20:55

Ответ: Стереорендер (анаглиф) на Blitz3D с использованием FastImage'а
 
drunnik, сторонняя либа мне нужна была только потому что в Блитзе убогое 2Д-рисование, а так на ДХе конечно можно сделать.
genroelgvozo, я тут переделал примерчик на более качественный, как доведу до ума - залью.

zheland 23.09.2008 21:06

Ответ: Стереорендер (анаглиф) на Blitz3D с использованием FastImage'а
 
Кстати алгоритм можешь сказать?
Просто на Blitz3d 3 года назад программировал: уже его забыл
(на BlitzMax'е год назад, а FastImage вообще не знаю :) )

ABTOMAT 23.09.2008 21:18

Ответ: Стереорендер (анаглиф) на Blitz3D с использованием FastImage'а
 
Рендерим с двух глаз.
Левый - красим в цвет 255,0,0
Правый - 0,255,255

потом в бэкбуфер кладём один с блендом "обычный", второй - поверх него с блендом "аддитивный"

Tadeus 23.09.2008 21:20

Ответ: Стереорендер (анаглиф) на Blitz3D с использованием FastImage'а
 
Цитата:

Сообщение от ABTOMAT (Сообщение 86740)
Рендерим с двух глаз.
Левый - красим в цвет 255,0,0
Правый - 0,255,255

Наоборот

ABTOMAT 23.09.2008 21:41

Ответ: Стереорендер (анаглиф) на Blitz3D с использованием FastImage'а
 
А вдруг юзер случайно очки задом-наперёд напялит?


Часовой пояс GMT +4, время: 05:46.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot