Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > C++

Ответ
 
Опции темы
Старый 13.11.2013, 12:25   #46
pozitiffcat
Мастер
 
Аватар для pozitiffcat
 
Регистрация: 09.05.2010
Адрес: Самара
Сообщений: 1,083
Написано 254 полезных сообщений
(для 533 пользователей)
Ответ: Clear Engine (Понятный движок)

Сообщение от Mr_F_ Посмотреть сообщение
блюр можно делать в 2 пасса, сначала горизонтал, а потом вертикал, будет меньше семплов (но больше записей в текстуру).
да я попробывал там прирост в 5-7 фпс.. ниочем. Не ужели до сихпор в GLES < 3 не придумали шустрый шейдер для этого ))))
(Offline)
 
Ответить с цитированием
Старый 13.11.2013, 13:51   #47
jimon
 
Сообщений: n/a
Ответ: Clear Engine (Понятный движок)

так делай блюр с другим ядром, можно попробовать просто 5 выборок для начала, если мало будет то 9 : центральная и потом одна или две слева, справа, сверху и снизу
 
Ответить с цитированием
Старый 13.11.2013, 15:41   #48
pozitiffcat
Мастер
 
Аватар для pozitiffcat
 
Регистрация: 09.05.2010
Адрес: Самара
Сообщений: 1,083
Написано 254 полезных сообщений
(для 533 пользователей)
Ответ: Clear Engine (Понятный движок)

Сообщение от jimon Посмотреть сообщение
так делай блюр с другим ядром, можно попробовать просто 5 выборок для начала, если мало будет то 9 : центральная и потом одна или две слева, справа, сверху и снизу
мега уродство получается тогда )))

Добавил Render target, думаю простое использование...
// создание таргета
    
Ce::SRenderTarget target;
    
// камера таргета
    
target.node camera;
    
target.texture core->driver()->createTexture();
    
// данные о текстуре
    
Ce::STextureData texData;
    
texData.buffer 0texData.width 256texData.height 256texData.textureFormat Ce::E_TF_RGB;
    
target.texture->setData(texData);
    
// добавляем в ядро (вот все-таки хз, может и на сцену надо бы, а не в ядро)
    
core->addRenderTarget(target);

    
// задаем текстуру таргета какому то объекту
    
someNode->material(0).textureDiffuse target.texture

Последний раз редактировалось pozitiffcat, 13.11.2013 в 17:22.
(Offline)
 
Ответить с цитированием
Старый 13.11.2013, 18:02   #49
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Ответ: Clear Engine (Понятный движок)

MRT незабудь
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
pozitiffcat (13.11.2013)
Старый 13.11.2013, 20:44   #50
pozitiffcat
Мастер
 
Аватар для pozitiffcat
 
Регистрация: 09.05.2010
Адрес: Самара
Сообщений: 1,083
Написано 254 полезных сообщений
(для 533 пользователей)
Ответ: Clear Engine (Понятный движок)

Пример использования MRT, на не поддерживаемом устройстве не будет работать MRT, и шейдер с gl_FragData[1] не скомпилируется, ну это и понятно. (libc++abi.dylib: terminating with uncaught exception of type std::runtime_error: IShader compilation failed: ERROR: 0:6: Index 1 beyond bounds (size 1))

Ce::SRenderTarget target;
    
target.node light;
    
// тут мы добавляем две текстуры в таргет
    
target.textures.push_back(core->driver()->createTexture());
    
target.textures.push_back(core->driver()->createTexture());
    
Ce::STextureData texData;
    
texData.buffer 0texData.width 64texData.height 64texData.textureFormat Ce::E_TF_RGB;
    
target.textures[0]->setData(texData);
    
target.textures[1]->setData(texData);
    
// тут мы задаем шейдер, которым будет рисоваться сцена (в моем случае я рисую все красным в 0 текстуру и зеленым цветом в 1 текстуру, чтобы проверить МРТ)
    
target.programOverload program;
    
core->addRenderTarget(target);

    
auto monitor core->createPreparedNode(Ce::E_PN_CUBE);
    
monitor->setPosition(glm::vec3(200));
    
scene->rootNode()->addChild(monitor);
    
// тут 0 или 1 индекс текстуры на котором показывать отрендереную сцену
    
monitor->material(0).textureDiffuse target.textures[0]; 
(Offline)
 
Ответить с цитированием
Старый 26.11.2013, 01:18   #51
pozitiffcat
Мастер
 
Аватар для pozitiffcat
 
Регистрация: 09.05.2010
Адрес: Самара
Сообщений: 1,083
Написано 254 полезных сообщений
(для 533 пользователей)
Ответ: Clear Engine (Понятный движок)

Начал пилить экспортер из блендера, умеет сохранять объекты, инфу по текстурам и нормал мапы, впринципе то что пока сделано в движке...

Зы, такой сильный спекуляр сделаю что бы можно было подрегулировать из блендера
Миниатюры
Нажмите на изображение для увеличения
Название: scr1.jpg
Просмотров: 900
Размер:	86.2 Кб
ID:	19910  Нажмите на изображение для увеличения
Название: scr2.jpg
Просмотров: 903
Размер:	124.6 Кб
ID:	19911  Нажмите на изображение для увеличения
Название: scr3.jpg
Просмотров: 899
Размер:	369.0 Кб
ID:	19912  
(Offline)
 
Ответить с цитированием
Эти 3 пользователя(ей) сказали Спасибо pozitiffcat за это полезное сообщение:
FREE MAN (26.11.2013), Nerd (27.11.2013), Samodelkin (26.11.2013)
Старый 26.11.2013, 03:11   #52
Samodelkin
Мастер
 
Регистрация: 12.01.2009
Сообщений: 979
Написано 388 полезных сообщений
(для 631 пользователей)
Ответ: Clear Engine (Понятный движок)

Мне кажется, или ты где то накосячил с форматом нормал мапы или ее текстурными координатами - немного не туда затенение отбрасывается ( помойму на 90 градусов повернуто ).
А так то здоровски все выглядит!
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
pozitiffcat (26.11.2013)
Старый 26.11.2013, 03:15   #53
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Ответ: Clear Engine (Понятный движок)

tangent и binormal не расчитаны?
(Offline)
 
Ответить с цитированием
Старый 26.11.2013, 09:16   #54
pozitiffcat
Мастер
 
Аватар для pozitiffcat
 
Регистрация: 09.05.2010
Адрес: Самара
Сообщений: 1,083
Написано 254 полезных сообщений
(для 533 пользователей)
Ответ: Clear Engine (Понятный движок)

Сообщение от Samodelkin Посмотреть сообщение
Мне кажется, или ты где то накосячил с форматом нормал мапы или ее текстурными координатами - немного не туда затенение отбрасывается ( помойму на 90 градусов повернуто ).
А так то здоровски все выглядит!
правда? что-то не обращал внимания...
(Offline)
 
Ответить с цитированием
Старый 26.11.2013, 09:19   #55
pozitiffcat
Мастер
 
Аватар для pozitiffcat
 
Регистрация: 09.05.2010
Адрес: Самара
Сообщений: 1,083
Написано 254 полезных сообщений
(для 533 пользователей)
Ответ: Clear Engine (Понятный движок)

Сообщение от moka Посмотреть сообщение
tangent и binormal не расчитаны?
нет еще не занимался этим... надо запилить, сейчас 64 байта вершина весит, если добавить нормал бинормал е texcoord2 будет 96, нормально? или нужно до 128 догонять.. что-то не нашел инфы в инете. Еще заметил такую вещь, что на моей gt240 тормозит glow постэффект в фул скрине, там 8х6 выборка из текстуры...
(Offline)
 
Ответить с цитированием
Старый 26.11.2013, 10:16   #56
pozitiffcat
Мастер
 
Аватар для pozitiffcat
 
Регистрация: 09.05.2010
Адрес: Самара
Сообщений: 1,083
Написано 254 полезных сообщений
(для 533 пользователей)
Ответ: Clear Engine (Понятный движок)

Сообщение от moka Посмотреть сообщение
tangent и binormal не расчитаны?
с tbn так должно выглядеть?
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
FREE MAN (26.11.2013)
Старый 26.11.2013, 10:31   #57
Samodelkin
Мастер
 
Регистрация: 12.01.2009
Сообщений: 979
Написано 388 полезных сообщений
(для 631 пользователей)
Ответ: Clear Engine (Понятный движок)

Источник света сверху? Тогда опять не так. Тангенты и бинормали должны быть расчитаны - без них вообще нельзя нормал мэп делать. Ну или по крайне мере тангенты нужно расчитать, а бинормали можно находу в шейдере. Еще я сталкивался с тем что у нормал мэп разные форматы бывают, иногда нужно местами менять координаты или инвертировать значения нормалей. Вобщем возьми нормал мэп с понятным рельефом и определи на глаз, правильно затенение работает или нет. Еще иногда косяки с повертексным освещением бывают если трисы очень большие по сравнения с расстоянием до источника света.
(Offline)
 
Ответить с цитированием
Старый 26.11.2013, 10:56   #58
pozitiffcat
Мастер
 
Аватар для pozitiffcat
 
Регистрация: 09.05.2010
Адрес: Самара
Сообщений: 1,083
Написано 254 полезных сообщений
(для 533 пользователей)
Ответ: Clear Engine (Понятный движок)

Сообщение от Samodelkin Посмотреть сообщение
Источник света сверху? Тогда опять не так. Тангенты и бинормали должны быть расчитаны - без них вообще нельзя нормал мэп делать. Ну или по крайне мере тангенты нужно расчитать, а бинормали можно находу в шейдере. Еще я сталкивался с тем что у нормал мэп разные форматы бывают, иногда нужно местами менять координаты или инвертировать значения нормалей. Вобщем возьми нормал мэп с понятным рельефом и определи на глаз, правильно затенение работает или нет. Еще иногда косяки с повертексным освещением бывают если трисы очень большие по сравнения с расстоянием до источника света.
я расчитал тангенты и бинормали, источник светит ровно как на скриншоте
(Offline)
 
Ответить с цитированием
Старый 26.11.2013, 12:24   #59
ARA
ТЫ ЧООО?
 
Аватар для ARA
 
Регистрация: 26.02.2007
Сообщений: 3,369
Написано 2,020 полезных сообщений
(для 7,192 пользователей)
Ответ: Clear Engine (Понятный движок)

Смотрится косячно. Возьми карту нормалей кирпичной стенки, затекстурь плоскость, поднеси источник света почти вплотную и понаблюдай за кирпичиками и скрин сюда.

Сталкивался с подобным некорректным отображением нормалмап в юнити, когда засовывал туда карты сгенереные с помощью CrazyBump. Проблема решилась установкой настройки Normal map y-axis: up в CrazyBump.
(Offline)
 
Ответить с цитированием
Старый 26.11.2013, 13:58   #60
pozitiffcat
Мастер
 
Аватар для pozitiffcat
 
Регистрация: 09.05.2010
Адрес: Самара
Сообщений: 1,083
Написано 254 полезных сообщений
(для 533 пользователей)
Ответ: Clear Engine (Понятный движок)

Сообщение от ARENSHI Посмотреть сообщение
Смотрится косячно. Возьми карту нормалей кирпичной стенки, затекстурь плоскость, поднеси источник света почти вплотную и понаблюдай за кирпичиками и скрин сюда.

Сталкивался с подобным некорректным отображением нормалмап в юнити, когда засовывал туда карты сгенереные с помощью CrazyBump. Проблема решилась установкой настройки Normal map y-axis: up в CrazyBump.
вот видео http://rutube.ru/video/5cd2690117324...f0beebc5f0ea9/
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


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


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com