forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   C++ (http://forum.boolean.name/forumdisplay.php?f=22)
-   -   Clear Engine (Понятный движок) (http://forum.boolean.name/showthread.php?t=18702)

pozitiffcat 13.11.2013 12:25

Ответ: Clear Engine (Понятный движок)
 
Цитата:

Сообщение от Mr_F_ (Сообщение 270152)
блюр можно делать в 2 пасса, сначала горизонтал, а потом вертикал, будет меньше семплов (но больше записей в текстуру).

да я попробывал там прирост в 5-7 фпс.. ниочем. Не ужели до сихпор в GLES < 3 не придумали шустрый шейдер для этого ))))

jimon 13.11.2013 13:51

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

pozitiffcat 13.11.2013 15:41

Ответ: Clear Engine (Понятный движок)
 
Цитата:

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

мега уродство получается тогда )))

Добавил Render target, думаю простое использование...
PHP код:

// создание таргета
    
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


HolyDel 13.11.2013 18:02

Ответ: Clear Engine (Понятный движок)
 
MRT незабудь

pozitiffcat 13.11.2013 20:44

Ответ: 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))

PHP код:

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]; 


pozitiffcat 26.11.2013 01:18

Ответ: Clear Engine (Понятный движок)
 
Вложений: 3
Начал пилить экспортер из блендера, умеет сохранять объекты, инфу по текстурам и нормал мапы, впринципе то что пока сделано в движке...

Зы, такой сильный спекуляр сделаю что бы можно было подрегулировать из блендера

Samodelkin 26.11.2013 03:11

Ответ: Clear Engine (Понятный движок)
 
Мне кажется, или ты где то накосячил с форматом нормал мапы или ее текстурными координатами - немного не туда затенение отбрасывается ( помойму на 90 градусов повернуто ).
А так то здоровски все выглядит!

moka 26.11.2013 03:15

Ответ: Clear Engine (Понятный движок)
 
tangent и binormal не расчитаны?

pozitiffcat 26.11.2013 09:16

Ответ: Clear Engine (Понятный движок)
 
Цитата:

Сообщение от Samodelkin (Сообщение 270613)
Мне кажется, или ты где то накосячил с форматом нормал мапы или ее текстурными координатами - немного не туда затенение отбрасывается ( помойму на 90 градусов повернуто ).
А так то здоровски все выглядит!

правда? что-то не обращал внимания...

pozitiffcat 26.11.2013 09:19

Ответ: Clear Engine (Понятный движок)
 
Цитата:

Сообщение от moka (Сообщение 270614)
tangent и binormal не расчитаны?

нет еще не занимался этим... надо запилить, сейчас 64 байта вершина весит, если добавить нормал бинормал е texcoord2 будет 96, нормально? или нужно до 128 догонять.. что-то не нашел инфы в инете. Еще заметил такую вещь, что на моей gt240 тормозит glow постэффект в фул скрине, там 8х6 выборка из текстуры...

pozitiffcat 26.11.2013 10:16

Ответ: Clear Engine (Понятный движок)
 
Цитата:

Сообщение от moka (Сообщение 270614)
tangent и binormal не расчитаны?

с tbn так должно выглядеть?

Samodelkin 26.11.2013 10:31

Ответ: Clear Engine (Понятный движок)
 
Источник света сверху? Тогда опять не так. Тангенты и бинормали должны быть расчитаны - без них вообще нельзя нормал мэп делать. Ну или по крайне мере тангенты нужно расчитать, а бинормали можно находу в шейдере. Еще я сталкивался с тем что у нормал мэп разные форматы бывают, иногда нужно местами менять координаты или инвертировать значения нормалей. Вобщем возьми нормал мэп с понятным рельефом и определи на глаз, правильно затенение работает или нет. Еще иногда косяки с повертексным освещением бывают если трисы очень большие по сравнения с расстоянием до источника света.

pozitiffcat 26.11.2013 10:56

Ответ: Clear Engine (Понятный движок)
 
Цитата:

Сообщение от Samodelkin (Сообщение 270625)
Источник света сверху? Тогда опять не так. Тангенты и бинормали должны быть расчитаны - без них вообще нельзя нормал мэп делать. Ну или по крайне мере тангенты нужно расчитать, а бинормали можно находу в шейдере. Еще я сталкивался с тем что у нормал мэп разные форматы бывают, иногда нужно местами менять координаты или инвертировать значения нормалей. Вобщем возьми нормал мэп с понятным рельефом и определи на глаз, правильно затенение работает или нет. Еще иногда косяки с повертексным освещением бывают если трисы очень большие по сравнения с расстоянием до источника света.

я расчитал тангенты и бинормали, источник светит ровно как на скриншоте

ARA 26.11.2013 12:24

Ответ: Clear Engine (Понятный движок)
 
Смотрится косячно. Возьми карту нормалей кирпичной стенки, затекстурь плоскость, поднеси источник света почти вплотную и понаблюдай за кирпичиками и скрин сюда.

Сталкивался с подобным некорректным отображением нормалмап в юнити, когда засовывал туда карты сгенереные с помощью CrazyBump. Проблема решилась установкой настройки Normal map y-axis: up в CrazyBump.

pozitiffcat 26.11.2013 13:58

Ответ: Clear Engine (Понятный движок)
 
Цитата:

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

Сталкивался с подобным некорректным отображением нормалмап в юнити, когда засовывал туда карты сгенереные с помощью CrazyBump. Проблема решилась установкой настройки Normal map y-axis: up в CrazyBump.

вот видео http://rutube.ru/video/5cd2690117324...f0beebc5f0ea9/


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

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