Pergunta

Qual é a maneira mais rápida de acelerar o OpenGL ES 1.x?

Vamos supor que eu não saiba nada sobre OpenGL (o que não é totalmente verdade, mas já faz um tempo desde a última vez que usei OpenGL).Estou mais interessado em aprender isso para desenvolvimento relacionado ao iPhone, mas também estou interessado em aprender como funciona em outras plataformas.

Eu encontrei o livro Guia de programação OpenGL ES 2.0, mas estou preocupado que possa não ser a melhor abordagem porque se concentra no 2.0 em vez do 1.x.Meu entendimento é que 2.0 não é compatível com versões anteriores de 1.x, então posso perder alguns conceitos importantes.

Observação:Para obter respostas sobre como aprender OpenGL geral, consulte https://stackoverflow.com/questions/62540/learning-opengl


Alguns recursos que encontrei:

Foi útil?

Solução

Existe alguma documentação no próprio iPhone SDK.

Fora isso, apenas pegue o que você sabe sobre OpenGL (ou aprenda isso por outros meios) e esqueça todas as coisas que são "antigas" (listas de exibição, modo imediato, coisas que estão no OpenGL, mas não estão diretamente relacionadas a apenas desenhando triângulos).Basicamente, desaprender tudo o que foi declarado obsoleto no OpenGL 3.0.

GL ES 1.x é para dispositivos bastante simples.O que você tem é uma maneira de desenhar geometria (buffers de vértices), gerenciar texturas e configurar alguns estados de funções fixas (iluminação, combinadores de textura).Isso é praticamente tudo o que há para fazer.

Outras dicas

Se eu puder divulgar meu próprio trabalho, direciono você para minha postagem em http://www.sunsetlakesoftware.com/2008/08/05/lessons-molecules-opengl-es.Não é a melhor introdução geral ao OpenGL ES e se torna bastante técnico rapidamente, mas é minha opinião sobre o assunto com base na minha experiência em escrever Moléculas.Além disso, comecei a ler o livro "Gráficos 3D móveis:com OpenGL ES e M3G".

Concordo com a sugestão de que a melhor maneira de aprender é fazendo.Comecei sem saber nada sobre OpenGL e três semanas depois coloquei o Molecules para análise na App Store.Depois de ter um conjunto claro de objetivos ("OK, preciso desenhar uma esfera 3D", "Agora preciso girá-la sob demanda"), será fácil encontrar exemplos ou partes da documentação que se aplicam apenas ao tarefa em que você está trabalhando.

Existem muitos exemplos de código por aí, embora muitos deles usem o modo imediato e outras chamadas que não são suportadas no OpenGL ES. Eu adoraria aumentar a lista liberando a fonte para Molecules, mas o NDA da Apple impediu isso até agora. O código-fonte para moléculas está agora disponivel.

O vídeo da aula que ministrei sobre OpenGL ES 1.1 já está disponível para download como parte do meu curso de primavera no iTunes U.As notas para essa sessão podem ser encontradas aqui.E os vídeos do semestre de outono tenha uma aula sobre OpenGL ES 2.0.

Além disso, Philip Rideout lançou um excelente livro sobre desenvolvimento OpenGL ES 1.1 e 2.0 para iPhone, chamado Programação 3D para iPhone.Eu recomendo.

Para sua informação, o código das moléculas de Brad Larsons já está disponível aqui.

Achei isso bastante útil ao começar com OpenGL ES, apenas para ver qual abordagem seria adotada ao lidar com ES em oposição ao GL normal.

http://www.zeuscmd.com/tutorials/opengles/index.php

Como foi mencionado anteriormente, também existem alguns exemplos disponíveis no site do desenvolvedor do iPhone:

Você pode querer dar uma olhada esse excelente tutorial de Jef LaMarche para OpenGL ES no iPhone.

Depois de passar muito tempo desenvolvendo 3D, percebi que na maioria dos casos a melhor maneira é aprender com exemplos e avançar com eles à medida que avança.

Comece definindo para si mesmo uma meta a ser alcançada (por exemplo - implementar um sistema de partículas.isso inclui o uso de modos de mesclagem, texturas, cores de vértices, lotes e transformações) e então comece com o elemento mais simples - desenhar e girar um quadrante.A partir daí, adicione texturas, adicione mais quadrantes, etc...Ao fazer isso, você precisará de algumas informações sobre a sintaxe - isso você pode encontrar em muitos livros, mas a melhor fonte (muito chata) é a publicação do comitê de especificação que pode ser encontrada aqui: http://www.khronos.org/opengles/spec/

Mesmo assim você encontraria muitos problemas, bem, quando tiver um problema, procure seu melhor amigo nestas situações:demonstrações e exemplos!
Você pode encontrar muitos exemplos de fontes para o iPhone on-line e no site da Apple, então baixe-os, copie e cole o que você precisa e altere de acordo com suas necessidades.

Divirta-se.

Se você baixou os exemplos do SDK do iPhone, verifique o arquivo EAGLview do crash landing.É uma implementação bastante simples de uma visualização GLES que pode ser importada e usada de forma bastante limpa em outro projeto.Há outra classe nesse projeto chamada Texture2d (se bem me lembro), que também é bastante interessante se você gosta de usar GLES para 2D.

Também posso sugerir o Android - é fácil de obter e você pode ter um simulador funcional muito rapidamente.Além disso, ele usa v1.0, até onde eu sei.
Poderia haver mais tutoriais, mas até o APIDemos fornecido pelo Google tem introdução ao OpenGL ES.Certamente achei útil.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top