Homework 4 - All About Textures (Textures, Perlin Texture, Bump Mapping)

In the fourth assignment of CENG795, we are expected to introduce many new features to the ray tracer, such as:

  • Textures:
    • Interpolation Types: nearest, bilinear
    • Decal Modes: Replacing Color, Replacing Diffuse Constant, Blending Diffuse Constant
    • Appearance: Repeat, and Clamp
  •  Perlin Texture:
    • Appearance: Vein and Patch
  •  Bump Mapping for both Textures and Perlin Textures.
For reading texture data I used stb_image.h(https://github.com/nothings/stb).

To create perlin noise, and to calculate bump normals, I used the techniques that were mentioned in the lectures. 

I couldn't get similar results with given bumpmapMultiplier values for normal textures(not perlin ones), I slightly changed the values for achieving similar results. 

My results:

bump_mapping_basic.png

bump_mapping_transformed.png (bumpmapMultiplier ->75.0)

ellipsoids_texture.png

galactica_dynamic.png

galactica_static.png

killeroo_bump_walls.png (bumpmapMultiplier->0.03)

killeroo_diffuse_specular_texture.png

perlin_types.png

perlin_types_bump.png

skybox.png

sphere_bump_nobump.png

sphere_texture_blend_bilinear.png

sphere_texture_replace_bilinear.png
sphere_texture_replace_nearest.png

spheres_perlin.png


I also tried making a scene includes perlin texture and bumpmapping for meshes, but honestly I didn't try many parameters.
killeroo_bump_perlin.png

Also, I used shared script to create an animated scene (Safari couldn't play the video, try Chrome):

I didn't note detailed benchmark results for this assignment, but all the scenes were rendered in acceptable times.



Yorumlar

Yorum Gönder

Bu blogdaki popüler yayınlar

Homework 3 - Transformations, Instancing, Distribution Ray Tracing

Homework 7 - Object Lights, Spherical Environment Mapping, Path Tracing