Three.js: Three.js não é exibido no navegador WebKit (Chrome, Safari)

Criado em 5 ago. 2011  ·  48Comentários  ·  Fonte: mrdoob/three.js

Oi!

Quando estou aberto http://mrdoob.github.com/three.js/examples/webgl_panorama_equirectangular.html em Chome 13.0.782.107 ou Safari versão 5.0.5 (6533.21.1) em um Mac OSX 10.6.7 eu obtenho o os seguintes erros:

Three.js:294:: Error creating WebGL context.
Three.js:294:: Uncaught TypeError: Cannot call method 'clearColor' of null
Three.js:294:: THREE.WebGLRenderer
webgl_panorama_equirectangular.html:66:: init
webgl_panorama_equirectangular.html:49:: (anonymous function)

Quando eu abro no Firefox 5.0.1 está tudo bem. Alguém pode confirmar este problema?

Obrigado!

Question

Comentários muito úteis

IT_Crowd_Helpdesk_by_surlana

Todos 48 comentários

Isso acontece apenas com esse exemplo?

O mesmo com google chromium V14.0.835.202

Erro ao criar contexto WebGL.
TypeError não capturado: Não é possível chamar o método 'clearColor' de nulo

Alguém da minha equipe também obteve esse erro com o Chrome, mas em nosso aplicativo base (que atualmente é uma tela branca lisa).

Quando pedi a ele para abrir uma das demos do ThreeJS, apareceu a "mensagem de placa gráfica inválida" (e acho que é um comportamento correto). Porém, como o Firefox não gerou nenhum erro, pedi a ele para carregar exatamente o mesmo demo (era o demo do minecraft), e desta vez o navegador travou (sem mensagem de "placa gráfica inválida").

Eu não sei se isso poderia te ajudar ...

Talvez seja porque a textura é maior do que 4096x4096? Acho que placas de vídeo antigas (ou novas, mas ruins) não conseguem lidar com isso. Alguém pode confirmar?

Oh! E ... isso acontece no Chrome e no Safari, mas não no Firefox?

Ele usa Linux, então não tínhamos testado o Safari.

Chrome: jogue o texto a seguir e imprima "Placa gráfica inválida" na tela
Firefox: sem erro, desligue durante a execução do WebGL (tivemos que instalar o Firefox)

Three.js:294:: Error creating WebGL context.
Three.js:294:: Uncaught TypeError: Cannot call method 'clearColor' of null

Algum outro exemplo mostra esse erro?

Quais coisas você vê aqui?

http://alteredqualia.com/tmp/webgl-maxparams-test/

As demonstrações do WebGL não criadas com three.js funcionam?

O parâmetro WebGL MAX com firefox: http://pastebin.com/cF37iLes

Não consigo executar esta página com o Chrome, tenho um erro:
TypeError não capturado: Não é possível ler a propriedade 'MAX_VERTEX_ATTRIBS' de nulo

Com o firefox, posso assistir a outro démo do WebGL. Funciona sem congelar (exceto as demos do minecraft).

Obtendo os mesmos resultados que arcanin e Damoun no Chrome 15.0.874.106 no Mac OS X 10.7.2 com um Radeon 5870. O Firefox 7.0.1 na mesma máquina funciona corretamente.

O mesmo com Blocky Earth (http://www.clicktorelease.com/code/blocky_earth/) no Chrome 15.0.874.106 no MacOS X 10.6.8 com ATI Radeon HD 2600 Pro. Funcionou bem no Firefox 7.0.1 (apesar de dizer que era necessário o Firefox 9+)

E o cubo gira aqui nessas configurações?

Parece que não é apenas WebGL com problemas em Macs:

http://twitter.com/#!/oosmoxiecode/status/131711805243400192

Estranho que o Firefox funcione bem.

o chrome não funciona com o tutorial de introdução.
mas o firefox pode

Ainda estou vendo o erro que SinoBoeckmann descreveu em agosto ao visitar o url: http://mrdoob.github.com/three.js/examples/webgl_panorama_equirectangular.html

Agora é dezembro de 2011 e no safari 5.1.2 em 10.7.2 vejo o mesmo erro ao usar r46 de Three.js

Não vejo o erro no Chrome 16.0.92.

Houve uma solução que perdi?

Tentaremos "consertar" isso para r47.

Estou enfrentando esse problema agora. Tudo funcionou bem até algumas semanas atrás. Parece que o Chrome atualizou silenciosamente isso causando o problema para mim. Estou executando 16.0.912.75

No Firefox 8.0.1, o contexto é criado, mas o clear não funciona.

@arodic você tem mais detalhes? você entende o problema com todos os exemplos?

Sim, foi com todos os exemplos, mas agora funciona (depois que reiniciei o Chrome) Estranho ...

Magia! :)

Para o registro, isto é baseado em gráficos integrados da Intel com os drivers mesa, é propenso a travar então o Chrome desliga o webgl. http://code.google.com/p/chromium/issues/detail?id=76703

Ao tentar o aplicativo dema com a esfera na cena, também recebo a mensagem de erro:

Erro ao criar contexto WebGL.
TypeError não capturado: não é possível chamar o método 'getExtension' de nulo

Ocorre no Chromium 22.0.1229.94 Ubuntu 12.10 (161065) no Lubuntu 12.10

mesmo problema aqui:

Erro ao criar contexto WebGL.
TypeError não capturado: não é possível chamar o método 'getExtension' de nulo

MacBook4,1 OS X 10.6.8
Versão do Chrome 23.0.1271.64

WebGL Paramtest:
VERSÃO: WebGL 1.0 (OpenGL ES 2.0 Chromium)
SHADING_LANGUAGE_VERSION: WebGL GLSL ES 1.0 (OpenGL ES GLSL ES 1.0 Chromium)

apenas para registro (;

em btw. você não pode mover o anwser em cima? é possível?

O mesmo problema rodando no Chromium Portable no antigo laptop dual core do meu pai. Mas rodando o Chromium Portable no meu novo computador, está tudo bem, e pelo menos 10 fps mais rápido do que no Chrome.

Error on Chromium

Screenshot
Heh, eu tenho o mesmo erro hoje! Ontem tudo estava funcionando perfeitamente e nada foi alterado no meu código. O contexto do Canvas 3D simplesmente falha ao inicializar por algum motivo.

Estou no Ubuntu 12.10 de 32 bits com driver Intel mesa e lista negra de GPU do Chrome desativada
Chrome versão 24.0.1312.69

Tentou reiniciar o navegador?

Acabei de receber este erro um minuto atrás:

Error: Cannot call method 'getExtension' of null
at initGL (http://.../three.js:24868:34)
at new THREE.WebGLRenderer (http://.../three.js:17693:2)

Reiniciou o Chrome (versão 24.0.1312.57 m) e ele foi embora. Não houve atualização do Chrome pendente. Estranho, mas preocupante.

Estou executando o OSX 10.8.2. Minha demonstração funciona no Google Chrome (24.0.1312.57) e no Firefox (18.0.2), mas não no Safari (6.0.2). Veja a demonstração aqui: http://www.timseverien.nl/random/seismomap/

PS. Reiniciar o Safari não funciona.

Schermafbeelding 2013-02-13 om 12 16 50

@timseverien Qual versão do three.js você está usando? Outras coisas do webgl funcionam na instalação do Safari?

Ei, reiniciar o navegador não ajuda no meu caso também.

Mas depois que reiniciei todo o sistema - ele passou e agora funciona como se antes.
Parece algum tipo de falha no navegador WebGL -> cadeia de drivers gráficos.

IT_Crowd_Helpdesk_by_surlana

@mrdoob após verificar novamente em http://get.webgl.org/ parece um bug do Safari. Por que implementar um recurso que não funciona? Bem, estou executando o r55, se ainda for importante. Obrigado mesmo assim!

parece bug do Chrome também, foi capaz de reproduzi-lo novamente hoje.
Verificado em http://get.webgl.org/ e falha. Droga...

Oi! Primeira vez em torno de WebGL e Three.js e acho que é fantástico, mas ao escrever o exemplo desde o início da página, ele só funciona no Chrome ao usar renderer = new THREE.CanvasRenderer(); . Se eu usar renderer = new THREE.WebGLRenderer(); ele só funciona no Firefox. Eu fiz o teste nas últimas versões de ambos os exploradores no Ubuntu. Talvez seja apenas um problema com a minha placa gráfica, mas eu conto aqui para o caso.

Encontrei uma correção para o Chrome e o Chromium.
Digite na barra de localização chrome: // flags e habilite Substituir lista de renderização de software . Em seguida, reinicie o navegador. O WebGL agora deve funcionar.

Está funcionando!! Finalmente. Muito obrigado, porque foi realmente frustrante não poder trabalhar no Ubuntu usando o Chrome :)

Mas acho que você também deve ativar GPU compositing on all pages porque, em outro caso, algumas páginas não são renderizadas corretamente; Ao menos em meu caso.

sim, talvez isso também ajude. Eu habilitei quase tudo que pude encontrar relacionado à renderização da GPU haha.

Recebo o mesmo erro que https://github.com/mrdoob/three.js/issues/404#issuecomment -13455310

atualização: Para mim, agora funciona no Chrome. (Fevereiro de 2014)

Ainda reproduzido

@AlexTiTanium Quer compartilhar alguns detalhes?

Tive o mesmo problema com um aplicativo em que estava trabalhando algumas semanas / meses atrás, que estava funcionando, e hoje recebi a mesma mensagem que https://github.com/mrdoob/three.js/issues/404# issuecomment -13455310

Tentei definir (entre outros) "composição de GPU em todas as páginas" para ativado, nas sinalizações do Chrome, agora funciona novamente.

Eu tenho um MacBook executando 10.6.8 e Chrome 33.0.1750.152 e estou recebendo este mesmo erro. O Firefox 28.0 relata um erro semelhante: "Erro: WebGL: não é possível obter um contexto WebGL utilizável. TypeError: _gl é nulo. Erro ao criar contexto WebGL."

Como um ponto interessante, eu tenho outro MacBook (desta vez Pro), executando as mesmas versões do OSX e do Chrome, e funciona bem lá ("Substituir renderização de software" e "composição gpu" estão habilitados em ambos).

@zeepeeare Acho que você precisa atualizar para uma versão mais recente do OSX nessa máquina. É tudo uma questão de os navegadores colocarem algumas configurações na lista negra devido a drivers gráficos desatualizados.

Tudo certo! É o seguinte. Por padrão, o Chrome não ativa a aceleração de hardware em dispositivos Mac. Você precisa ir para a configuração do cromo e ativá-lo. verifique chrome: // gpu / para referência também.

"Encontrei uma solução para o Chrome e o Chromium.
Digite na barra de localização chrome: // flags e habilite Substituir lista de renderização de software. Em seguida, reinicie o navegador. O WebGL agora deve funcionar. "- cipri-tom

Isso funcionou para mim, obrigado.

Chrome, Ubuntu 15.04

Ubuntu 16.04

isso aconteceu de repente para mim depois de instalar o java e android sdk, eu não acho que está conectado, mas quem sabe ...

A resposta

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

Horray picture Horray  ·  3Comentários

boyravikumar picture boyravikumar  ·  3Comentários

yqrashawn picture yqrashawn  ·  3Comentários

akshaysrin picture akshaysrin  ·  3Comentários

ghost picture ghost  ·  3Comentários