Como um estudante que quer aprender sobre gráficos, vi pessoas recomendarem o curso GAMES101 de Yan Lingqi em inúmeros lugares. No entanto, como sou formado em artes, depois de ler este curso em geral, acho que é difícil aprender, então, em para estabelecer uma base sólida e facilitar minha revisão no futuro, decidi escrever um conjunto de notas relativamente completas e claras. Ao mesmo tempo, vou me referir a ppt nas notas e usar bilíngues em chinês e inglês para evitar conceitos vagos . Espero que, embora seja conveniente para mim, também possa atender às mesmas necessidades.
1 O que é computação gráfica? O que é Computação Gráfica?
- Computação Gráfica: O uso de computadores para sintetizar e manipular informações visuais
2 Por que estudar Computação Gráfica Por que estudar Computação Gráfica?
2.1 Aplicação
- Videogames de jogos (renderização realista e estilizada, se a tela é brilhante ou não pode refletir o efeito de iluminação global)
- Filmes (efeitos especiais são uma aplicação relativamente simples de gráficos, alguns efeitos de simulação são muitas vezes difíceis de conseguir, a captura facial do Avatar é um marco)
- Animação Animação (simulação de cabelo em Crazy Zootopia)
- Design (CAD, visualização de efeitos visuais em ambiente virtual: carro, casa)
- Visualização (Ciência, Engenharia, Medicina, Gráficos de Notícias)
- Realidade VirtualVirtual Reality
- Realidade Aumentada Realidade Aumentada
- Pintura digital Ilustração digital (Photoshop)
- Simulação Simulação (simulação física precisa: a influência da poeira e dos buracos negros na luz)
- Interfaces Gráficas de Usuário (GUI)
- Tipografia da fonte (usando matriz de pontos e vetor, The Quick Brown Fox Jumps Over The Lazy Dog usou até 26 letras em inglês e é frequentemente usado para testar fontes)
2.2 Desafios intelectuais fundamentais
- Cria e interage com mundo virtual realista
- Requer compreensão de todos os aspectos do mundo físico
- Novos métodos de computação, displays, tecnologias Novos métodos de computação, displays, tecnologias
2.3 Desafios Técnicos Desafios Técnicos
- Matemática de projeções (perspectivas), curvas, superfícies Matemática de projeções (perspectivas), curvas, superfícies
- Física da iluminação e sombreamento
- Representar/operar formas em 3D
- Animação / simulação Animação / simulação
- Este curso não cobre o ensino de programação de hardware,
programação de software gráfico 3D e hardware
Esqueça as razões acima - gráficos de computador são bons!
Esqueça os motivos anteriores - Computação Gráfica é INCRÍVEL!
3 Tópicos do Curso Tópicos do Curso
3.1 Rasterização
Projeto primitivos de geometria ( triângulos/polígonos 3D) na tela- Quebrar primitivos projetados em fragmentos (pixels
) - Padrões de ouro em videogames
(aplicativos em tempo real)
3.2 Curvas e malhas Curvas e malhas
- Como representar geometria em Computação
Gráfica
3.3 Ray Tracing Ray Tracing
- atire os raios da câmera através de cada pixel (Calcule a interseção e o sombreamento; Continue a rebater os raios até que atinjam as
fontes de luz) - O padrão ouro em animação/filmes (aplicativo off-line) atualmente possui um algoritmo de ray tracing em tempo real
Padrão ouro em animações/filmes (aplicativo off-line)
3.4 Animação/Simulação Animação/Simulação
- Animação de quadro-chave Animação de quadro-chave
- Sistema massa-mola Sistema massa-mola
3.5 GAMES101 não inclui GAMES101 NÃO é sobre
- Não inclui como usar APIs como OpenGL/DirectX/Vulkan
- A sintaxe de Shaders não inclui shaders
- Não inclui modelagem e desenvolvimento de jogos 3D usando Maya / 3DS MAX / Blender, ou VR / desenvolvimento de jogos usando Unity / Unreal Engine
- Não inclui visão computacional, aprendizado profundo Visão computacional / tópicos de aprendizado profundo, por exemplo, XYZ-GAN
Estamos aprendendo gráficos, não gráficos API!
Aprendemos gráficos, não APIs de gráficos!
3.6 Relação entre Computação Gráfica e Visão Computacional
-
Compreensão pessoal de
Computação Gráfica é gerar imagens a partir de modelos 3D (renderização) ou simulações no espaço 3D (simulação);
visão computacional é modelar por meio da segmentação semântica da imagem ou contar com aprendizado profundo para gerar outras imagens a partir de imagens
-
Os limites entre várias disciplinas e campos estão se tornando cada vez mais indistintos Sem limites claros
3 Referências
- Tiger Books é recomendado, a terceira edição é suficiente.
Steve Marschner e Peter Shirley, “Fundamentals of Computer Graphics”, 3ª edição ou posterior.
4 Atribuições
- Principalmente tarefas de programação com esqueletos de código fornecidos e imagem de máquina virtual
- Normalmente não mais do que 20 linhas de código por semana
- Usar linguagem C++
5 Use um ambiente de desenvolvimento integrado Use um IDE!
- IDE: Ambiente de Desenvolvimento Integrado Ambiente de Desenvolvimento Integrado
- Ajuda você a analisar um projeto inteiro e dá dicas sobre sintaxe/usos de funções de membro, etc.
- IDEs recomendados
- Visual Studio (somente Windows) / Visual Studio Code (plataforma cruzada)
- Criador Qt (pessoal)
- IDEs não recomendados (para programação C++)
- CLion, Eclipse
- Sublime Text, Vi/Vim, Emacs (nem mesmo IDEs)