CMP249 –  Advanced Rendering

Readings and Assignments

Readings

     (R) 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.

Phong

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.

Reflection Mapping

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

Refract_teapot Fresnel with Chromatic Dispersion


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.

Bump mapping UFRGS


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

Fresnel with Bump mapping


Assignments

  1o Trabalho Prático: Acrescentando refração, dispersão cromática e efeito Fresnel ao rendering de Relief Mapping

Relief Mapping with Chromatic Dispersion and Fresnel Effect      Baixe o pacote de relief mapping para o FX Composer aqui.        

        Data de divulgação: 
                                                
                   
        Data de entrega :     


 


 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:  
        Data de entrega :       


  3o Trabalho Prático: Implementando Modelos de Reflexão no FX Composer

        Parte I: Implementando o modelo de Cook-Torrance em um ray tracer
   
                   Baixe o pacote de ray tracing  para o FX Composer aqui.

        Parte II: Implementando o modelo de reflexão anisotrópica da Ashikhmin-Shirley

        Data de divulgação: 

        Data de entrega :       



 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.


          radiosity with naive form factors
             radiosity with Wallace et al. form factors              radiosity with Wallace form factors and Gouraud shading       

       
        Data de divulgação:  
        Data de entrega :         

 



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 4 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-2013 Manuel Menezes de Oliveira Neto