Como posso criar um efeito de "céu noturno" no OpenGL?

10

Estou criando um jogo usando o OpenGL e quero renderizar o efeito de um céu noturno com algumas estrelas.

Quero ter um efeito preto brilhante no céu para que pareça bom. Alguém poderia ajudar em como proceder com isso ou fornecer um link para um bom tutorial?

noddy
fonte

Respostas:

11

Abordagens típicas são skyboxes ou skydomes . Ambas as técnicas envolvem a criação de uma geometria simples que é sempre renderizada em uma posição fixa em relação à vista e a aplicação de uma textura. A qualidade do efeito resultante pode depender muito da qualidade do trabalho artístico de textura; portanto, se você não tiver grandes habilidades artísticas, poderá optar por outra coisa. Porém, ferramentas como Terragen podem ajudar a produzir arte decente, e essa pergunta tem um conjunto de links para outras ferramentas de natureza semelhante.

Uma abordagem menos obviamente dependente da arte é fazer a coisa toda proceduralmente. Você pode criar um skydome baseado em cor de vértice ( links e informações aqui ) que permitirá ajustar as cores de acordo com alguns modelos empíricos (ou outros) para colorir o céu - o modelo de Preetham e Shirley é particularmente bom , se bem me lembro.

Você pode aplicar a geração procedural de campos estelares que renderiza perto da cúpula do céu (talvez como um sistema fixo de partículas, ou através de respingos de textura, ou o que seja).

Comunidade
fonte