POV-Ray : Newsgroups : povray.binaries.images : Patina/grime (40k) Server Time
17 Aug 2024 16:09:19 EDT (-0400)
  Patina/grime (40k) (Message 1 to 10 of 12)  
Goto Latest 10 Messages Next 2 Messages >>>
From: Kari Kivisalo
Subject: Patina/grime (40k)
Date: 30 Aug 2001 01:52:26
Message: <3B8DD549.D0A9588E@engineer.com>
Based on the accessibility of a surface location. No height fields
were used :P


_____________
Kari Kivisalo


Post a reply to this message


Attachments:
Download 'patina.jpg' (42 KB)

Preview of image 'patina.jpg'
patina.jpg


 

From: Kari Kivisalo
Subject: Re: Patina/grime (40k)
Date: 30 Aug 2001 05:59:16
Message: <3B8E0F26.6DDC17B3@engineer.com>
Couldn't tweak it any better so here it is. I rendered the "Arnold"
grime map from scene camera position using orthographic camera
and aligned in the scene to project from the camera position.

texture{
  image_pattern{sys "grime_map.bmp"}
  texture_map{
    [0.6 Grime]
    [1 Metal]
  }
}


The problem with using radiosity to simulate accessibility
is that small surface variations on high visibility area get
outweighted by big low visibility areas. Some kind of local
equalization/high-pass operation would make it work better.


_____________
Kari Kivisalo


Post a reply to this message


Attachments:
Download 'grime_map.jpg' (13 KB)

Preview of image 'grime_map.jpg'
grime_map.jpg


 

From: Christoph Hormann
Subject: Re: Patina/grime (40k)
Date: 30 Aug 2001 06:52:26
Message: <3B8E1B9A.E2D3E393@gmx.de>
Kari Kivisalo wrote:
> 
> Based on the accessibility of a surface location. No height fields
> were used :P
> 

I think Chris Huff was planning some pattern for this working similar to
the visibility pattern i wrote but sampling in various directions.

Christoph

-- 
Christoph Hormann <chr### [at] gmxde>
IsoWood include, radiosity tutorial, TransSkin and other 
things on: http://www.schunter.etc.tu-bs.de/~chris/


Post a reply to this message

From: ben paschke
Subject: Re: Patina/grime (40k)
Date: 30 Aug 2001 20:39:37
Message: <3B8EDD38.DE9BE67D@rsp.com.au>
Hi Kari Kivisalo,
You've been cranking out some nice radiosity images lately! nice work!

Concerning your latest patina experiments, may i suggest you have a look
at an old test i did, but with the proximity pattern ..

news://news.povray.org/3AA72A9B.7B8E4326%40rsp.com.au

Bye
benp


Kari Kivisalo wrote:
> 
> Based on the accessibility of a surface location. No height fields
> were used :P
> 
> _____________
> Kari Kivisalo
> 
>   ------------------------------------------------------------------------
>  [Image]


Post a reply to this message

From: Kari Kivisalo
Subject: Re: Patina/grime (40k)
Date: 31 Aug 2001 04:53:20
Message: <3B8F5133.90BE6E9C@engineer.com>
ben paschke wrote:
> 
> Concerning your latest patina experiments, may i suggest you have a look
> at an old test i did, but with the proximity pattern ..
> 
> news://news.povray.org/3AA72A9B.7B8E4326%40rsp.com.au

The net effect of proximity pattern seems to be abs(curvature).
Proximity is about distance from surface and patina simulations
are based on visibility so it's natural one can't be used in place
of other. The reason it worked with a stack of balls is that the
highest curvature is where they intersect. 

If proxomity pattern could select positive or negative curvature
it could be used to detect edges and apply wear and tear or deposit
grime on negative curvature areas. 

Notice the concentration on both negative and positive high
curvature areas. http://www.pp.hv.fi/kkivisal/prox.jpg

texture{
  proximity {
  Tut, 5
  samples 30
  sample_bailout 30
  max_density 1
  type 0
  method 1
  sides 2
}
  texture_map{
    [0.2 Grime]
    [0.7 Clear]
  }  
}

_____________
Kari Kivisalo


Post a reply to this message

From: Kari Kivisalo
Subject: Re: Patina/grime (40k)
Date: 31 Aug 2001 08:12:00
Message: <3B8F7FC3.D717E8FF@engineer.com>
> curvature areas. http://www.pp.hv.fi/kkivisal/prox.jpg

http://www.pp.htv.fi/kkivisal/prox.jpg

_____________
Kari Kivisalo


Post a reply to this message

From: ingo
Subject: Re: Patina/grime (40k)
Date: 31 Aug 2001 10:17:16
Message: <Xns910EA5B055A23seed7@povray.org>
in news:3B8F7FC3.D717E8FF@engineer.com Kari Kivisalo wrote:

> http://www.pp.htv.fi/kkivisal/prox.jpg
> 

Interesting.

Just an idea I came up with while making a short bicycle tour this 
afternoon. It may be complete nonsense.

 Shoot a ray at the object to be rendered. Put an imaginary sphere with 
a given radius with its centre on the ray, its surface should toutch 
the objects surface in the intersection point. Now check if the sphere 
intersects somewhere with the object. If so, reduce the sphere radius 
until it does not intersect anymore (the sphere should still be 
toutching the object at the intersection point).
 Now make the grey-value of the objects pigment depends on the sphere's 
radius.
 By setting limits to the sphere's sizes you could control the amount 
of patina.
 Would something like this work? As a patch? As a clever combination of 
macros and functions (3.5)?

Ingo

-- 
Photography: http://members.home.nl/ingoogni/
Pov-Ray    : http://members.home.nl/seed7/


Post a reply to this message

From: Ron Parker
Subject: Re: Patina/grime (40k)
Date: 31 Aug 2001 10:44:12
Message: <slrn9ov8lt.4kd.ron.parker@fwi.com>
On 31 Aug 2001 10:17:16 -0400, ingo wrote:
>
> Shoot a ray at the object to be rendered. Put an imaginary sphere with 
>a given radius with its centre on the ray, its surface should toutch 
>the objects surface in the intersection point. Now check if the sphere 
>intersects somewhere with the object. 

I got this far before I had to ask "how do you do THAT?"  The answer is, 
of course, that you cannot.  The best you can do is fire a bunch of random
rays at nearby points on the object and try to estimate the local curvature
of the surface.

-- 
#local R=rgb 99;#local P=R-R;#local F=pigment{gradient x}box{0,1pigment{gradient
y pigment_map{[.5F pigment_map{[.3R][.3F color_map{[.15red 99][.15P]}rotate z*45
translate x]}]#local H=pigment{gradient y color_map{[.5P][.5R]}scale 1/3}[.5F
pigment_map{[.3R][.3H][.7H][.7R]}]}}}camera{location.5-3*z}//only my opinions


Post a reply to this message

From: ingo
Subject: Re: Patina/grime (40k)
Date: 31 Aug 2001 11:24:43
Message: <Xns910EB1208AEEDseed7@povray.org>
in news:slr### [at] fwicom Ron Parker wrote:

> I got this far before I had to ask "how do you do THAT?"  The
> answer is, of course, that you cannot.  

 So there is no direct way to calculate that :(
 An indirect way would be to get 'some' points on the sphere and use 
these with the inside() function, but that would only work on solid 
objects.

> The best you can do is fire
> a bunch of random rays at nearby points on the object and try to
> estimate the local curvature of the surface.

 Is the curvature enough to know whether my finger with polish cloth 
can reach a certain point?
 How about shooting rays from the intersection point, in a 
hemispherical pattern, aligned with the normal at intersection point. 
From that, I think it could be calculated if an object with a certain 
diameter can reach the point. Depending on that diameter the grey-value 
gets calulated.


Ingo

-- 
Photography: http://members.home.nl/ingoogni/
Pov-Ray    : http://members.home.nl/seed7/


Post a reply to this message

From: Ron Parker
Subject: Re: Patina/grime (40k)
Date: 31 Aug 2001 11:52:56
Message: <slrn9ovcmo.4ls.ron.parker@fwi.com>
On 31 Aug 2001 11:24:43 -0400, ingo wrote:
>> The best you can do is fire
>> a bunch of random rays at nearby points on the object and try to
>> estimate the local curvature of the surface.
>
> Is the curvature enough to know whether my finger with polish cloth 
>can reach a certain point?

The curvature is related to the radius you want to find, so yes.  The
difference is that curvature is also related to whether the surface is
concave or convex, which is also important.

> How about shooting rays from the intersection point, in a 
>hemispherical pattern, aligned with the normal at intersection point. 

The solution I proposed the last time this discussion came around was to
fire rays from just "above" the intersection point in a small area around
the intersection point, and estimate the curvature from that.  The method
you propose might work, but I'm always wary of the roundoff errors when
intersecting a ray with a nearly-parallel surface (which is what you'd
get a lot of using your method on a low-curvature surface.)

-- 
#macro R(L P)sphere{L F}cylinder{L P F}#end#macro P(V)merge{R(z+a z)R(-z a-z)R(a
-z-z-z a+z)torus{1F clipped_by{plane{a 0}}}translate V}#end#macro Z(a F T)merge{
P(z+a)P(z-a)R(-z-z-x a)pigment{rgbf 1}hollow interior{media{emission 3-T}}}#end 
Z(-x-x.2x)camera{location z*-10rotate x*90normal{bumps.02scale.05}}


Post a reply to this message

Goto Latest 10 Messages Next 2 Messages >>>

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.