Минько — Android Light выпуск

Я работаю с Минко и, кажется, столкнулся с небольшой проблемой с Android.
Мне удалось скомпилировать для linux64, Android и HTML модифицированный код (на основе учебников, предоставленных Minko). Я просто загружаю и вращаю 4 файла .obj (один пиратский предоставлен, а 3 найдены на turbosquid только для демонстрационных целей).

Правильный результат просматривается в версиях linux64 и html, но в Android-версии есть «красноватый» свет, хотя двоичные файлы генерируются из того же кода c ++.

Вот несколько фотографий, чтобы продемонстрировать проблему:

linux64:

http://tinypic.com/r/qzm2s5/8

Версия Android:

http://tinypic.com/r/23mn0p3/8

(Невозможно связать версию html, но она близка к версии linux64.)

Вот часть кода, связанная со светом:

        // create the spot light node
auto spotLightNode = scene::Node::create("spotLight");

// change the spot light position
//spotLightNode->addComponent(Transform::create(Matrix4x4::create()->lookAt(Vector3::zero(), Vector3::create(0.1f, 2.f, 0.f)))); //ok linux - html
spotLightNode->addComponent(Transform::create(Matrix4x4::create()->lookAt(Vector3::zero(), Vector3::create(0.1f, 8.f, 0.f))));

// create the point light component
auto spotLight = SpotLight::create(.15f, .4f);    //ok linux and html

// update the spot light component attributes
spotLight->diffuse(4.5f);   //ori - ok linux - html

// add the component to the spot light node
spotLightNode->addComponent(spotLight);

//sets a red color to our spot light
//spotLightNode->component<SpotLight>()->color()->setTo(2.0f, 1.0f, 1.0f);

// add the node to the root of the scene graph
rootNode->addChild(spotLightNode);

Как вы можете заметить color()->setTo был выключен и работает для всех, кроме Android (очистить и восстановить). Любая идея, что может быть источником проблемы здесь?

Любой указатель будет высоко ценится.

Спасибо.

0

Решение

Можете ли вы протестировать его на других устройствах Android или с более свежим ПЗУ и дать нам результат? LG-D855 (LG G3) работает на Adreno 330: известно, что эти графические процессоры имеют недостатки компиляции GLSL, особенно с петлями и / или структурами, которые мы используем в Phong.fragment.glsl на мастер ветке.

Phong.fragment.glsl на ветке разработчика был сильно переработан, чтобы это исправить (только для направленного света).

Вы можете попробовать ветку dev и направленный свет и посмотреть, решит ли это проблему. Будьте осторожны: ветка dev представляет бета-версию 3 с некоторыми изменениями API. Самое большое изменение API — это математический API, теперь использующий GLM, и формат файла * .effect. Лучший способ — просто обновить свой математический код для использования нового API, все остальное должно быть простым.

0

Другие решения


По вопросам рекламы [email protected]