Que idioma devo aprender a me preparar para o webgl?
Pergunta
Estou pensando em fazer um jogo em 3D com o WebGL (apenas para fins conceituais, por enquanto), mas tudo o que nunca fiz em 3D e apenas programei no PHP na maior parte. Pelo que entendi, o WebGL é JavaScript, que eu uso fortemente em todos os meus projetos, mas também é meu entendimento que é muito diferente do JavaScript comum. Se eu quisesse começar a começar a tentar descobrir como fazer aplicativos 3D com o WebGL, haveria um certo idioma que me ajudaria a entender como fazer isso melhor?
Solução
Para ser sincero, você provavelmente é melhor mergulhar bem, em vez de tentar aprender outro idioma primeiro. A maioria da programação WebGL está em JavaScript, mas alguns estão no GLSL (a linguagem GL Shader, para a parte do código que é executado na sua placa de gráfico) e, embora você possa aprender isso experimentando outra versão do OpenGL, isso não seria têm vantagens óbvias sobre apenas mergulhar diretamente no WebGL. É fácil baixar um navegador que o suporta.
Eu tenho me ensinado webgl por traduzindo alguns tutoriais antigos do OpenGL e documentando as coisas à medida que eu avança; Como você, eu não tenho um fundo 3D real, então você pode achar úteis.
Outras dicas
Eu recomendo fazer alguns programas JavaScript que usam o recurso Canvas2D antes de passar para o 3D. A API do WebGL é emocionante, mas haverá outras partes em seus programas.
Dê uma olhada em C, a língua nativa do OpenGL, compre o livro Vermelho e brinque um pouco. É bom ver de onde o WebGL é influenciado.
Em processamento é uma boa caixa de areia para aprender o OpenGL.
Está disponível para Windows, Linux e Mac OS X.
Oferece:
- Sintaxe do tipo Java
- ambiente de desenvolvimento independente
- um contexto visual para gráficos 2D
- um Biblioteca OpenGL
- Bom recursos de aprendizagem
E é grátis
Webgl não é diferente de JavaScript, isso é JavaScript. Se você quiser aprender o webgl apenas mergulhar. Eu sugiro visitar o Aprendendo tutoriais da WebGL. Em seguida, escolha uma biblioteca ou estrutura WebGL. Este Stackoverflow.com Resposta tem uma lista de bibliotecas WebGL para escolher.