POV-Ray : Newsgroups : povray.newusers : Very big time difference of a render Server Time
7 May 2024 14:36:07 EDT (-0400)
  Very big time difference of a render (Message 11 to 20 of 24)  
<<< Previous 10 Messages Goto Latest 10 Messages Next 4 Messages >>>
From: MichaelJF
Subject: Re: Very big time difference of a render
Date: 19 Jun 2013 16:15:01
Message: <web.51c2113991e1715f2ede600b0@news.povray.org>
On 18-6-2013 20:43, MichaelJF wrote:
>>
>>> It is a bad way! If animation?
>>
>> Yes in case of an animation this isn't a good idea. In case of a still it is the
>> way to go.

>I do not see the problem in the case of an animation, as Poseray is only
>used once, before any animation is started...

I think we have a misunderstanding here. My idea was, that the animation is done
within Blender. Blender will produce a POV-Scene for every frame and you have to
pass every Blender output frame through PoseRay, what is a little bit
inconvient. If the animation is done with POV you have to pass only the initial
scene through PoseRay. But I fear no Blender user will do so, since Blender is
designed to do animations. POV can do animations but it is not designed for it.

> But that leads us away from the thread's topic doesn't it?  ;-)

Yes, in a way. But I judge the original topic as solved. So we can drift off a
little bit.


>> Thomas mentioned problems with bad defined meshes which is true in general, but
>> not with your simple ones here. You have only a cube and such but not Lucy. I
>> think he only tried to give you an other hint, what could be got wrong from his
>> long time experience with POV.

>Just to say that POV-Ray and meshes (mesh2 in particular) work very well
>together :-)

Yes indeed, and it can handle bad welded meshes. I understand this as meshes
which having repeated vertices, edges or overlapping faces. I cannot see a
performance breakdown at the scale mentioned here. Best known example for
repeated vertices is the sky dome created by Lightsys "CIE Skylight". I never
had a problem with it.

Best regards,
Michael


Post a reply to this message

From: Alain
Subject: Re: Very big time difference of a render
Date: 19 Jun 2013 16:18:48
Message: <51c21228@news.povray.org>


> About the pigment_pattern with image map slowdown, how much does it really slow
> things down? Because that's really needed to get to more complex texture
> influence export  corner cases like specular mapping with a texture. To
> implement scripted conditions that detect more cleverly the complexity of the
> scene in original file and export only with necessary features, I need to know
> how much speed could be gained, and if it's really worth it.
>
>


This can vary greatly. It all depends on the complexity of the 
controling pattern and what you do with it.
Whenever you have any ..._map, there is some blending and averaging 
done. Everywhere outside the values that are explicitely provided, you 
need to evaluate at least 2 pigments, textures or normals, and ponderate 
each according to it's contribution. The worst case been an average_map 
of full textures with normals, reflection and transparency.

A best case:
pigment_map{[0.5 Pigment1][0.5 Pigment2]}
pigment_map{[0.25 Pigment1][0.25 Pigment2][0.5 Pigment2][0.5 
Pigment3][0.75 Pigment3][0.75 Pigment4]}

No notable slowdown, from 0 to 0.5, you use only Pigment1, and from 0.5 
to 1, it's only Pigment2. Here, it don't mather how many entries there 
are, as long as each transitions are abrupt.

Worst case:
texture{average{[1 texture Texture1][1 texture Texture2]...[1 texture 
Texture255]]

About 255 times slower as all 255 textures need to be evaluated and 
averaged.


Post a reply to this message

From: Thomas de Groot
Subject: Re: Very big time difference of a render
Date: 20 Jun 2013 03:18:17
Message: <51c2acb9$1@news.povray.org>
On 19-6-2013 22:14, MichaelJF wrote:
> I think we have a misunderstanding here. My idea was, that the animation is done
> within Blender. Blender will produce a POV-Scene for every frame and you have to
> pass every Blender output frame through PoseRay, what is a little bit
> inconvient. If the animation is done with POV you have to pass only the initial
> scene through PoseRay. But I fear no Blender user will do so, since Blender is
> designed to do animations. POV can do animations but it is not designed for it.

Ouch. Stupid me. Forgot about /Blender/ animations... :-)


>> Just to say that POV-Ray and meshes (mesh2 in particular) work very well
>> together :-)
>
> Yes indeed, and it can handle bad welded meshes. I understand this as meshes
> which having repeated vertices, edges or overlapping faces. I cannot see a
> performance breakdown at the scale mentioned here. Best known example for
> repeated vertices is the sky dome created by Lightsys "CIE Skylight". I never
> had a problem with it.

Also correct. Bad meshes can create other problems than the ones 
mentioned here indeed. I was wondering in fact about their behaviour in 
combination with media and/or photons, e.g. with inconsistent normal 
orientations.

Thomas

Thomas


Post a reply to this message

From: LanuHum
Subject: Re: Very big time difference of a render
Date: 22 Jun 2013 04:10:01
Message: <web.51c55ab091e1715f7a3e03fe0@news.povray.org>
"Mr" <nomail@nomail> wrote:
> I don't know how you managed to get this media sample count from the official
> blender exporter since the media samples allowed by its interface are a maximum
> number of 100.
>
> About the pigment_pattern with image map slowdown, how much does it really slow
> things down? Because that's really needed to get to more complex texture
> influence export  corner cases like specular mapping with a texture. To
> implement scripted conditions that detect more cleverly the complexity of the
> scene in original file and export only with necessary features, I need to know
> how much speed could be gained, and if it's really worth it.
>
> Anyway, LanuHum, this is a very interesting type of comparison to improve the
> exporter. there could be such tests for many other features with very simple
> scenes also usefull to spot regressions of exporter versions. I think I did put
> a few scenes on the exporter wiki for that already and I might have a few others
> on my local drive at home. ask me by mail if you want them and please could you
> also send me any updates to your version of the script when you manage to get it
> closer to the official one so that I can try to merge the two versions.

Initially:
Why I started working with Povray?
I was interested by possibility of application to object of several materials
with various characteristics:Glass with a color pattern, on it mirror patterns
from silver, on mirror patterns blackening (oxygenating)

Blender internal render is able to draw it, but without photons, without
caustic, without iridescence
Povray is able to draw it, with photons, with caustic, with iridescence.

For this purpose it is necessary to use textural maps
I turned on at once two maps in function of write of the file, it is so simpler
to operate process automatically
If material 1, textural map: rgb 0, if materials 2 - textural map: image
If material 1 and textural map: rgb 0 - can, it not rational (record or write),
but this process doesn't take a lot of time, but relieves the programmer of a
difficult code

Now for me the main problem - to create a preview of the patterns built in
Povray by means of any crutch as I am not a professional in the field of
programming. It is simple my hobby, I don't know much.

After that it will be necessary to clear, correct errors, to establish rational
parameters by default, and, it will be possible to try to create very good
scenes

My version of the exporter is based on the official version, I didn't write a
code from a blank sheet, but... the official version seeks to tie the Povray
parameters to the Blender parameters that absolutely irrationally and doesn't
allow to use all capacity or Povray force

I connect the Povray parameters with the Blender parameters only to create a
preview of materials in Blender. The preview of the materials surface with
textures like image from file is already available:
http://yadi.sk/d/I4Dk-4G063iaU

If my work is interesting to you and there are questions, you can contact me
having written to me here:
Lan### [at] yandexru
But, you remember, I use an online translator for communication with
English-speaking people of our planet


Post a reply to this message

From: LanuHum
Subject: Re: Very big time difference of a render
Date: 22 Jun 2013 05:30:00
Message: <web.51c56c5691e1715f7a3e03fe0@news.povray.org>
Alain <kua### [at] videotronca> wrote:

>
> Your light_source is a basic point_light, blender's light_source is a
> fading one. The fading light_source is a little slower as the distance
> must be calculated and the fading applied.
>
> For your media, you use samples 30, and you use a very small extinction
> value of 0.1.
> For the blender's media, it's samples 256, and use a HUGE, I may say
> insane, extinction value of 4.871 !
>
> If your mesh contains long and narrow triangles, those can't be bounded
> effeciently. Subdividing the mesh, or not decimating it, can make it
> render faster.
>
>
>
>
>
> Alain



Why I can't attach the picture?
I corrected parameters, having led them to data in an example.
Time of the render became identical, but quality became very bad
http://yadi.sk/d/WCB2fgGM63ogz







//----------------------------------------------
//--Exported with POV-Ray exporter for Blender--
//----------------------------------------------

#version 3.7;
#include "functions.inc"


global_settings {
    assumed_gamma 1.0}

background {rgbt<0.0509, 0.0509, 0.0509, 0>}

#declare T_Map_Cube = pigment {color rgb<0,0,0>}
#declare Texture_2_Cube = pigment {color rgb<0,0,0>}
#declare T_Map_Plane = pigment {color rgb<0,0,0>}
#declare Texture_2_Plane = pigment {color rgb<0,0,0>}
#declare T_Map_scat_mesh = pigment {color rgb<0,0,0>}
#declare Texture_2_scat_mesh = pigment {color rgb<0,0,0>}
#declare shader_Material = finish {  //translation of spec and mir levels for
when no map influences them
    brilliance 2
    specular 0
    roughness 0.0001
    diffuse 0.8 0
    ambient <0, 0, 0>
    emission 0
    conserve_energy
}

#declare Texture_1_Cube = texture {pigment {color rgbft<0.8,0.8,0.8,0,0>}
finish{shader_Material}}
#declare shader_Material_002 = finish {  //translation of spec and mir levels
for when no map influences them
    brilliance 2
    specular 0.5
    roughness 0.01
    diffuse 0.8 0
    ambient <0, 0, 0>
    emission 0
    conserve_energy
    reflection {
        0.51        metallic 0    }
}

#declare Texture_1_Plane = texture {pigment {color rgbft<0.8,0.6416,0.1664,0,0>}
finish{shader_Material_002}}
#declare shader_Material_001 = finish {  //translation of spec and mir levels
for when no map influences them
    diffuse 0.8
    phong 70.0
}

#declare Texture_1_scat_mesh = texture {pigment {color rgbt 1}}
#declare T_Mix_1_Cube = Texture_1_Cube
#declare T_Mix_2_Cube = Texture_2_Cube
#declare T_Mix_1_Plane = Texture_1_Plane
#declare T_Mix_2_Plane = Texture_2_Plane
#declare T_Mix_1_scat_mesh = Texture_1_scat_mesh
#declare T_Mix_2_scat_mesh = Texture_2_scat_mesh

//--Mesh objects--

#declare Plane =
mesh2 {
    vertex_vectors {
        4,
        <1.000000, -1.000000, 0.000000>,
        <-1.000000, -1.000000, 0.000000>,
        <1.000000, 1.000000, 0.000000>,
        <-1.000000, 1.000000, 0.000000>
    }
    normal_vectors {
        1,
        <0.000000, 0.000000, 1.000000>
    }
    texture_list{1, texture { pigment_pattern { T_Map_Plane }
            texture_map {
                [0.0 T_Mix_1_Plane]
                [1.0 T_Mix_2_Plane]
    }}}
    face_indices {
        2,
        <1,0,2>, 0,0,0,
        <1,2,3>, 0,0,0
    }
    normal_indices {
        2,
        <0,0,0>,
        <0,0,0>
    }
    interior {
        ior 1.000000
        caustics 0.1
    }
    photons{    }
    radiosity {
        importance   1
    }
}

#declare Cube =
mesh2 {
    vertex_vectors {
        24,
        <1.000000, 1.000000, -1.000000>,
        <1.000000, -1.000000, -1.000000>,
        <-1.000000, -1.000000, -1.000000>,
        <-1.000000, 1.000000, -1.000000>,
        <1.000000, 0.999999, 1.000000>,
        <0.999999, -1.000001, 1.000000>,
        <-1.000000, -1.000000, 1.000000>,
        <-1.000000, 1.000000, 1.000000>,
        <1.000000, 0.242933, -0.242933>,
        <1.000000, -0.242933, -0.242933>,
        <1.000000, 0.242933, 0.242933>,
        <1.000000, -0.242933, 0.242933>,
        <0.958881, 0.958881, -0.958881>,
        <-0.958881, 0.958882, -0.958881>,
        <-0.958881, -0.958881, -0.958881>,
        <0.958881, -0.958881, -0.958881>,
        <0.958882, 0.958881, 0.958881>,
        <0.958881, -0.958882, 0.958881>,
        <-0.958882, -0.958881, 0.958881>,
        <-0.958881, 0.958881, 0.958881>,
        <0.958881, 0.242933, -0.242933>,
        <0.958881, 0.242933, 0.242933>,
        <0.958881, -0.242933, -0.242933>,
        <0.958881, -0.242933, 0.242933>
    }
    normal_vectors {
        21,
        <1.000000, -0.000000, 0.000000>,
        <-0.000000, -1.000000, -0.000000>,
        <0.000000, 0.000000, -1.000000>,
        <1.000000, -0.000000, 0.000000>,
        <1.000000, -0.000000, -0.000000>,
        <-0.000000, -0.000000, 1.000000>,
        <0.000000, -0.000000, 1.000000>,
        <0.000000, 0.000000, -1.000000>,
        <0.000000, 1.000000, 0.000000>,
        <0.000000, 0.000000, -1.000000>,
        <-1.000000, 0.000001, -0.000000>,
        <1.000000, 0.000000, 0.000000>,
        <-0.000000, -1.000000, -0.000000>,
        <-1.000000, 0.000000, -0.000000>,
        <-1.000000, 0.000000, -0.000000>,
        <-1.000000, 0.000000, -0.000000>,
        <0.000000, 1.000000, 0.000000>,
        <-1.000000, 0.000000, 0.000000>,
        <0.000000, 1.000000, 0.000000>,
        <1.000000, -0.000001, 0.000000>,
        <-0.000000, -1.000000, -0.000000>
    }
    texture_list{1, texture { pigment_pattern { T_Map_Cube }
            texture_map {
                [0.0 T_Mix_1_Cube]
                [1.0 T_Mix_2_Cube]
    }}}
    face_indices {
        44,
        <0,1,2>, 0,0,0,
        <0,2,3>, 0,0,0,
        <4,7,6>, 0,0,0,
        <4,6,5>, 0,0,0,
        <0,4,10>, 0,0,0,
        <0,10,8>, 0,0,0,
        <1,5,6>, 0,0,0,
        <1,6,2>, 0,0,0,
        <2,6,7>, 0,0,0,
        <2,7,3>, 0,0,0,
        <4,0,3>, 0,0,0,
        <4,3,7>, 0,0,0,
        <1,0,8>, 0,0,0,
        <1,8,9>, 0,0,0,
        <5,1,9>, 0,0,0,
        <5,9,11>, 0,0,0,
        <4,5,11>, 0,0,0,
        <4,11,10>, 0,0,0,
        <12,13,14>, 0,0,0,
        <12,14,15>, 0,0,0,
        <16,17,18>, 0,0,0,
        <16,18,19>, 0,0,0,
        <12,20,21>, 0,0,0,
        <12,21,16>, 0,0,0,
        <15,14,18>, 0,0,0,
        <15,18,17>, 0,0,0,
        <14,13,19>, 0,0,0,
        <14,19,18>, 0,0,0,
        <16,19,13>, 0,0,0,
        <16,13,12>, 0,0,0,
        <15,22,20>, 0,0,0,
        <15,20,12>, 0,0,0,
        <17,23,22>, 0,0,0,
        <17,22,15>, 0,0,0,
        <16,21,23>, 0,0,0,
        <16,23,17>, 0,0,0,
        <8,10,21>, 0,0,0,
        <8,21,20>, 0,0,0,
        <11,9,22>, 0,0,0,
        <11,22,23>, 0,0,0,
        <10,11,23>, 0,0,0,
        <10,23,21>, 0,0,0,
        <9,8,20>, 0,0,0,
        <9,20,22>, 0,0,0
    }
    normal_indices {
        44,
        <9,9,9>,
        <9,9,9>,
        <6,6,6>,
        <6,6,6>,
        <4,4,4>,
        <4,4,4>,
        <12,12,12>,
        <12,12,12>,
        <15,15,15>,
        <15,15,15>,
        <16,16,16>,
        <16,16,16>,
        <11,11,11>,
        <11,11,11>,
        <0,0,0>,
        <0,0,0>,
        <19,19,19>,
        <19,19,19>,
        <6,6,6>,
        <6,6,6>,
        <7,7,7>,
        <7,7,7>,
        <17,17,17>,
        <17,17,17>,
        <18,18,18>,
        <18,18,18>,
        <3,3,3>,
        <3,3,3>,
        <20,20,20>,
        <20,20,20>,
        <14,14,14>,
        <14,14,14>,
        <13,13,13>,
        <13,13,13>,
        <10,10,10>,
        <10,10,10>,
        <1,1,1>,
        <1,1,1>,
        <8,8,8>,
        <8,8,8>,
        <2,2,2>,
        <2,2,2>,
        <5,5,5>,
        <5,5,5>
    }
    interior {
        ior 1.000000
        caustics 0.1
    }
    photons{    }
    radiosity {
        importance   1
    }
}

#declare scat_mesh =
mesh2 {
    vertex_vectors {
        8,
        <0.958881, 0.958881, -0.958881>,
        <-0.958881, 0.958882, -0.958881>,
        <-0.958881, -0.958881, -0.958881>,
        <0.958881, -0.958881, -0.958881>,
        <0.958882, 0.958881, 0.958881>,
        <0.958881, -0.958882, 0.958881>,
        <-0.958882, -0.958881, 0.958881>,
        <-0.958881, 0.958881, 0.958881>
    }
    normal_vectors {
        6,
        <0.000000, 0.000000, -1.000000>,
        <-0.000000, -1.000000, -0.000000>,
        <-1.000000, 0.000000, -0.000000>,
        <0.000000, 1.000000, 0.000000>,
        <0.000000, -0.000000, 1.000000>,
        <1.000000, -0.000000, 0.000000>
    }
    texture_list{1, texture { pigment_pattern { T_Map_scat_mesh }
            texture_map {
                [0.0 T_Mix_1_scat_mesh]
                [1.0 T_Mix_2_scat_mesh]
    }}}
    face_indices {
        12,
        <0,1,2>, 0,0,0,
        <0,2,3>, 0,0,0,
        <4,5,6>, 0,0,0,
        <4,6,7>, 0,0,0,
        <3,2,6>, 0,0,0,
        <3,6,5>, 0,0,0,
        <2,1,7>, 0,0,0,
        <2,7,6>, 0,0,0,
        <1,0,4>, 0,0,0,
        <1,4,7>, 0,0,0,
        <4,0,3>, 0,0,0,
        <4,3,5>, 0,0,0
    }
    normal_indices {
        12,
        <4,4,4>,
        <4,4,4>,
        <0,0,0>,
        <0,0,0>,
        <3,3,3>,
        <3,3,3>,
        <5,5,5>,
        <5,5,5>,
        <1,1,1>,
        <1,1,1>,
        <2,2,2>,
        <2,2,2>
    }
    hollow
    interior {
         media {
              scattering { 1,
                  <0.07, 0.07, 0.07>
               extinction 0.01 }
              samples 30
        }
    }

    radiosity {
        importance   1
    }
}
//----Blender Object Name:Cube----
object {
    Cube
    matrix <3.606718, 0.000000, 0.000000,  0.000000, -0.000000, -4.657150,
0.000000, 3.606718, -0.000000,  0.000000, 7.194383, -0.000000>

}
//----Blender Object Name:scat_mesh----
object {
    scat_mesh
    matrix <3.812278, 0.000000, 0.000000,  0.000000, -0.000000, -2.925094,
0.000000, 3.165012, -0.000000,  0.000000, 5.448325, -0.000000>

}
//----Blender Object Name:Plane----
object {
    Plane
    matrix <3.974819, 0.000000, 0.000000,  0.000000, -0.000000, -3.974819,
0.000000, 3.974819, -0.000000,  0.000000, 3.818269, -0.000000>

}



light_source {
    <0,9.53,-4.17e-07>
    color rgb<0.2, 0.2, 0.2>

    media_interaction off
}
light_source {
    <12,16.5,-0.0603>
    color rgb<2.72, 2.72, 2.72>

}
camera {
    perspective
    location  <0, 0, 0>
    look_at  <0, 0, -1>
    right <-1.7777777777777777, 0, 0>
    up <0, 1, 0>
    angle  94.062196
    rotate  <-1.812309, 0.262519, -0.000000>
    translate <0.019003, 5.343665, 4.147384>
}


Post a reply to this message

From: Le Forgeron
Subject: Re: Very big time difference of a render
Date: 22 Jun 2013 06:39:33
Message: <51c57ee5$1@news.povray.org>
Le 22/06/2013 11:24, LanuHum nous fit lire :
> Why I can't attach the picture?

Because this group is not for binary attachment.
Use povray.binary.images to post pictures

> I corrected parameters, having led them to data in an example.
> Time of the render became identical, but quality became very bad
> http://yadi.sk/d/WCB2fgGM63ogz

The right/bottom of the light "cone" indeed is displaying artefact.


Post a reply to this message

From: LanuHum
Subject: Re: Very big time difference of a render
Date: 22 Jun 2013 08:50:00
Message: <web.51c59d3791e1715f7a3e03fe0@news.povray.org>
Le_Forgeron <jgr### [at] freefr> wrote:

>
> The right/bottom of the light "cone" indeed is displaying artefact.

But, when I render an example from documentation there are no artifacts
I again created a cube-mesh in the same scale, as in an example
It turns out too badly


Post a reply to this message

From: Mr
Subject: Re: Very big time difference of a render
Date: 25 Jun 2013 08:10:01
Message: <web.51c9877291e1715fed29e82f0@news.povray.org>
> My version of the exporter is based on the official version, I didn't write a
> code from a blank sheet, but... the official version seeks to tie the Povray
> parameters to the Blender parameters that absolutely irrationally and doesn't
> allow to use all capacity or Povray force

The current implementation tied to blender parameters is only the first step,
what you are trying to do is the second step of what is planned for the exporter
development. the two steps are supposed to remain, just like you could convert
Blender Internal Material for Luxrender with its exporter AND also do native Lux
textures.

For this to work, the current "translation" code needs not to be broken, so more
features would stay available. Your discarding all that was previously done to
make your version from scratch makes us do double work instead of teaming up.

However I do understand that you want to be free to make your own workflow, I
hope you'll get everything in place soon so that maybe I can stop developing and
focus at last on creating nice images.

Note that the idea of the current exporter is not only to get access to all
POV-Ray's features, but also to use blender interface and workflow as a shortcut
to some advanced cases that would be cumbersome to code in POV-Ray such as
specular mapping, or try using blender's presets for subsurface scattering with
POV and you'll see what I mean as well.

In any case, thanks for keeping up the good work.


Post a reply to this message

From: LanuHum
Subject: Re: Very big time difference of a render
Date: 27 Jun 2013 13:00:01
Message: <web.51cc6e5691e1715f7a3e03fe0@news.povray.org>
"Mr" <nomail@nomail> wrote:
> > My version of the exporter is based on the official version, I didn't write a
> > code from a blank sheet, but... the official version seeks to tie the Povray
> > parameters to the Blender parameters that absolutely irrationally and doesn't
> > allow to use all capacity or Povray force
>
> The current implementation tied to blender parameters is only the first step,
> what you are trying to do is the second step of what is planned for the exporter
> development. the two steps are supposed to remain, just like you could convert
> Blender Internal Material for Luxrender with its exporter AND also do native Lux
> textures.
>
> For this to work, the current "translation" code needs not to be broken, so more
> features would stay available. Your discarding all that was previously done to
> make your version from scratch makes us do double work instead of teaming up.
>
> However I do understand that you want to be free to make your own workflow, I
> hope you'll get everything in place soon so that maybe I can stop developing and
> focus at last on creating nice images.
>
> Note that the idea of the current exporter is not only to get access to all
> POV-Ray's features, but also to use blender interface and workflow as a shortcut
> to some advanced cases that would be cumbersome to code in POV-Ray such as
> specular mapping, or try using blender's presets for subsurface scattering with
> POV and you'll see what I mean as well.
>
> In any case, thanks for keeping up the good work.

I not against cooperation with you.
I do this work quicker to receive full-function addon.
Therefore I ask questions on this site.
It is important to me to know that can achieve and that it is impossible.
Nobody prompted to me how to bypass defect: long time with bad quality when
using media scattering with mesh2.
I am inclined to replace mesh with povray object "superellipsoid"
I will involve for this purpose the Blender boolean modifier
When I learn the potential, we will be able to talk about cooperation.
But, I support creation of the separate interface for Povray in Blender.
Otherwise many parameters remain unused. They will prevent the user to be guided
and find the necessary.
You don't need to stop the work, I always watch development of the official
version.
Ahead still there is a lot of work

Due to the problem of media scattering with photons there is a new question.
From a floor on a wall light which color is reflected is set by the reflection
parameter, but really the floor can have multi-color reflection which as I
understood, it is impossible to set.


Post a reply to this message

From: Mr
Subject: Re: Very big time difference of a render
Date: 27 Jun 2013 18:00:01
Message: <web.51ccb52291e1715f468b4f10@news.povray.org>
"LanuHum" <Lan### [at] yandexru> wrote:

> Due to the problem of media scattering with photons there is a new question.
> From a floor on a wall light which color is reflected is set by the reflection
> parameter, but really the floor can have multi-color reflection which as I
> understood, it is impossible to set.


Maybe I misunderstood your question, because I don't see what "the problem of
media scattering with photons" exactly is. if there is some  well known issue, I
haven't come across it yet, could you explain more in detail what is wrong with
media or photons? Otherwise, if you just want "colored reflections" these could
be of three form:
*realistic diffuse reflection(radiosity)
*specular (phong or specular keyword in pov)
*raytraced mirrored "image" of reflected objects (reflection keyword in pov)

In the case of the first pov feature type (radiosity) local colors will be
transfered to reflective surface automatically.

For both the second and third types, you can set custom colored reflection. the
color of those will then depend more on the reflective objects color than on the
reflected ones. We set those  with the "metallic" keyword in the respective
blocs.

This is already implemented in the official version of the blender exporter. it
has given me a hard time and brought a few bugs along that I (or anyone willing
to help if there ever is one) still have to fix, like the multiple materials per
object that got broken, mostly because objects and materials that first get
created are not given a declared name consistently yet.

The hardest thing to implement was to allow the use of a specular color
different from the diffuse color while maintaining as many textured bitmaps as
possible: alpha, bump and diffuse: specular mapping wich is the last one
available for the usual case of a non colored specular highlight of potentially
unequal intensities in various points of the surface, this had to be disabled
since custom colored specularity uses layered textures:
the upper layer has metallic keyword to give specularity the color of an
invisible pigmentwith full transmit, taken from the Blender "specular_color"
field.
And it happens that patterned textures aka the "finish map" technique used for
modulating finish specular intensities across surface according to a bitmap)
can't be used within layered textures.

this is a known POV-Ray limitation. All other solutions offered so far involve
breaking some existing exporter feature such as multi material per object
(indeed currently broken but fixable).

I wish the best to your exporter and I hope to be able to take things from it
soon and give you credit for them.

Take care and enjoy.


Post a reply to this message

<<< Previous 10 Messages Goto Latest 10 Messages Next 4 Messages >>>

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