File:Bump map vs isosurface2.png

原始檔案 (1,680 × 1,050 像素,檔案大小:1.19 MB,MIME 類型:image/png


摘要

 
圖形使用Persistence of Vision創作。
描述
English: A raytraced image created with w:POV-Ray illustrating the limitations of w:bump mapping.

On the left is a perfect sphere which has been given a wrinkled surface using a bump map. Mathematically, POV-Ray's internal "agate" function is used to define a value for each point on the surface of the sphere. This value is used as an apparent height of the sphere's surface above or below where the surface should be and this changes the way that light is simulated to reflect from the surface of the sphere. However, its size and shape are not changed in 3D-space. Consequently, the object's outline and the shadow cast on the ground remain those of a perfect, non-bumpy sphere. An unrealistic hard shadow is also visible on the surface of the sphere, about a third of the way from the top.

On the right is a roughly spherical object on which wrinkles have been modelled in 3D-space. Mathematically, the same "agate" function is subtracted from a function defining a sphere, x2+y2+z2-Radius2, and all points in space where this sum is zero define the surface of the resulting object, referred to as an w:isosurface. This results in an object that is a modification in 3D-space of an otherwise perfect sphere. Consequently, the object's outline and the shadow cast on the ground are also visibly wrinkled, and the shadowing on the surface of the object is more realistic.

Possible wikipedia image text:

In 3D computer graphics, bumps, wrinkles and dents can be simulated by using bump mapping. A bump map changes the way an object's surface appears to reflect or refract light and can increase the realism of computer-generated images without significantly increasing render times. The technique is limited in that it does not modify the shape of the underlying object in 3D-space. On the left, a mathematical function defining a bump map simulates a crumbling surface on a perfect sphere, but the sphere's outline and shadow are unaffected. On the right, the same function is used to model a roughly spherical object by generating an isosurface. The object's outline and shadow are therefore more realistic.

POV-Ray code:

#version 3.6;

global_settings {
  assumed_gamma 1.0
  ambient_light 0   
  radiosity { 
    pretrace_start 0.08 
    pretrace_end   0.04 
    count 35       
    nearest_count 5  
    error_bound 1.8    
    recursion_limit 3   
    low_error_factor .5       
    gray_threshold 0.0     
    minimum_reuse 0.015   
    brightness 1  

    adc_bailout 0.01/2
    normal on     
    media off 
    always_sample on 
    max_sample 1.0 
   }
 }

fog{
  fog_type 1 
  distance 9
  rgb 0 
  turbulence 5
 }

// ----------------------------------------

camera {
  location  <0.0, 1.5, -4>
  direction z
  right     x*image_width/image_height
  look_at   <0.0, 0,  -1.4>
}

light_source { <0, 5, -3>  color rgb <1, 1, 1>*.6 
  area_light  <3,0,0>,<0,0,3> 10,10 orient  circular 
  }

light_source { <0, 100, 80>  color rgb <1, 1, 1> }
       
// ----------------------------------------

plane {
  y, -1
  pigment { color rgb 1 }
  finish {ambient 0}
}

#declare mytex=texture{pigment { colour rgb <1,0,0>  }
     finish{ specular 0.09 roughness .0075 diffuse .85 ambient 0 reflection 0.0}}
  
#include "functions.inc"  

#declare bump_func=function{f_agate(x/.5,y/.5,z/.5)*.1}
#declare sphere_func=function(x,y,z,Radius,xoff,yoff,zoff){pow(x-xoff,2)+pow(y-yoff,2)+pow(z-zoff,2)-pow(Radius,2)} 

isosurface {
    function {sphere_func(x,y,z,1,0,0,0)-bump_func(x,y,z)*.71}
    max_gradient 8 
    contained_by { sphere { 0, 1.5 } }
    texture {mytex}
    translate x*1.5
    }    
    
sphere {  0, 1
  texture {mytex
    normal {function {bump_func(x,y,z)*10*.25} accuracy .0002 bump_size 1}
    }
    rotate -y*32 
    translate -x*1.5
  }
日期
來源 自己的作品
作者 GDallimore
其他版本
earlier version with lower quality bump map

授權條款

Public domain 我,此作品的版權所有人,釋出此作品至公共領域。此授權條款在全世界均適用。
這可能在某些國家不合法,如果是的話:
我授予任何人有權利使用此作品於任何用途,除受法律約束外,不受任何限制。

</syntaxhighlight>

說明

添加單行說明來描述出檔案所代表的內容

在此檔案描寫的項目

描繪內容

創作作者 Chinese (Hong Kong) (已轉換拼寫)

沒有維基數據項目的某些值

維基媒體使用者名稱 繁體中文 (已轉換拼寫):​GDallimore
作者姓名字串 繁體中文 (已轉換拼寫):​GDallimore

著作權狀態 繁體中文 (已轉換拼寫)

檔案來源 Chinese (Taiwan) (已轉換拼寫)

上傳者的原創作品 繁體中文 (已轉換拼寫)

多媒體型式 繁體中文 (已轉換拼寫)

image/png

校驗和 繁體中文 (已轉換拼寫)

e647d850dee783685e8751e1e1dbe5a039657116

斷定方法:​SHA-1 中文 (已轉換拼寫)

資料大小 Chinese (Hong Kong) (已轉換拼寫)

1,248,311 位元組

1,050 像素

1,680 像素

檔案歷史

點選日期/時間以檢視該時間的檔案版本。

日期/時間縮⁠圖尺寸用戶備⁠註
目前2010年10月22日 (五) 11:41於 2010年10月22日 (五) 11:41 版本的縮圖1,680 × 1,050(1.19 MB)GDallimore{{Information |Description={{en|1=== Summary == {{Created with Persistence of Vision}} {{Information |Description={{en|1=Raytraced image illustrating the limitations of w:bump mapping created with w:POV-Ray. The bumpy surface of the sphere to th

下列頁面有用到此檔案:

全域檔案使用狀況

以下其他 wiki 使用了這個檔案: