CMP249 – Advanced Rendering
Readings
and Assignments
Readings
(O)
Required (C)
Complementary (S) Suplementary
Part I - Introduction to the Programmable
Graphics Pipeline and to Shader Programming
(C) The
GPU Computing Era, by John Nickolls and William J. Dally, IEEE Micro,
March/April 2010, Vol. 30 No 2, pp. 56-69.41-51.
(C) The
Direct3D 10 System, by David Blythe,
ACM Transactions on Graphics (TOG) Volume
25 , Issue 3 (July 2006), pp 724 -
734
(R) Global and Local
Deformations of Solid Primitives, by Alan Barr, Proc.
SIGGRAPH 1984, pp 21-30. (Nice paper explaining
transformations of normal vectors)
Part II -
Iluminação
Global e Modelos de Reflexão
(R) An Improved
Illumination Model for Shaded Displays, by Turner Whitted,
Communications of ACM, Vol. 23, No. 6, June 1980, pp. 343-349.
(R) Models of Light
Reflection for Computer Synthesized Pictures, by James Blinn,
Proc. SIGGRAPH 1977, pp. 192-198.
(R) A Reflectance
Model for Computer Graphics, by Robert
Cook and Kenneth Torrance, ACM TOG, Vol. 1, No. 1, January 1982,
pp. 7-24.
(R) The
Rendering Equation, by James T.
Kajiya, Proc. SIGGRAPH 1986,
pp. 143-150.
(S)
Seção 16.7 (Physically Based Illumination Models)
do Livro do Foley et al. (Computer Graphics: Principles and Practice),
que apresenta uma descrição dos modelos de
Torrance-Sparrow e de Cook-Torrance.
(S)
Seções 15.1 a 15.3 do Livro
"Princiiples of Digital Image Synthesis" Vol. 2, de Andrew Glassner
(R) A Framework for
Realistic Image Synthesis, by Donald
Greenberg et al., Proc. SIGGRAPH 1997,
pp. 477-494.
(R) Non-Linear
Approximation of Reflectance Functions, by Eric
Lafortune et al., Proc. SIGGRAPH 1997,
pp. 117-126.
(C) Measuring and
Modeling Anisotropic Reflection, by Greg Ward,
Proc. SIGGRAPH 1992,
pp. 265-272.
(C) Generalization of
Lambert's Reflectance Model, by Michael
Oren and Shree Nayar, Proc. SIGGRAPH 1994,
pp. 239-246.
(C) A Microfacet-based
BRDF Generator, by Michael
Ashikhmin et al., Proc. SIGGRAPH 2000,
pp. 65-74.
(R) A Ray Tracing
Algorithm for Progressive Radiosity, by John Wallace, Kells
Elmquist and Eric Haines,
Proc. SIGGRAPH 1989, pp. 315-324.
- FXComposer Lab Exercises
Baixe
os arquivos
de materiais (.fx) utilizados em aula encontram-se em
http://www.inf.ufrgs.br/~oliveira/CMP249_FX_Composer_lab_0?.zip,
'?' assume os valores de 1 a 5.
1)
Modifique o material/efeito implementado no arquivo
"fx_06_Gouraud_tex.fx" (iluminação a nível de
vértice e com
mapeamento de textura) para produzir iluminação a
nível de pixel/fragmento,
mantendo o mapeamento de textura. Em outras palavras, modifique o
algoritmo de
modo a transformar esta implementação de Gouraud shading
em Phong shading.

2)
O
arquivo "fx_07_Reflection_Map_World_space.fx" implementa reflective
environment mapping. Neste caso, o vetor de reflexão
utilizado como coordenadas
de textura para amostrar o cube map
é calculado no Sistema de Referência
do Universo (World Space). Modifique o algoritmo para que o vetor
de
reflexão seja calculado com respeito ao Sistema de
Referência da Câmera.

3)
Modifique sua implementação de reflective
environment mapping para suportar, de modo incremental, os
seguintes efeitos:
(a) Refração
(b) Efeito Fresnel
(c) Dispersão Cromática
4) Implemente bump mapping em
no espaço tangente da surperfície. Utilize normal maps para representar
as componentes de perturbação do vetor normal
Normal, nas direções dos vetores Tangente e Binormal.

5) Acrescente bump mapping a sua implementação do efeito
Fresnel com dispersão cromática.

Assignments
1o Trabalho Prático: Acrescentando refração,
dispersão cromática e efeito Fresnel ao rendering de
Relief Mapping
Baixe o pacote
de relief mapping
para o FX Composer aqui.
Data de
divulgação: 19/10/2011
Data de entrega
: 26/10/2011
2o Trabalho Prático: Explorando o
software PBRT
Utilize o software PBRT
para gerar algumas imagens fotorealisticas. Para se familiarizar com o
código e a estruturas de dados utilizadas pelo programa,
modifique o código original e gere imagens que ilustrem o uso da
modificação. Por exemplo, implemente código para
calcular Phong shading.
Data de
divulgação: 26/10/2011
Data de entrega
: 09/11/2011
3o Trabalho Prático: Implementando o
modelo de Cook-Torrance em um ray tracer
Baixe o pacote de ray
tracing para o FX Composer aqui.
Data de
divulgação: 16/11/2011
Data de entrega
: 23/11/2011
4o Trabalho Prático: Radiosidade Progressiva
(Progressive
Radiosity)
Obtenha
aqui os arquivos fontes de uma
implementação de radiosidade progressiva. Para
compilar este código utilizando o Visual Studio, você
precisará utilizar apenas as bibliotecas OpenGL32.lib,
glut32.lib e glu32.lib. Entre os arquivos fontes, você
encontrará duas alternativas para cálculo de fatores de
forma: ffactors_simple.cpp e ffactors_Wallace.cpp.
ffactors_simple.cpp implementa um cálculo de fatores de forma
bastante rudimentar, enquanto ffactors_Wallace.cpp implementa o
cálculo de fatores de forma descrito no artigo A Ray Tracing
Algorithm for Progressive Radiosity, by John Wallace et
al.
As imagens abaixo mostam o Cornell box e foram geradas utilizando
ffactors_simple.ccp com flat shading (esquerda), ffactors_Wallace.cpp
com flat shading (centro) e ffactors_Wallace.cpp
com Gouraud shading (direita - claramente superior
às demais). As imagens da esquerda e do centro podem ser obtidas
diretamente utilizando o código fonte fornecido. Nestes casos,
os fatores de forma são calculados no centro dos elementos e a
cor resultante é aplicada a todo o elemento (flat shading).
Descrição do
trabalho: Modifique o código fonte fornecido para os
fatores de forma sejam calculados nos vértices dos elementos e
aplique Gouraud shading para obter um resultado semelhante ao mostrado
na imagem da direita.
Data de
divulgação: 23/11/2011
Data de entrega
: 07/12/2011
Projetos Finais
Os projetos finais da
disciplina deverão abordar um assunto relacionado a algum dos
tópicos da disciplina.
Cada estudante deve preparar,
além da implementação, um relatório
ilustrado na forma um artigo contendo 6 a 8 páginas
descrevendo o seu projeto final. O artigo deve conter:
Resumo;
1) Introdução
(contextualização do problema abordado);
2) Breve descrição de
trabalhos relacionados;
3) Descrição do
trabalho realizado;
4) Resultados e
Limitações (da técnica implementada);
5) Conclusões e
(possíveis extensões ou trabalhos futuros)
6) Referências
bibliográficas.
Para formatação do
artigo, utilize as definições disponibilizadas em na
seção "Technical Papers" disponível em http://www.siggraph.org/publications/instructions/.
O objetivo da preparação deste relatório na forma
de artigo é familiarizá-los e exercitar o processo de
escrita e formatação de artigos técnicos.
Familiaridade com este estes processos é fundamental para todo
estudante de
pós-graduação.
Copyright (C) 2005-2011 Manuel Menezes de Oliveira Neto