POV-Ray : Newsgroups : povray.advanced-users : I don't like limits :-( Server Time
29 Jul 2024 12:27:05 EDT (-0400)
  I don't like limits :-( (Message 1 to 8 of 8)  
From:
Subject: I don't like limits :-(
Date: 3 Jun 2002 15:24:09
Message: <0cgnfukgke4selku2s8muqm6b2rqggu08p@4ax.com>
I tried to write IC_Mesh for iso_csg library but failed at "More than 65535
constants in all functions are not supported" error. But IC_Triangle works
pretty fine.

ABX


Post a reply to this message

From: Christoph Hormann
Subject: Re: I don't like limits :-(
Date: 3 Jun 2002 15:55:57
Message: <3CFBC9CD.9539E2E1@gmx.de>

> 
> I tried to write IC_Mesh for iso_csg library but failed at "More than 65535
> constants in all functions are not supported" error. But IC_Triangle works
> pretty fine.

Maybe wait for RC6... ;-)

IC_Mesh sound pretty complicated, at least it will be awfully slow i
suppose...

Christoph

-- 
POV-Ray tutorials, IsoWood include,                 
TransSkin and more: http://www.tu-bs.de/~y0013390/  
Last updated 02 Jun. 2002 _____./\/^>_*_<^\/\.______


Post a reply to this message

From: David Wallace
Subject: Re: I don't like limits :-(
Date: 5 Jun 2002 11:53:45
Message: <3cfe3409@news.povray.org>
"Christoph Hormann" <chr### [at] gmxde> wrote in message
news:3CFBC9CD.9539E2E1@gmx.de...
>
>

> >
> > I tried to write IC_Mesh for iso_csg library but failed at "More than
65535
> > constants in all functions are not supported" error. But IC_Triangle
works
> > pretty fine.
>
> Maybe wait for RC6... ;-)
>
> IC_Mesh sound pretty complicated, at least it will be awfully slow i
> suppose...
>
Even the simple code is slow:

--- start code ---

#declare pigSea = pigment {
 bozo
 turbulence 1.5
 sine_wave
 color_map {
  [ 0 rgbf <0, 1, 0, 1> ]
  [ 1 rgbf <0, 0, 1, 1> ]
 }
 scale 50
}

#declare matSea = material {
 texture {
  pigment { pigSea }
  normal { bozo scale 50 }
  finish {
   reflection { 0.1, 0.7
    metallic 0.4
   }
   conserve_energy
   phong 0.645
   phong_size 130
   metallic 0.4
  }
 }
 interior {
  ior 1.3
  caustics 0.5
  media {
   absorption <1.0, 0.7, 0.2>*.01
   method 3
   samples 3,25
   intervals 1
  }
 }
}

// Sky
#declare Sky1 = pigment { image_map { png "skyday9.png" interpolate 2 }
scale .5 }

#declare Sky = sky_sphere { pigment { Sky1
 warp { spherical orientation z dist_exp 1 }
  rotate x* 180
} }

sky_sphere { Sky }

// Ocean

#declare fnpSea0 = function { pigment {
 waves
 turbulence 0.4
 color_map { [ 0 rgb 0 ] [ 1 rgb 1 ] }
} }

#declare fnpSea1 = function { pigment {
 ripples
 turbulence 0.9
 color_map { [ 0 rgb 0 ] [ 1 rgb 1 ] }
} }

#declare fnpSea2 = function { pigment {
 bozo
 turbulence 0.7
 color_map { [ 0 rgb 0 ] [ 1 rgb 1 ] }
} }

#declare fnSea = function {
fnpSea0(x*.1,0,z*.1).gray*4+fnpSea0(x*3,0,z*3).gray*2-fnpSea2(x,0,z).gray }

#declare Sea = union {
 isosurface {
  function { y - fnSea(x*.01,y,z*.01) }
  contained_by { box { <-3000, -1, -3000>, <3000, 8, 3000> } }
  accuracy 0.01
  max_gradient 10
 }
 box { <-3000, -750, -3000>, <3000, -1, 3000> }
}

object { Sea pigment { pigSea } }

--- end code ---

And it gets worse if you replace pigSea with matSea.

Isosurface optimizations, anyone?


Post a reply to this message

From:
Subject: Re: I don't like limits :-(
Date: 5 Jun 2002 12:03:16
Message: <u5dsfukc3ui9pd378d9mu7shaddskc7m40@4ax.com>
On Wed, 5 Jun 2002 11:57:51 -0400, "David Wallace" <dar### [at] earthlinknet>
wrote:

> And it gets worse if you replace pigSea with matSea.

But this kind of slowness not depends on isosurface but on material.

> Isosurface optimizations, anyone?

At least three:

1. use patterns instead of pigments.gray for functions
2. use scale keyword in pattern instead scaling coordinates for function
3. if possible code function directly inside isosurface to avoid referencing

ABX


Post a reply to this message

From: Warp
Subject: Re: I don't like limits :-(
Date: 5 Jun 2002 14:35:22
Message: <3cfe59ea@news.povray.org>

> 2. use scale keyword in pattern instead scaling coordinates for function
> 3. if possible code function directly inside isosurface to avoid referencing

  Have you actually measured that those will help?

-- 
#macro M(A,N,D,L)plane{-z,-9pigment{mandel L*9translate N color_map{[0rgb x]
[1rgb 9]}scale<D,D*3D>*1e3}rotate y*A*8}#end M(-3<1.206434.28623>70,7)M(
-1<.7438.1795>1,20)M(1<.77595.13699>30,20)M(3<.75923.07145>80,99)// - Warp -


Post a reply to this message

From:
Subject: Re: I don't like limits :-(
Date: 6 Jun 2002 01:57:20
Message: <88utfukj0hpnrk1enp7k82n2rb1ujs1t89@4ax.com>
On 5 Jun 2002 14:35:22 -0400, Warp <war### [at] tagpovrayorg> wrote:
> > 2. use scale keyword in pattern instead scaling coordinates for function
> > 3. if possible code function directly inside isosurface to avoid referencing
>
> Have you actually measured that those will help?

I compared this for some previous betas - it wasn't scientific research but
just comparision in some particular scenes. I will try to make some better
comparisone and statistic later.

ABX


Post a reply to this message

From: David Wallace
Subject: Re: I don't like limits :-(
Date: 10 Jun 2002 21:11:06
Message: <3d054e2a@news.povray.org>

news:u5dsfukc3ui9pd378d9mu7shaddskc7m40@4ax.com...
> On Wed, 5 Jun 2002 11:57:51 -0400, "David Wallace"
<dar### [at] earthlinknet>
> wrote:
>
> > And it gets worse if you replace pigSea with matSea.
>
> But this kind of slowness not depends on isosurface but on material.
>
> > Isosurface optimizations, anyone?
>
> At least three:
>
> 1. use patterns instead of pigments.gray for functions
> 2. use scale keyword in pattern instead scaling coordinates for function
> 3. if possible code function directly inside isosurface to avoid
referencing
>
> ABX

I managed to implement points 1 and 2.... no noticeable effect.

#3 doesn't make for readable code.


Post a reply to this message

From:
Subject: Re: I don't like limits :-(
Date: 11 Jun 2002 02:10:01
Message: <4m4bgu0moo6kr0vddqvp0bq1vmck6h10u1@4ax.com>
On Mon, 10 Jun 2002 21:15:08 -0400, "David Wallace" <dar### [at] earthlinknet>
wrote:
> > At least three:
> >
> > 1. use patterns instead of pigments.gray for functions
> > 2. use scale keyword in pattern instead scaling coordinates for function
> > 3. if possible code function directly inside isosurface to avoid referencing
>
> I managed to implement points 1 and 2.... no noticeable effect.
> #3 doesn't make for readable code.

I just fiinished test with 5 passes:
- not optimized scene
- pattern instead of pigment
- scale instead of multiplications
- functions inlined completly and directly in isosurface
- all optimizations together
and difference was ~0.2% which can be just task priority issue. I think none
of my advices is valid for current release. There must be nice optimizations.

ABX


Post a reply to this message

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