#javascript #three.js #webgl
#javascript #three.js #webgl
Вопрос:
Итак, я создал сцену, используя three.js раньше он работал отлично до сегодняшнего дня (в коде ничего не изменилось), но в каждом браузере chrome, firefox, Edge я продолжаю получать ошибку:
THREE.WebGLRenderer: Context Lost.
Я подозреваю, что это проблема с видеокартой, может кто-нибудь подтвердить?
любопытно, что в Chrome я также получаю дополнительную ошибку:
THREE.WebGLProgram: shader error: 0 35715 false gl.getProgramInfoLog THREE.WebGLShader: gl.getShaderInfoLog() vertex
Вот живая ссылка (проект не завершен):
https://ui-unicorn.co.uk/game-lesson-1/new-index-2021
Может кто-нибудь, пожалуйста, подтвердите, не поврежден ли проект с помощью кода или проблема в моей видеокарте?
С уважением
РЕДАКТИРОВАТЬ: другие проекты webgl также отлично работают для меня, что еще более странно, если проблема заключалась в моей видеокарте..
Комментарии:
1. Я подозреваю, что есть некоторые условия гонки, которые вообще затрудняют загрузку игры. Часто экран загрузки никогда не переключается, или, когда это происходит, символы не отображаются, и никакие взаимодействия не работают (хотя нажатие, похоже, регистрируется правильно).
Ответ №1:
Похоже, это не проблема с вашим графическим процессором, поскольку я сам загрузил страницу, на самой странице нет очевидной ошибки. Однако при проверке элемента в средствах разработки Firefoxs он показывает несколько сообщений. Это;
THREE.WebGLRenderer: Texture has been resized from (500x500) to (256x256).
(Одна из текстур была слишком большой)
THREE.WebGLProgram: gl.getProgramInfoLog() C:fakepath(190,23-154): warning X3571: pow(f, e) will not work for negative f, use abs(f) or conditionally handle negative values if you expect them
(несколько из них, но я понятия не имею, к чему это относится.)
Source map error: Error: request failed with status 404 Resource URL: https://ui-unicorn.co.uk/game-lesson-1/js/ifvisible.js Source Map URL: ifvisible.map
И это, опять же, я понятия не имею.
Что касается исходной ошибки, похоже, three.module .js запускает собственный отладчик рендеринга и помечает ошибки с шейдерами, поэтому я бы предположил, что это означает, что есть проблема с шейдерами, управляющими светом, тенями, моделями и т. Д.
Комментарии:
1. Можете ли вы подтвердить загруженный для вас webgl? и не потерпел неудачу с ТРЕМЯ. WebGLRenderer: контекст потерян. проблемы, на которые вы указали, не должны приводить к сбою, хотя, честно говоря, я предполагаю, что это моя графическая карта, если проект загружается для вас
2. Это все предупреждения, и одно из них об исходных картах не имеет смысла в данном контексте. Предупреждения в основном можно игнорировать (хотя их следует исправить, если это возможно). Основная ошибка, которую я получаю, такова
Uncaught TypeError: mixer4 is undefined
. Поскольку это ошибка, а не предупреждение, ее исправление, вероятно, поможет решить и другие проблемы3. @user3112634 да, он загружается для меня, немного медленно, но это может быть либо ноутбук, который я использую, либо Интернет. Я не видел других ошибок / предупреждений, кроме приведенных выше.
4. @Ouroborus Кажется, я не могу воспроизвести эту ошибку, могу ли я спросить, какой браузер вы используете, и как возникла эта ошибка
5. @user3112634 Это было в Firefox. Chrome показывает другую ошибку,
Uncaught TypeError: Cannot read property 'update' of undefined at animate
. В целом, я смог успешно загрузить игру только со второй попытки и с тех пор не делал этого.