IA725 - Computação Gráfica I

Calendário de Atividades

Primeiro Semestre de 2023


Aula
Dia
Tópico
Leitura/Vídeo
Exercícios
1
08/março
Fluxo de Renderização (OpenGL) Hughes: Capítulo 1 e Seções 38.3 (1) Projeto Ogldev, Etay Meiri: Instruções para instalação dos tutoriais do Projeto Ogldev (instalação de bibliotecas complementares no Ubuntu)
(2) Instalação dos projetos demos do livro OpenGL SuperBible
(3) Instalação dos projetos demos do livro OpenGL Shading Language Cookbook
2
(1) Instalação do driver de OpenGL.
(2) Vídeos de instalação de um ambiente de desenvolvimento de aplicativos gráficos em: Windows; Mac; Ubuntu.
(3) Hughes: Capítulo 16.
(4)Rendering Pipeline Overview.
(5)OpenGL API Documentation.
(6) Freeglut 3.0.0/GLFW 3.3
3
15/março
Revisão de Conceitos Matemáticos Hughes: Capítulo 7
4
(1) Points, Vectors and Coordinate Systems (why are points and vectors different?)
(2) Homogeneous Coordinates
(3)Ray-sphere intersection
(4)Signed 2D triangle area from the cross product of edge vectors
5
22/março
Modelagem Geométrica Hughes: Capítulo 8, 9, Seções 22.1 - 22.3; 23.2; 24.1 - 24.4, 24.6 (1) Analise os programas: Tutorial 02, Tutorial 03, Tutorial 04, Tutorial 05, Tutorial 10, Tutorial 27, Tutorial 32, SB7 - Cubicbezier.
(2) Implemente três programas: um cubo (marrom), uma "esfera" aproximada (verde) e dois patches (Bézier cúbico) do bule de Utah conectados (lilás), centrados na origem.
6
(1) OpenGL Vertex Array
(2) Sending data to a shader using vertex attributes and vertex buffer objects
(3) Dados de um cubo
(4) Dados (indexados) de um cubo
(5) OpenGL Cylinder, Prism & Pipe
(6) OpenGL Sphere
(7) Dados (indexados) de uma esfera de 162 vertices
(8) Towards Uniform Online Spherical Tesselation (Section 3)
(9) Three Approaches to Rendering Surface Patches
(10) Modern OpenGL Tutorial 07: dados originais do bule de Utah
(11) Extrato de OpenGL SuperBible (Geometry Shaders e Tesselation Shaders)
(12) Extrato de Cookbook
(13) Formato Wavefront Material Template Library (MTL)
(14) Tesselation Shader
7
29/março
Transformações Geométricas Hughes: Capítulos 10 e 11 (1) Analise os programas: Tutorial 06, Tutorial 07, Tutorial 08, Tutorial 11, Tutorial 15.
(2) Implemente uma cena de uma mesa (construída por cubos redimensionados) sobre a qual estão o bule de Utah e a "esfera".
(3) Implemente o manipulador arcball para girar a mesa, junto com os objetos apoiados nela, conforme os eventos de interações do usuário via mouse (glutMotionFunc), como demonstra Tutorial 15.
8
(1) OpenGL Transformation
(2) How to generate constant time interval for uniform movement?(glut)
(3) Quaternions, Interpolation and Animation
(4) Fun with matrices
(5) Tutorial 3: Matrices
9
05/abril
Técnicas de Interação Hughes: Seção 11.6 e Capítulo 21
10
(1) Arcball Rotation Control ( codes)
(2) Rotations (Quaternions using glm)
(3) Response Times: The 3 Important Limits
11
12/abril
Transformações Projetivas Hughes: Capítulo 13 (1) Analise os programas: Tutorial 12, Tutorial 13, Tutorial 14, Tutorial 15.
(2) Adicione à cena da mesa com o patch de Bézier e a "esfera" duas funcionalidades: (a) seleção de tipo de projeção, paralela e perspectiva, via glutCreateMenu; (b) navegação por meio do cenário de forma análoga às interações (glutSpecialFunc) implementadas no Tutorial 14 com a inclusão de mais duas chaves de controle: GLUT_KEY_F1 e GLUT_KEY_F2 para move a câmera em relação ao vetor Up in- e decrementalmente.
12
(1) OpenGL Projection Matrix
(2) Camera and Clipping Plane
(3) Unity Camera Controls, Part 1: Core Functionality e Unity Camera Controls, Part 2: Mouse Controls
13
19/abril
Exclusão (Culling) e Recorte (Clipping) Hughes: Seções 13.4, 15.6.3, 36.5 - 36.8 (Akenine-Möller: Seções 14.2-14.6) (1) Implemente e analise o código apresentado em Grasshopper.
(2) Adicione à cena de mesa com icosaedro subdividido em ordem 2 e o bule de Utah o controle interativo do plano de clip via a rolagem do mouse (glutMouseWheelFunc).
(3) Capture 2 imagens de cena recortada, uma na vista paralela e outra na vista perspectiva.
14
(1) Vertex Post-Processing.
(2) Clip Planes.
15
26/abril
Modelos de Cor Hughes: Capítulo 28 (1) Analise o programa: Tutorial 09
(2) Modifique fragment shader do Tutorial 09 de forma similar ao vídeo para ver impactos sobre as cores renderizadas.
(3) Implemente uma função de edição das componentes H,S,V da cor do bule de Utah na cena da mesa com o bule e o icosaedro por meio das seguintes interações (glutKeyboardFunc): H aumenta o ângulo e h reduz o ângulo no disco de cor em 10 unidades (croma); S aumenta o branco e s reduz o branco em 10 unidades (saturação), e V aumenta o brilho e v reduz o brilho em 10 unidades (luminância)
(4) Capture a cena renderizada com o triângulo e o icosaedro em 3 diferentes cores.
16
(1) RGB to HSV and HSV to RGB
(2) OpenGL Tutorial 24 - Color
(3) Using GLSL mix() to combine colors in OpenGL
(4) OpenGL Interpolation Qualifiers
17
03/maio
Modelos de Iluminação Local/Espalhamento e Tonalização Hughes: Seção 14.11, Caps. 26 e 27, Seções 33.4-5 (1) Analise os programas: Tutorial 17, Tutorial 18, Tutorial 19, Tutorial 20, Tutorial 21, Tutorial 35, Tutorial 36, Tutorial 37.
(2) Adicione à cena da mesa com o icosaedro tesselado em ordem 2 e o bule de Utah uma fonte de luz branca móvel. Aplique o modelo de iluminação Blinn-Phong e os três tipos de tonalização (Flat, Gouraud e Phong) para "colorir" os três objetos da cena. Adicione esta nova funcionalidade como um item, contendo 3 subitens ao Menu criado anteriormente. Através das interações com as teclas (x/X,y/Y,z/Z) move-se a fonte de luz, e com as teclas (a/A,d/D,e/E) as propriedades ka, kd e ks do material do bule (glutKeyboardFunc), de forma análoga aos sliders implementados na demo. As letras minúsculas e maísculas de- e incrementam os valores atuais por passos pré-fixados. (3) Capture 3 imagens da cena renderizada, uma de cada modelo de tonalização.
18
(1) Advanced Lighting
(2) OpenGL Gouraud Shaded Triangle Demo using GLSL
(3) OpenGL - lighting with the Phong reflection model (pat 1 of 2)
(4) OpenGL - lighting with the Phong reflection model (pat 2 of 2)
(5) Gouraud and Phong demos (GLSL)
19
10/maio
Percepção Visual Hughes: Capítulo 5
20
(1) How your eyes trick your mind
(2) Gestalt Principles of Perception - With Examples
(3) Motion Induced Blindness
-
17/maio
Afastamento por licença-médica
21
24/maio
Renderização e Rasterização Hughes: Caps. 15, 30, 31 e 32
22
(1) What is Rendering? Rasterization, Ray Tracing, Radiosity.
(2) What is the difference between Ray Tracing and Rasterization?
(3) The Beauty of Bresenham Algorithm
23
31/maio
Texturização Hughes: Capítulo 20 (1) Analise os programas: Tutorial 16, Tutorial 25 e Tutorial 26.
(2) Adicione à cena da mesa com a esfera e o patch de Bézier uma textura de madeira para a mesa, uma textura bump para a esfera, e um patch bem polido e liso (opcional, de material refletor).
24
(1) OpenGL - normal maps
(2) OpeGL Tutorial 51: Cube Map Reflections
(3) Case Study: Vector Displacement Mapping in Real-Time
(4) Mathematics of glTexGen
(4) Panorama To Cubemap: Converting to/from cubemaps codes.
25
07/junho
Sombra Akenine-Möller, Seção 9.1. (1) Analise os programas: Tutorial 23 e Tutorial 24, Tutorial 40, Tutorial 43 e Tutorial 47
(2) Adicione à cena da mesa com a esfera e o patch de Bézier sombras em relação à fonte de luz branca. Adicione um plano debaixo da mesa para renderizar a sombra da mesa.
26
(1)Shadow Filtering
(2)Shadow Acne
(3)Fragment Processing and the Framebuffer
(4)Shadows
(5) OpenGL - depth and stencil buffers
(6) Stencil Testing
(7) GPU Gems: Capítulo 9
(8) GPU Gems 3: Capítulo 11
27
14/junho
Visibilidade Hughes: Capítulo 36
28
(1) Binary space partitioning tree
(2) Binary space partitioning tree tutorial
29
21/junho
Processadores Gráficos Modernos Hughes: Capítulo 38 (1) Analise os programas Tutorial 28, Tutorial 33, Tutorial 35, Tutorial 36, Tutorial 37 e Tutorial 41
30
(1)Instancing
(2)Transform Feedback
(3)Deferred shading
(4)OpenGL 3D Game Tutorial 44: Gaussian Blur
(5)NVIDIA Nsight Graphics
31
28/junho
Avaliação individual (escrita)

Voltar para a página do curso.