WebGL: INVALID_VALUE: texImage2D: invalid image Safari

16 сентября 2016 14:42
Здравствуйте, еще такой вопрос. Я динамически подменяю текстуру на объекте, с клиента, без загрузки на сервер. В исходниках нашел функцию:

/**
 * Load image data into texture object
 * @param texture texture object
 * @param {vec4|HTMLImageElement} image_data Color or image element to load into
 * texture object
 */
exports.update_texture = update_texture;
function update_texture(texture, image_data, is_dds, filepath, thread_id)


везде работает, кроме Safari, с такой ошибкой
WebGL: INVALID_VALUE: texImage2D: invalid image

вроде бы объект Image везде одинаковый, может быть у вас есть какие-нибудь мысли?

var __m_tex = require('__textures');
var img = new Image()
img.src = <base64>

__m_tex.change_image(obj, 'texture_name', img);


при том некоторые текстуры все же загружаются без ошибок, проверил разные уровни сжатия, и квадратные размеры кратные 128
16 сентября 2016 15:49
Добрый день.

Вы хакнули систему
вы используете внутренний модуль __textures ;D

Попробуйте на всякий случай навеситься на событие onload у img
var img = new Image()
img.onload = function() {
__m_tex.change_image(obj, 'texture_name', img);
}
var img.src = <base64>
16 сентября 2016 16:40
Черт, действительно, как же я забыл об этом, спасибо
 
Пожалуйста, зарегистрируйтесь или войдите под своей учетной записью , чтобы оставлять сообщения.