Fazendo uma retrospectiva do que foi implementado, a engine possui:
1- Uma classe denominada paSDL, responsável por gerenciar recursos básicos em SDL, como criação de surfaces, desenho de surfaces e controle de game loop.
2- Uma classe denominada paSDLSprite, responsável por desenhar sprites com quadros.
3- Uma classe denominada paGameLoop, responsável por oferecer uma interface semi implementada para classes de game loop para aqueles que desejam uma abordagem mais complexa para seu jogo.
Agora vou falar sobre a implementação inicial da classe OpenGL denominada paOpenGL.
O plano é utilizar a engine, além do projeto "Ticket to Ride", também para o projeto de Computação Gráfica, ou seja, ela deve possuir um mínimo de suporte 3D.
O plano inicial foi integrá-la à paSDL, de forma que a engine OpenGL tratasse o modo de desenho SDL quando esta estivesse em cena. As primeiras alterações necessárias envolveram pensar em como os métodos continuariam sincronizando e limpando a tela, mas em OpenGL. Para tal, pensei em um sistema de heranças em que paOpenGL é uma paSDL, levando em consideração o desenho. Provavelmente essa estrutura necessitará de novas modularizações, mas por enquanto está suficiente para resolver o problema.
Na abordagem utilizada, portanto, esquematizei que a janela é criada na paSDL e é configurada na paOpenGL. As principais configurações envolvem limpeza dos buffers, escolha da cor de limpeza da tela padrão, habilitação do teste de profundidade e posicionamento da área de desenho (view port).
Ainda criei métodos de retorno de strings contendo nome da placa de vídeo e seu vendedor, e também da versão OpenGL usada; método para seleção da qualidade de renderização e escolha do modo de shade.
Essas alterações ja possibilitaram o desenho usando OpenGL na tela.
No próximo post falarei das últimas integrações feitas na engine antes da data de criação do blog.
Nenhum comentário:
Postar um comentário