Pergunta

com alguns amigos começamos este projeto baseado em Java independente de plataforma amador para um jogo de simulador de combate espacial (algo como a saga morto há muito tempo de comandante de ala). Nenhum de nós, porém, é um programador 3D, então a estrada vai ser longo.

A minha pergunta é: em nosso lugar que você começar a aprender OpenGL (talvez através de GLUT) ou há uma possibilidade melhor hoje? E sobre Direct3D? Todos os livros que você pode sugerir? Nós solicitados um casal, especificamente

  • Dave Shriner OpenGL Guia de Programação
  • de Lucas Benstead Começando Programação OpenGL Jogo
Foi útil?

Solução

Considere o uso de um motor 3D de código aberto como Ogre3D ou Irrlicht . Desta forma, você pode se concentrar em fazer um jogo:. Conteúdo, jogabilidade

Ambos os motores definir uma camada de abstração que pode mapear para Direct3D ou OpenGL backends.

EDIT: no começo eu não percebi que você mencionou Java, de qualquer maneira ambos os motores suportam ligações Java

.

Outras dicas

Se você decidir aprender os gráficos de baixo nível de programação em vez de usar um nível motor 3D superior como Ogre3D ou Irrlicht, eu recomendo começar com OpenGL ES 2.x, que é um subconjunto de OpenGL.

OpenGL ES 2.X é um subconjunto simplificado de OpenGL para sistemas embarcados com hardware programável tal como telefones. Por exemplo, em OpenGL pode haver várias maneiras de realizar tarefas, mas no Open GL ES 2.x, só há um caminho. Porque há menos escolha em OpenGL ES 2.x, há muito menos para aprender a dominar OpenGL ES 2.X. O OpenGL ES 2.0 Guia de programação é de 480 páginas, eo OpenGL Guia de Programação, sétima edição é de 936 páginas.

Além disso, usando OpenGL ES 2.X lhe dará uma audiência hardware mais amplo para o seu jogo. Porque é um subconjunto de OpenGL, o código escrito para OpenGL ES 2.X funcionará em um sistema de OpenGL completa com pouca ou nenhuma modificação. gráficos do seu jogo pode trabalhar em uma variedade de máquinas de destino a partir de desktops para telefones inteligentes.

Você pode escolher um motor 3D de código aberto como Ogre3D .

Mas se você realmente quer escrever o motor de gráficos em seu próprio país (muito interessante), começar a aprender álgebra linear. Não o material bastante avançado, mas você deve ser muito confortável com expressar-se em vetores de tradução, matrizes de rotação e assim por diante.

Se você já está familiarizado com esses conceitos, escolha Direct3D ou OpenGL - isso depende mais da plataforma disponível. Se você gosta de código em um ambiente Mircosoft, escolha Direct3D, tudo o resto, escolha OpenGL.

A escolha de bibliotecas adicionais depende da linguagem de programação. Alternativas melhores do que GLUT são provavelmente SDL (C) ou Qt (C ++).

Bem, se você nunca fez gráficos 3D de programação antes, vá para a simplicidade e aprender-as-you-go. Costumava haver um conjunto de tutoriais realmente agradáveis ??por NeHe (Neon Helium) para OpenGL, que era o caminho que eu tomei.

Eu encontrei OpenGL mais fácil começar com a curva de aprendizagem não é tão íngreme. Você pode obter resultados rápidos que ajuda muito com a frustração inicial / motivação. Toneladas de palavras ajudam etc. de aviso embora - programação em 3D é inerentemente complexo e você vai gastar mais energia na construção de tecnologia de gráficos do que o próprio jogo. Considerar a adoção Ogre3D se você realmente quer ver o jogo terminou: o) (disclaimer: Eu sei que há também outros motores, mas Ogre é estável, comprovada e vem com uma boa documentação)

Se você quiser ficar independente de plataforma DirectX não vai fazer como ela está restrita a plataformas Microsoft Windows

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