POV-Ray : Newsgroups : povray.general : Displacement mapping in Povray Server Time
1 Nov 2024 11:14:13 EDT (-0400)
  Displacement mapping in Povray (Message 1 to 10 of 27)  
Goto Latest 10 Messages Next 10 Messages >>>
From: delle
Subject: Displacement mapping in Povray
Date: 28 Oct 2004 06:05:00
Message: <web.4180c34b61880e1728b80a700@news.povray.org>
Is there someone working on "Displacement Mapping" in Povray (as a Patch)?

Best regards.

Delle.


Post a reply to this message

From: Le Forgeron
Subject: Re: Displacement mapping in Povray
Date: 28 Oct 2004 06:50:53
Message: <Xns959082B28CEBFjgrimbertmeandmyself@203.29.75.35>


> Is there someone working on "Displacement Mapping" in Povray (as a
> Patch)? 

First, it is available really from Isosurface, already.
Second, Displacement mapping is a concept which often apply with mesh (or 
meshed nurbs...) which is a very small subset of Povray capabilities.
Third, have a look at 
http://jgrimbert.free.fr/pov/patch/tessel/displace.html
(and related pages)
Fourth and last, I'm not working on it anymore for the time being.

-- 




l'habillement, les chaussures que le maquillage et les accessoires.


Post a reply to this message

From: Warp
Subject: Re: Displacement mapping in Povray
Date: 28 Oct 2004 09:22:07
Message: <4180f27f@news.povray.org>
Le Forgeron <jgr### [at] freelocalhost> wrote:
> First, it is available really from Isosurface, already.

  No, it's not.

  You can get a displacement effect by modifying the function from which
the isosurface is calculated. However, that's not "displacement mapping",
which is a completely different technique.

-- 
#macro N(D)#if(D>99)cylinder{M()#local D=div(D,104);M().5,2pigment{rgb M()}}
N(D)#end#end#macro M()<mod(D,13)-6mod(div(D,13)8)-3,10>#end blob{
N(11117333955)N(4254934330)N(3900569407)N(7382340)N(3358)N(970)}//  - Warp -


Post a reply to this message

From: Christoph Hormann
Subject: Re: Displacement mapping in Povray
Date: 28 Oct 2004 10:05:01
Message: <clqu1u$678$1@chho.imagico.de>
Warp wrote:
> 
>>First, it is available really from Isosurface, already.
> 
> 
>   No, it's not.
> 
>   You can get a displacement effect by modifying the function from which
> the isosurface is calculated. However, that's not "displacement mapping",
> which is a completely different technique.

That depends on how you define displacement mapping.  If you say it is 
"displacing the surface of a shape by an amount defined by an image or 
function" this is well possible with isosurfaces.

Christoph

-- 
POV-Ray tutorials, include files, Sim-POV,
HCR-Edit and more: http://www.tu-bs.de/~y0013390/
Last updated 23 Sep. 2004 _____./\/^>_*_<^\/\.______


Post a reply to this message

From: Warp
Subject: Re: Displacement mapping in Povray
Date: 28 Oct 2004 11:34:45
Message: <41811194@news.povray.org>
Christoph Hormann <chr### [at] gmxde> wrote:
> That depends on how you define displacement mapping.  If you say it is 
> "displacing the surface of a shape by an amount defined by an image or 
> function" this is well possible with isosurfaces.

  But saying "POV-Ray supports displacement mapping" is not completely
correct.
  It's exactly the same thing as saying "POV-Ray supports non-linear
transformations", which of course is not true.

  What POV-Ray supports are user-defined functions (and functions modified
by other functions) and rendering isosurfaces from them. There's no
explicit support for an algorithm called "displacement mapping" or
"non-linear transformation".

  To put it in another way: The "displacement" and "non-linear
transformation" are part of the modelling process performed by the
user, not something done by the POV-Ray rendering engine.
  You can't say "this renderer supports bending" simply because you
can create a mesh which looks bent and render it with that renderer
(ie. the question is: Who created the bent shape, the user or the
rendering engine?).

-- 
#macro N(D)#if(D>99)cylinder{M()#local D=div(D,104);M().5,2pigment{rgb M()}}
N(D)#end#end#macro M()<mod(D,13)-6mod(div(D,13)8)-3,10>#end blob{
N(11117333955)N(4254934330)N(3900569407)N(7382340)N(3358)N(970)}//  - Warp -


Post a reply to this message

From: Christoph Hormann
Subject: Re: Displacement mapping in Povray
Date: 28 Oct 2004 12:05:02
Message: <clr551$7kl$1@chho.imagico.de>
Warp wrote:
> 
>>That depends on how you define displacement mapping.  If you say it is 

>>"displacing the surface of a shape by an amount defined by an image or 

>>function" this is well possible with isosurfaces.
> 
> 
>   But saying "POV-Ray supports displacement mapping" is not completely
> correct.

With the definition of displacement mapping i gave it is.

But of course the question 'does POV-Ray support displacement mapping' 
does not make much sense for various reasons (in fact nearly all 'does 
POV-Ray support xxx' questions do not make sense).  And to be fair the 
posting that started this thread also did not ask this.  An internal 

 
limited value.  What would be interesting is support for adaptive render 

time subdivision of meshes with displacement.

Christoph

-- 
POV-Ray tutorials, include files, Sim-POV,
HCR-Edit and more: http://www.tu-bs.de/~y0013390/
Last updated 23 Sep. 2004 _____./\/^>_*_<^\/\.______


Post a reply to this message

From: delle
Subject: Re: Displacement mapping in Povray
Date: 28 Oct 2004 12:20:00
Message: <web.41811bcd7530c78028b80a700@news.povray.org>
What I've in mind is something like this :
"http://www.paralelo.com.br/arquivos/ReliefMapping.pdf" that generates
displace mapping (with shadows) without the necessity of adding triangles
(to mesh2 objects).

Delle


Post a reply to this message

From: Sascha Ledinsky
Subject: Re: Displacement mapping in Povray
Date: 28 Oct 2004 13:18:29
Message: <418129e5$1@news.povray.org>
> Second, Displacement mapping is a concept which often apply with mesh (or 
> meshed nurbs...) which is a very small subset of Povray capabilities.

AFAIK POV-Ray doesn't support NURBS.
Displacement mapping is usually done during tesselating shapes into 
triangles - but POV-Ray has no need to tesselate objects (except for 
bezier-patches).
If patched versions of POV-Ray add support for NURBS and SDS, it would 
be a nice feature to add displacement mapping for those objects :-)


Post a reply to this message

From: Christoph Hormann
Subject: Re: Displacement mapping in Povray
Date: 28 Oct 2004 14:00:02
Message: <clrbun$8qb$1@chho.imagico.de>
Sascha Ledinsky wrote:
> 
> AFAIK POV-Ray doesn't support NURBS.

No, POV-Ray supports NURBS as much as most other renderers support them 
- by rendering meshes generated from them.  It is possible to directly 
raytrace NURBS of course but that is rarely done.  See also my general 
remark concerning 'does POV-Ray support xxx' questions.

> If patched versions of POV-Ray add support for NURBS and SDS, it would 
> be a nice feature to add displacement mapping for those objects :-)

No.  No algorithm commonly used to directly raytrace NURBS would allow 
displacement mapping.  So the above statement does not make sense.

Christoph

-- 
POV-Ray tutorials, include files, Sim-POV,
HCR-Edit and more: http://www.tu-bs.de/~y0013390/
Last updated 23 Sep. 2004 _____./\/^>_*_<^\/\.______


Post a reply to this message

From: Sascha Ledinsky
Subject: Re: Displacement mapping in Povray
Date: 28 Oct 2004 14:45:28
Message: <41813e48$1@news.povray.org>
> No, POV-Ray supports NURBS as much as most other renderers support them 
> - by rendering meshes generated from them.

Sure, POV-Ray supports triangle meshes - but you'd need an external 
application to generate a triangle mesh from a NURBS mesh (of course SDL 
could do this, but it's quite slow when you need to tesselate thousands 
of NURBS patches).
The scene file containing triangle meshes is much larger than the file 
describing just the NURBS, this can be a problem for distributing the 
scenes via the internet (e.g. for the Internet Movie Project).
Another problem when tesselating "outside" of POV-Ray are the trim curves...

> It is possible to directly raytrace NURBS of course but that is rarely done.

I've read some papers about directly ray-tracing bezier-patches (I think 
NURBS would work quite similar) - The conclusion was that it's also just 
an approximation, and a tesselated triangle mesh of the same quality 
would render faster, so there would be no real advantage in raytracing 
"directly".

> No.  No algorithm commonly used to directly raytrace NURBS would allow 
> displacement mapping.  So the above statement does not make sense.

I meant the tesselation approach (as used in POV-Ray for 
bezier-patches).  Theoretically it should be possible to add 
displacement mapping to the bezier-patch tesselation code.
The big advantage of doing displacement mapping within POV-Ray would be 
that all the patterns that can be used for bump-mapping could be re-used.

Don't get me wrong. Iso-Surfaces are a really cool feature of POV-Ray 
and offer a lot of possibilities. Its just a bit of an overkill to use 
this feature for displacement mapping...


Post a reply to this message

Goto Latest 10 Messages Next 10 Messages >>>

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