Polygon Rendering Flat Rendering Goraud Rendering Uses Phong
![Polygon Rendering Flat Rendering Goraud Rendering Uses Phong Reflectance Phong Rendering Polygon Rendering Flat Rendering Goraud Rendering Uses Phong Reflectance Phong Rendering](https://slidetodoc.com/presentation_image_h2/fc6aa6f119efbf53cbb299c1125fd4a1/image-1.jpg)
![Flat Rendering One normal per triangle Constant color per triangle Computed using reflectance model. Flat Rendering One normal per triangle Constant color per triangle Computed using reflectance model.](https://slidetodoc.com/presentation_image_h2/fc6aa6f119efbf53cbb299c1125fd4a1/image-2.jpg)
![Diffuse Illumination & Flat Rendering (Image removed, see Prof. Varshney’s slides). Image courtesy, Foley, Diffuse Illumination & Flat Rendering (Image removed, see Prof. Varshney’s slides). Image courtesy, Foley,](https://slidetodoc.com/presentation_image_h2/fc6aa6f119efbf53cbb299c1125fd4a1/image-3.jpg)
![Gouraud Rendering One normal per vertex Compute color per vertex Interpolate color per pixel Gouraud Rendering One normal per vertex Compute color per vertex Interpolate color per pixel](https://slidetodoc.com/presentation_image_h2/fc6aa6f119efbf53cbb299c1125fd4a1/image-4.jpg)
![Diffuse & Gouraud Shading (Image removed, see Prof. Varshney’s slides). Image courtesy, Foley, van Diffuse & Gouraud Shading (Image removed, see Prof. Varshney’s slides). Image courtesy, Foley, van](https://slidetodoc.com/presentation_image_h2/fc6aa6f119efbf53cbb299c1125fd4a1/image-5.jpg)
![Specular & Gouraud Shading (Image removed, see Prof. Varshney’s slides). Image courtesy, Foley, van Specular & Gouraud Shading (Image removed, see Prof. Varshney’s slides). Image courtesy, Foley, van](https://slidetodoc.com/presentation_image_h2/fc6aa6f119efbf53cbb299c1125fd4a1/image-6.jpg)
![Phong Rendering One normal per vertex Interpolate normal per pixel Interpolate each component of Phong Rendering One normal per vertex Interpolate normal per pixel Interpolate each component of](https://slidetodoc.com/presentation_image_h2/fc6aa6f119efbf53cbb299c1125fd4a1/image-7.jpg)
![How do we interpolate a surface normal? Keep in mind that a normal is How do we interpolate a surface normal? Keep in mind that a normal is](https://slidetodoc.com/presentation_image_h2/fc6aa6f119efbf53cbb299c1125fd4a1/image-8.jpg)
![Specular & Phong Rendering (Image removed, see Prof. Varshney’s slides). Image courtesy, Foley, van Specular & Phong Rendering (Image removed, see Prof. Varshney’s slides). Image courtesy, Foley, van](https://slidetodoc.com/presentation_image_h2/fc6aa6f119efbf53cbb299c1125fd4a1/image-9.jpg)
![Gouraud vs. Phong Gouraud is faster Interpolate 1 value instead of 3 Don’t need Gouraud vs. Phong Gouraud is faster Interpolate 1 value instead of 3 Don’t need](https://slidetodoc.com/presentation_image_h2/fc6aa6f119efbf53cbb299c1125fd4a1/image-10.jpg)
![Discussion Light Source and/or Viewer at infinity simplifies calculations at the cost of realism Discussion Light Source and/or Viewer at infinity simplifies calculations at the cost of realism](https://slidetodoc.com/presentation_image_h2/fc6aa6f119efbf53cbb299c1125fd4a1/image-11.jpg)
![Open. GL Support for Illumination Ambient, Diffuse, Specular illuminations are supported Users have to Open. GL Support for Illumination Ambient, Diffuse, Specular illuminations are supported Users have to](https://slidetodoc.com/presentation_image_h2/fc6aa6f119efbf53cbb299c1125fd4a1/image-12.jpg)
![Open. GL Lights GLfloat light. A_position[ ] = {1. 0, 0. 0}; GLfloat light. Open. GL Lights GLfloat light. A_position[ ] = {1. 0, 0. 0}; GLfloat light.](https://slidetodoc.com/presentation_image_h2/fc6aa6f119efbf53cbb299c1125fd4a1/image-13.jpg)
![Open. GL Lights Open. GL specifies at least 8 light sources GL_LIGHT 0. . Open. GL Lights Open. GL specifies at least 8 light sources GL_LIGHT 0. .](https://slidetodoc.com/presentation_image_h2/fc6aa6f119efbf53cbb299c1125fd4a1/image-14.jpg)
![gl. Light*() gl. Light{if}(GLenum light, GLenum pname, TYPE param) gl. Light{if}v(GLenum light, GLenum pname, gl. Light*() gl. Light{if}(GLenum light, GLenum pname, TYPE param) gl. Light{if}v(GLenum light, GLenum pname,](https://slidetodoc.com/presentation_image_h2/fc6aa6f119efbf53cbb299c1125fd4a1/image-15.jpg)
![Spotlight Cutoff Direction Spotlight Cutoff Direction](https://slidetodoc.com/presentation_image_h2/fc6aa6f119efbf53cbb299c1125fd4a1/image-16.jpg)
![gl. Light*() GLfloat light 0_ambient[ ] = {0. 0, 0. 1, 0. 0, 1. gl. Light*() GLfloat light 0_ambient[ ] = {0. 0, 0. 1, 0. 0, 1.](https://slidetodoc.com/presentation_image_h2/fc6aa6f119efbf53cbb299c1125fd4a1/image-17.jpg)
![Object Materials Object colors under illumination are computed as a component-wise multiplication of the Object Materials Object colors under illumination are computed as a component-wise multiplication of the](https://slidetodoc.com/presentation_image_h2/fc6aa6f119efbf53cbb299c1125fd4a1/image-18.jpg)
![gl. Material*() gl. Material{if}(GLenum face, GLenum pname, TYPE param) gl. Material{if}v(GLenum face, GLenum pname, gl. Material*() gl. Material{if}(GLenum face, GLenum pname, TYPE param) gl. Material{if}v(GLenum face, GLenum pname,](https://slidetodoc.com/presentation_image_h2/fc6aa6f119efbf53cbb299c1125fd4a1/image-19.jpg)
![gl. Material*() GLfloat mat 0_ambient[ ] = {0. 2, 1. 0}; GLfloat mat 0_diffuse[ gl. Material*() GLfloat mat 0_ambient[ ] = {0. 2, 1. 0}; GLfloat mat 0_diffuse[](https://slidetodoc.com/presentation_image_h2/fc6aa6f119efbf53cbb299c1125fd4a1/image-20.jpg)
![gl. Color. Material() If only one material property is to be changed, it is gl. Color. Material() If only one material property is to be changed, it is](https://slidetodoc.com/presentation_image_h2/fc6aa6f119efbf53cbb299c1125fd4a1/image-21.jpg)
![Open. GL Shading Open. GL supports flat and Gouraud shading. No support for Phong Open. GL Shading Open. GL supports flat and Gouraud shading. No support for Phong](https://slidetodoc.com/presentation_image_h2/fc6aa6f119efbf53cbb299c1125fd4a1/image-22.jpg)
![Phong Shading with Specular Illumination (Image removed, see Prof. Varshney’s slides). Image courtesy, Foley, Phong Shading with Specular Illumination (Image removed, see Prof. Varshney’s slides). Image courtesy, Foley,](https://slidetodoc.com/presentation_image_h2/fc6aa6f119efbf53cbb299c1125fd4a1/image-23.jpg)
![Phong Shading + Specular Illum. on Curved Surfaces (Image removed, see Prof. Varshney’s slides). Phong Shading + Specular Illum. on Curved Surfaces (Image removed, see Prof. Varshney’s slides).](https://slidetodoc.com/presentation_image_h2/fc6aa6f119efbf53cbb299c1125fd4a1/image-24.jpg)
![More and Better Lights (Image removed, see Prof. Varshney’s slides). Image courtesy, Foley, van More and Better Lights (Image removed, see Prof. Varshney’s slides). Image courtesy, Foley, van](https://slidetodoc.com/presentation_image_h2/fc6aa6f119efbf53cbb299c1125fd4a1/image-25.jpg)
![Image Textures (Image removed, see Prof. Varshney’s slides). Image courtesy, Foley, van Dam, Feiner, Image Textures (Image removed, see Prof. Varshney’s slides). Image courtesy, Foley, van Dam, Feiner,](https://slidetodoc.com/presentation_image_h2/fc6aa6f119efbf53cbb299c1125fd4a1/image-26.jpg)
![Displacement Textures + Shadows (Image removed, see Prof. Varshney’s slides). Image courtesy, Foley, van Displacement Textures + Shadows (Image removed, see Prof. Varshney’s slides). Image courtesy, Foley, van](https://slidetodoc.com/presentation_image_h2/fc6aa6f119efbf53cbb299c1125fd4a1/image-27.jpg)
- Slides: 27
![Polygon Rendering Flat Rendering Goraud Rendering Uses Phong Reflectance Phong Rendering Polygon Rendering Flat Rendering Goraud Rendering Uses Phong Reflectance Phong Rendering](https://slidetodoc.com/presentation_image_h2/fc6aa6f119efbf53cbb299c1125fd4a1/image-1.jpg)
Polygon Rendering Flat Rendering Goraud Rendering Uses Phong Reflectance Phong Rendering
![Flat Rendering One normal per triangle Constant color per triangle Computed using reflectance model Flat Rendering One normal per triangle Constant color per triangle Computed using reflectance model.](https://slidetodoc.com/presentation_image_h2/fc6aa6f119efbf53cbb299c1125fd4a1/image-2.jpg)
Flat Rendering One normal per triangle Constant color per triangle Computed using reflectance model. Best for flat surfaces to give a faceted appearance Advantages: simple and fast
![Diffuse Illumination Flat Rendering Image removed see Prof Varshneys slides Image courtesy Foley Diffuse Illumination & Flat Rendering (Image removed, see Prof. Varshney’s slides). Image courtesy, Foley,](https://slidetodoc.com/presentation_image_h2/fc6aa6f119efbf53cbb299c1125fd4a1/image-3.jpg)
Diffuse Illumination & Flat Rendering (Image removed, see Prof. Varshney’s slides). Image courtesy, Foley, van Dam, Feiner, Hughes
![Gouraud Rendering One normal per vertex Compute color per vertex Interpolate color per pixel Gouraud Rendering One normal per vertex Compute color per vertex Interpolate color per pixel](https://slidetodoc.com/presentation_image_h2/fc6aa6f119efbf53cbb299c1125fd4a1/image-4.jpg)
Gouraud Rendering One normal per vertex Compute color per vertex Interpolate color per pixel (one add per R, G, B channel) Tolerable results for curved surfaces
![Diffuse Gouraud Shading Image removed see Prof Varshneys slides Image courtesy Foley van Diffuse & Gouraud Shading (Image removed, see Prof. Varshney’s slides). Image courtesy, Foley, van](https://slidetodoc.com/presentation_image_h2/fc6aa6f119efbf53cbb299c1125fd4a1/image-5.jpg)
Diffuse & Gouraud Shading (Image removed, see Prof. Varshney’s slides). Image courtesy, Foley, van Dam, Feiner, Hughes
![Specular Gouraud Shading Image removed see Prof Varshneys slides Image courtesy Foley van Specular & Gouraud Shading (Image removed, see Prof. Varshney’s slides). Image courtesy, Foley, van](https://slidetodoc.com/presentation_image_h2/fc6aa6f119efbf53cbb299c1125fd4a1/image-6.jpg)
Specular & Gouraud Shading (Image removed, see Prof. Varshney’s slides). Image courtesy, Foley, van Dam, Feiner, Hughes
![Phong Rendering One normal per vertex Interpolate normal per pixel Interpolate each component of Phong Rendering One normal per vertex Interpolate normal per pixel Interpolate each component of](https://slidetodoc.com/presentation_image_h2/fc6aa6f119efbf53cbb299c1125fd4a1/image-7.jpg)
Phong Rendering One normal per vertex Interpolate normal per pixel Interpolate each component of normal and then normalize Compute color per pixel Good for curved and shiny surfaces Not available in Open. GL
![How do we interpolate a surface normal Keep in mind that a normal is How do we interpolate a surface normal? Keep in mind that a normal is](https://slidetodoc.com/presentation_image_h2/fc6aa6f119efbf53cbb299c1125fd4a1/image-8.jpg)
How do we interpolate a surface normal? Keep in mind that a normal is a unit vector. We can’t just interpolate the x, y, z components of the normal, because we wind up with a nonunit normal. Here’s a simple example: N 1 = (0, . 436, -. 9). N 2 = (0, -. 436, . 9) If we take the average of these, we get (0, 0, . 9), which is not a unit normal. We have to normalize this to get (0, 0, 1).
![Specular Phong Rendering Image removed see Prof Varshneys slides Image courtesy Foley van Specular & Phong Rendering (Image removed, see Prof. Varshney’s slides). Image courtesy, Foley, van](https://slidetodoc.com/presentation_image_h2/fc6aa6f119efbf53cbb299c1125fd4a1/image-9.jpg)
Specular & Phong Rendering (Image removed, see Prof. Varshney’s slides). Image courtesy, Foley, van Dam, Feiner, Hughes
![Gouraud vs Phong Gouraud is faster Interpolate 1 value instead of 3 Dont need Gouraud vs. Phong Gouraud is faster Interpolate 1 value instead of 3 Don’t need](https://slidetodoc.com/presentation_image_h2/fc6aa6f119efbf53cbb299c1125fd4a1/image-10.jpg)
Gouraud vs. Phong Gouraud is faster Interpolate 1 value instead of 3 Don’t need to normalize Don’t need to render at each point. Phong much more accurate Especially when lighting effects change rapidly with surface normal. True for shiny objects And for cast shadows.
![Discussion Light Source andor Viewer at infinity simplifies calculations at the cost of realism Discussion Light Source and/or Viewer at infinity simplifies calculations at the cost of realism](https://slidetodoc.com/presentation_image_h2/fc6aa6f119efbf53cbb299c1125fd4a1/image-11.jpg)
Discussion Light Source and/or Viewer at infinity simplifies calculations at the cost of realism Need to either clamp colors at max value or normalize them preserving their relative weights (R = R/(R + G + B) , . . )
![Open GL Support for Illumination Ambient Diffuse Specular illuminations are supported Users have to Open. GL Support for Illumination Ambient, Diffuse, Specular illuminations are supported Users have to](https://slidetodoc.com/presentation_image_h2/fc6aa6f119efbf53cbb299c1125fd4a1/image-12.jpg)
Open. GL Support for Illumination Ambient, Diffuse, Specular illuminations are supported Users have to define lights position, type, color Users also define object material Front and/or back facing polygons, color
![Open GL Lights GLfloat light Aposition 1 0 0 0 GLfloat light Open. GL Lights GLfloat light. A_position[ ] = {1. 0, 0. 0}; GLfloat light.](https://slidetodoc.com/presentation_image_h2/fc6aa6f119efbf53cbb299c1125fd4a1/image-13.jpg)
Open. GL Lights GLfloat light. A_position[ ] = {1. 0, 0. 0}; GLfloat light. B_position[ ] = {1. 0, 2. 0, 3. 0, 1. 0}; gl. Lightfv(GL_LIGHT 0, GL_POSITION, light. A_position); gl. Lightfv(GL_LIGHT 1, GL_POSITION, light. B_position); The above defines a directional light source coming from the direction (1, 1, 1), and a positional light source located at the point (1, 2, 3) in the world coordinates.
![Open GL Lights Open GL specifies at least 8 light sources GLLIGHT 0 Open. GL Lights Open. GL specifies at least 8 light sources GL_LIGHT 0. .](https://slidetodoc.com/presentation_image_h2/fc6aa6f119efbf53cbb299c1125fd4a1/image-14.jpg)
Open. GL Lights Open. GL specifies at least 8 light sources GL_LIGHT 0. . GL_LIGHT 7 To get maximum lights in your implementations use: gl. Get. Integerv(GL_MAX_LIGHTS, GLint *num_lights); You need to enable each light that you plan to use and enable Open. GL lighting (they are all disabled by default): gl. Enable(GL_LIGHT 0); gl. Enable(GL_LIGHT 1); … gl. Enable(GL_LIGHTING);
![gl Light gl LightifGLenum light GLenum pname TYPE param gl LightifvGLenum light GLenum pname gl. Light*() gl. Light{if}(GLenum light, GLenum pname, TYPE param) gl. Light{if}v(GLenum light, GLenum pname,](https://slidetodoc.com/presentation_image_h2/fc6aa6f119efbf53cbb299c1125fd4a1/image-15.jpg)
gl. Light*() gl. Light{if}(GLenum light, GLenum pname, TYPE param) gl. Light{if}v(GLenum light, GLenum pname, TYPE *param) light can be GL_LIGHT 0. . GL_LIGHT 7 pname can be one of following: GL_POSITION: light position GL_AMBIENT, GL_DIFFUSE, GL_SPECULAR : light colors GL_SPOT_DIRECTION, GL_SPOT_EXPONENT, GL_SPOT_CUTOFF: spotlight parameters GL_CONSTANT_ATTENUATION, GL_LINEAR_ATTENUATION, GL_QUADRATIC_ATTENUATION: parameters for attenuation
![Spotlight Cutoff Direction Spotlight Cutoff Direction](https://slidetodoc.com/presentation_image_h2/fc6aa6f119efbf53cbb299c1125fd4a1/image-16.jpg)
Spotlight Cutoff Direction
![gl Light GLfloat light 0ambient 0 0 0 1 0 0 1 gl. Light*() GLfloat light 0_ambient[ ] = {0. 0, 0. 1, 0. 0, 1.](https://slidetodoc.com/presentation_image_h2/fc6aa6f119efbf53cbb299c1125fd4a1/image-17.jpg)
gl. Light*() GLfloat light 0_ambient[ ] = {0. 0, 0. 1, 0. 0, 1. 0}; GLfloat light 0_diffuse[ ] = {0. 0, 1. 0}; GLfloat light 0_specular[ ] = {1. 0, 1. 0}; GLfloat light 0_position[ ] = {1. 0, 2. 0, 3. 0, 1. 0}; gl. Lightfv(GL_LIGHT 0, GL_POSITION, light 0_position); gl. Lightfv(GL_LIGHT 0, GL_AMBIENT, light 0_ambient); gl. Lightfv(GL_LIGHT 0, GL_DIFFUSE, light 0_diffuse); gl. Lightfv(GL_LIGHT 0, GL_SPECULAR, light 0_specular); gl. Enable(GL_LIGHT 0); gl. Enable(GL_LIGHTING);
![Object Materials Object colors under illumination are computed as a componentwise multiplication of the Object Materials Object colors under illumination are computed as a component-wise multiplication of the](https://slidetodoc.com/presentation_image_h2/fc6aa6f119efbf53cbb299c1125fd4a1/image-18.jpg)
Object Materials Object colors under illumination are computed as a component-wise multiplication of the light colors and material colors Just as light colors are specified differently for ambient, diffuse, and specular illuminations, material colors are also specified for each of these three illuminations. In addition to this emissive material color is also defined: Lights don’t influence emissive material Emissive objects don’t add further light to environment
![gl Material gl MaterialifGLenum face GLenum pname TYPE param gl MaterialifvGLenum face GLenum pname gl. Material*() gl. Material{if}(GLenum face, GLenum pname, TYPE param) gl. Material{if}v(GLenum face, GLenum pname,](https://slidetodoc.com/presentation_image_h2/fc6aa6f119efbf53cbb299c1125fd4a1/image-19.jpg)
gl. Material*() gl. Material{if}(GLenum face, GLenum pname, TYPE param) gl. Material{if}v(GLenum face, GLenum pname, TYPE *param) face can be: GL_FRONT, GL_BACK, GL_FRONT_AND_BACK pname can be: GL_AMBIENT, GL_DIFFUSE, GL_SPECULAR, GL_EMISSION: material colors GL_SHININESS: Specular (Phong) illumination exponent
![gl Material GLfloat mat 0ambient 0 2 1 0 GLfloat mat 0diffuse gl. Material*() GLfloat mat 0_ambient[ ] = {0. 2, 1. 0}; GLfloat mat 0_diffuse[](https://slidetodoc.com/presentation_image_h2/fc6aa6f119efbf53cbb299c1125fd4a1/image-20.jpg)
gl. Material*() GLfloat mat 0_ambient[ ] = {0. 2, 1. 0}; GLfloat mat 0_diffuse[ ] = {0. 7, 0. 0, 1. 0}; GLfloat mat 0_specular[ ] = {1. 0, 1. 0}; GLfloat mat 0_shininess[ ] = {5. 0}; gl. Materialfv(GL_FRONT, GL_AMBIENT, mat 0_ambient); gl. Materialfv(GL_FRONT, GL_DIFFUSE, mat 0_diffuse); gl. Materialfv(GL_FRONT, GL_SPECULAR, mat 0_specular); gl. Materialfv(GL_FRONT, GL_SHININESS, mat 0_shininess);
![gl Color Material If only one material property is to be changed it is gl. Color. Material() If only one material property is to be changed, it is](https://slidetodoc.com/presentation_image_h2/fc6aa6f119efbf53cbb299c1125fd4a1/image-21.jpg)
gl. Color. Material() If only one material property is to be changed, it is more efficient to use gl. Color. Material( ) causes material to track gl. Color*( ) gl. Enable(GL_COLOR_MATERIAL); gl. Color. Material(GL_FRONT, GL_DIFFUSE); gl. Color 3 f(0. 2, 0. 5, 0. 8); // this changes the diffuse material color Draw objects here gl. Color. Material(GL_FRONT, GL_SPECULAR); gl. Color 3 f(0. 9, 0. 0, 0. 2); // this changes the specular material color Draw objects here gl. Disable(GL_COLOR_MATERIAL);
![Open GL Shading Open GL supports flat and Gouraud shading No support for Phong Open. GL Shading Open. GL supports flat and Gouraud shading. No support for Phong](https://slidetodoc.com/presentation_image_h2/fc6aa6f119efbf53cbb299c1125fd4a1/image-22.jpg)
Open. GL Shading Open. GL supports flat and Gouraud shading. No support for Phong shading yet. gl. Shade. Model(GL_FLAT) Flat shading gl. Shade. Model(GL_SMOOTH) Gouraud shading Remember to supply normals with triangles or vertices to get correct lighting and shading
![Phong Shading with Specular Illumination Image removed see Prof Varshneys slides Image courtesy Foley Phong Shading with Specular Illumination (Image removed, see Prof. Varshney’s slides). Image courtesy, Foley,](https://slidetodoc.com/presentation_image_h2/fc6aa6f119efbf53cbb299c1125fd4a1/image-23.jpg)
Phong Shading with Specular Illumination (Image removed, see Prof. Varshney’s slides). Image courtesy, Foley, van Dam, Feiner, Hughes
![Phong Shading Specular Illum on Curved Surfaces Image removed see Prof Varshneys slides Phong Shading + Specular Illum. on Curved Surfaces (Image removed, see Prof. Varshney’s slides).](https://slidetodoc.com/presentation_image_h2/fc6aa6f119efbf53cbb299c1125fd4a1/image-24.jpg)
Phong Shading + Specular Illum. on Curved Surfaces (Image removed, see Prof. Varshney’s slides). Image courtesy, Foley, van Dam, Feiner, Hughes
![More and Better Lights Image removed see Prof Varshneys slides Image courtesy Foley van More and Better Lights (Image removed, see Prof. Varshney’s slides). Image courtesy, Foley, van](https://slidetodoc.com/presentation_image_h2/fc6aa6f119efbf53cbb299c1125fd4a1/image-25.jpg)
More and Better Lights (Image removed, see Prof. Varshney’s slides). Image courtesy, Foley, van Dam, Feiner, Hughes
![Image Textures Image removed see Prof Varshneys slides Image courtesy Foley van Dam Feiner Image Textures (Image removed, see Prof. Varshney’s slides). Image courtesy, Foley, van Dam, Feiner,](https://slidetodoc.com/presentation_image_h2/fc6aa6f119efbf53cbb299c1125fd4a1/image-26.jpg)
Image Textures (Image removed, see Prof. Varshney’s slides). Image courtesy, Foley, van Dam, Feiner, Hughes
![Displacement Textures Shadows Image removed see Prof Varshneys slides Image courtesy Foley van Displacement Textures + Shadows (Image removed, see Prof. Varshney’s slides). Image courtesy, Foley, van](https://slidetodoc.com/presentation_image_h2/fc6aa6f119efbf53cbb299c1125fd4a1/image-27.jpg)
Displacement Textures + Shadows (Image removed, see Prof. Varshney’s slides). Image courtesy, Foley, van Dam, Feiner, Hughes
Gouraud shading implementation
Not a polygon
Rivet snap head
Kucg
Ien phong
Phong tran surgeon
Giai đoạn 1 phong trào cần vương
Phong trào đồng khởi
định luật phóng xạ
Nêu nguyên nhân thắng lợi phong trào tây sơn
đầu ối phồng
Huy hiệu đội thiếu niên tiền phong hồ chí minh
Illumination model
Phong reflection model
Gllightfv example
Sông hương là một bức tranh phong cảnh khổ dài
Phong trào đồng khởi
Lập đội thiếu niên tiền phong hồ chí minh
Image-based modeling and rendering
Kajiya rendering equation
Raycasting dda
Wireframe techniques
Car paint rendering
Masaki kawase
Multipass rendering
Vray back to beauty
Rendering
Graphics rendering