POV-Ray : Newsgroups : povray.binaries.images : A head full of hair Server Time
27 Nov 2021 10:09:42 EST (-0500)
  A head full of hair (Message 11 to 20 of 21)  
<<< Previous 10 Messages Goto Latest 10 Messages Next 1 Messages >>>
From: Samuel B 
Subject: Re: A head full of hair
Date: 23 Sep 2021 18:05:00
Message: <web.614cf9b5467a8aa7cb705ca46e741498@news.povray.org>
Thomas de Groot <tho### [at] degrootorg> wrote:
> Op 22/09/2021 om 02:47 schreef Samuel B.:
> > Hey, a fellow i5 owner :) I've got a 6500 here. It's a really good chip.
> >
> <grin> I have an i5 8250 and an i7 8750 here. For some arcane and
> absolutely trivial reasons, I am using the i5 more than the i7, but
> there it is. :-)

Based on user benchmarks, the i5-6500 seems to perform a bit better than the
i5-8250(U), but the i7-8750(H) outperforms both. (The number of cores, however,
do factor into all this.)

From what I've seen, CPU performance has been rather incremental over the years
when it comes to the hard stuff like raytracing... Certain things will always be
slow to parse and/or render, which is why I try to find faster ways of doing
things when possible...

> > Ten minutes of parsing seems a little steep.(...) Thirty minutes of
> > render time doesn't seem as terrible as it could be
> >
> Not sure as I have not been monitoring closely what is going on, I guess
> it is the building of the individual mesh2 hairs which sums up. In a
> next run , I shall save/read the hair meshes and that goes faster in the
> end imo.

What's the shape of the hair follicles? If they are round, how many sides do
they have?

And if you're using includes, then perhaps they are the reason for your high
parse times. So if it's at all possible, maybe try copying all the necessary
macros &/ functions into your scene file, since using includes in any heavy way
is much slower than referencing local code. (But I think you knew this already.)

> But, not trivial, I had the laptop battery in "best battery
> life" mode; "best performance" mode is certainly faster indeed.

I've got a 2012 laptop, and I've been using it without its battery for a number
of years now. (The battery's fine, but I like to extend its life by not using it
;D) The laptop just stays plugged in with high performance mode enabled at all
times. Enabling best/high performance really does make a difference.

An unfortunate thing happened recently... I've got the laptop perched on two
small planks (for air flow) on top of my desktop computer. It's up high so that
the laptop can get a better signal. Well, one night I was a little careless and
didn't notice the planks were slipping... Anyway, the laptop fell off and I put
it back thinking nothing of it. But the next day I realized the earbuds jack was
askew... Turns out the port got bent when everything fell over, and now it only
transmits a signal through one channel D: And I can't observe the contacts
without taking the whole thing apart (I've opened the laptop plenty of times,
but never removed /everything/). My only other option is cutting a hole through
the plastic over the problematic area. but at least the thing is still
functional in all other respects :P

> > Did I ever post my experiments with hair? I was using an .obj-to-.pov converter
> > and trying to grow hair from a mesh. The way I had it set up was if a triangle
> > was too small it only had a small chance to grow a hair, otherwise it would try
> > to grow a certain number of hairs for a given triangle's area. (...)
> >
> I don't remember, but that looks interesting, especially the approach
> using triangle sizes. I had not thought of that aspect. I simply used a
> simple trace() function on the skullcap from randomly generated points
> on an external sphere. Pretty fast by itself.

The code for the hair still exists somewhere, but it is not readily available. I
do, however, have at hand the program I wrote to convert .obj files to
POV-readable data. (I may have posted it once; I'll have to check.) The program
exports arrays, with options for additional data such as neighboring faces and
vertices. (If you remember some preliminary stuff I posted a while back for an
IRTC competition, that's what I was using to make flagstones/stone walls out of
blobs.)

> > P.S. Thanks for reminding me of Wallace and Gromit. It's a great series. Just
> > watched A Close Shave. What a gem of a flick :D
> >
> Oh yes, I love them. I was reminded of the scene showing Wallace tasting
> a piece of Moon (on toast) and musing: "Wensleydale?"

Lol. Based on how often he mentions that particular cheese, I'd say it's his
favorite :)

After you originally mentioned W&G I got to thinking... There might have a way
to make a convincing clay material, complete with fingerprints. It involves the
use of slope patterns and projected normals...

Sam


Post a reply to this message

From: Thomas de Groot
Subject: Re: A head full of hair
Date: 24 Sep 2021 09:15:42
Message: <614dcf7e$1@news.povray.org>
Op 24-9-2021 om 00:03 schreef Samuel B.:
> Thomas de Groot <tho### [at] degrootorg> wrote:
>> Op 22/09/2021 om 02:47 schreef Samuel B.:
>>> Hey, a fellow i5 owner :) I've got a 6500 here. It's a really good chip.
>>>
>> <grin> I have an i5 8250 and an i7 8750 here. For some arcane and
>> absolutely trivial reasons, I am using the i5 more than the i7, but
>> there it is. :-)
> 
> Based on user benchmarks, the i5-6500 seems to perform a bit better than the
> i5-8250(U), but the i7-8750(H) outperforms both. (The number of cores, however,
> do factor into all this.)
> 
Indeed. the i5 has 4 cores / 8 logical processors (hence my +wt7) and 
the i7 has 6 cores / 12 logical processors, where I generally use +wt10 
or +wt11.

>  From what I've seen, CPU performance has been rather incremental over the years
> when it comes to the hard stuff like raytracing... Certain things will always be
> slow to parse and/or render, which is why I try to find faster ways of doing
> things when possible...
> 
I sometimes take up again old scenes which I found almost impossible to 
render within a "acceptable"(?) time back then, and which now render 
pretty fast.

>>> Ten minutes of parsing seems a little steep.(...) Thirty minutes of
>>> render time doesn't seem as terrible as it could be
>>>
>> Not sure as I have not been monitoring closely what is going on, I guess
>> it is the building of the individual mesh2 hairs which sums up. In a
>> next run , I shall save/read the hair meshes and that goes faster in the
>> end imo.
> 
> What's the shape of the hair follicles? If they are round, how many sides do
> they have?
> 
Using Robert's settings here, without change:
#declare Upoints = 50; // Number of points along
#declare Vpoints = 5;  // Number of points around

> And if you're using includes, then perhaps they are the reason for your high
> parse times. So if it's at all possible, maybe try copying all the necessary
> macros &/ functions into your scene file, since using includes in any heavy way
> is much slower than referencing local code. (But I think you knew this already.)
> 
Yes, I generally try to put all relevant, repeating, macros and 
functions in the scene file. I probably could gain more parse time by 
picking out Sweepspline.inc and more especially meshmaker.inc, but I 
didn't do that (laziness).

>> But, not trivial, I had the laptop battery in "best battery
>> life" mode; "best performance" mode is certainly faster indeed.
> 
> I've got a 2012 laptop, and I've been using it without its battery for a number
> of years now. (The battery's fine, but I like to extend its life by not using it
> ;D) The laptop just stays plugged in with high performance mode enabled at all
> times. Enabling best/high performance really does make a difference.
>
Yes, I increasingly do that too, especially when doing heavy duty renders.

> An unfortunate thing happened recently... I've got the laptop perched on two
> small planks (for air flow) on top of my desktop computer. It's up high so that
> the laptop can get a better signal. Well, one night I was a little careless and
> didn't notice the planks were slipping... Anyway, the laptop fell off and I put
> it back thinking nothing of it. But the next day I realized the earbuds jack was
> askew... Turns out the port got bent when everything fell over, and now it only
> transmits a signal through one channel D: And I can't observe the contacts
> without taking the whole thing apart (I've opened the laptop plenty of times,
> but never removed /everything/). My only other option is cutting a hole through
> the plastic over the problematic area. but at least the thing is still
> functional in all other respects :P
> 
Yeah... one of those "stupid" accidents. I got my touchpad blocked 
(something heavy fell on it - not my hammer - and since then it is 
unoperable) but as I much prefer a good mouse I just leave it at that.

>>> Did I ever post my experiments with hair? I was using an .obj-to-.pov converter
>>> and trying to grow hair from a mesh. The way I had it set up was if a triangle
>>> was too small it only had a small chance to grow a hair, otherwise it would try
>>> to grow a certain number of hairs for a given triangle's area. (...)
>>>
>> I don't remember, but that looks interesting, especially the approach
>> using triangle sizes. I had not thought of that aspect. I simply used a
>> simple trace() function on the skullcap from randomly generated points
>> on an external sphere. Pretty fast by itself.
> 
> The code for the hair still exists somewhere, but it is not readily available. I
> do, however, have at hand the program I wrote to convert .obj files to
> POV-readable data. (I may have posted it once; I'll have to check.) The program
> exports arrays, with options for additional data such as neighboring faces and
> vertices. (If you remember some preliminary stuff I posted a while back for an
> IRTC competition, that's what I was using to make flagstones/stone walls out of
> blobs.)
> 
I didn't check yet, but I may have that somewhere in my database, filed 
under "Sam Benge" :-)

>>> P.S. Thanks for reminding me of Wallace and Gromit. It's a great series. Just
>>> watched A Close Shave. What a gem of a flick :D
>>>
>> Oh yes, I love them. I was reminded of the scene showing Wallace tasting
>> a piece of Moon (on toast) and musing: "Wensleydale?"
> 
> Lol. Based on how often he mentions that particular cheese, I'd say it's his
> favorite :)
> 
> After you originally mentioned W&G I got to thinking... There might have a way
> to make a convincing clay material, complete with fingerprints. It involves the
> use of slope patterns and projected normals...
> 
Now, that might be interesting indeed. Based on blobs I presume?

-- 
Thomas


Post a reply to this message

From: Paolo Gibellini
Subject: Re: A head full of hair
Date: 24 Sep 2021 18:18:13
Message: <614e4ea5$1@news.povray.org>
Il 21/09/2021 14:24, Thomas de Groot ha scritto:
 > Following an old discussion in 2014:
 > 
http://news.povray.org/povray.binaries.images/thread/%3Cweb.52dff97746aac96b7a3e03fe0@news.povray.org%3E/?mtop=391452&moff=21


 >
 >
 > I took up Robert McGregor's code to see how it could be tweaked to
 > obtain a nice haircut. 10000 hairs were planted here. To give a rough
 > approximation: parsing took about 10 minutes and complete (stochastic)
 > render about half an hour with an i5 machine (Win10; Pov version 3.8).
 > The small highlights on the hairs resulted from a combination
 > normal/finish choices.
 >

He is definitely Der Struwwelpeter 
(https://de.wikipedia.org/wiki/Struwwelpeter)!

A nice job,
    Paolo


Post a reply to this message

From: Kenneth
Subject: Re: A head full of hair
Date: 24 Sep 2021 20:10:00
Message: <web.614e685b467a8aa74cef624e6e066e29@news.povray.org>
Thomas de Groot <tho### [at] degrootorg> wrote:
> Following an old discussion in 2014:
>
http://news.povray.org/povray.binaries.images/thread/%3Cweb.52dff97746aac96b7a3e03fe0@news.povray.org%3E/?mtop=391452
&moff=21
>
> I took up Robert McGregor's code to see how it could be tweaked to
> obtain a nice haircut.

I love this-- especially with all the hair shadows falling over the face. No
fakery there!

I'm curious: In the news thread you mentioned (or maybe an offshoot of it), one
of the ideas was to color each hair along its individual curl, like uv-mapping,
using some clever code. I can't really discern that effect from your posted
render, but did you do that as well?

> Based on user benchmarks, the i5-6500 seems to perform a bit better than the
> i5-8250(U), but the i7-8750(H) outperforms both. (The number of cores, however,
> do factor into all this.)
>
Indeed. the i5 has 4 cores / 8 logical processors (hence my +wt7) and
the i7 has 6 cores / 12 logical processors, where I generally use +wt10
or +wt11.

Naw-- an i7 with 8 cores/16 threads is the way to go :-P (My previous machine
was a Win7 box with 'only' 2 cores! How did I ever manage with that?!)


Post a reply to this message

From: Thomas de Groot
Subject: Re: A head full of hair
Date: 25 Sep 2021 03:04:31
Message: <614ec9ff$1@news.povray.org>
Op 25/09/2021 om 02:07 schreef Kenneth:
> Thomas de Groot <tho### [at] degrootorg> wrote:
>> Following an old discussion in 2014:
>>
http://news.povray.org/povray.binaries.images/thread/%3Cweb.52dff97746aac96b7a3e03fe0@news.povray.org%3E/?mtop=391452
> &moff=21
>>
>> I took up Robert McGregor's code to see how it could be tweaked to
>> obtain a nice haircut.
> 
> I love this-- especially with all the hair shadows falling over the face. No
> fakery there!
> 
> I'm curious: In the news thread you mentioned (or maybe an offshoot of it), one
> of the ideas was to color each hair along its individual curl, like uv-mapping,
> using some clever code. I can't really discern that effect from your posted
> render, but did you do that as well?
> 
Hmm, good question. Each mesh2 hair is uv-mapped by meshmaker when 
created, and the pigment is uv-mapped on the mesh2... so, that seems to 
be happening indeed. I shall come back about this later as I do not have 
the code at hand at the moment. What I can say though: meshmaker is your 
friend! Last year, I used it for converting parametric grass blades (Uwe 
Gleiss: Lawnmaker) to mesh2 blades.


>> Based on user benchmarks, the i5-6500 seems to perform a bit better than the
>> i5-8250(U), but the i7-8750(H) outperforms both. (The number of cores, however,
>> do factor into all this.)
>>
> Indeed. the i5 has 4 cores / 8 logical processors (hence my +wt7) and
> the i7 has 6 cores / 12 logical processors, where I generally use +wt10
> or +wt11.
> 
> Naw-- an i7 with 8 cores/16 threads is the way to go :-P (My previous machine
> was a Win7 box with 'only' 2 cores! How did I ever manage with that?!)
> 
Waaah! [throws machine in the dustbin]

I know. Not so long ago, I also had to manage with two cores, and there 
was a time with only one... We are spoiled. ;-)

-- 
Thomas


Post a reply to this message

From: Thomas de Groot
Subject: Re: A head full of hair
Date: 25 Sep 2021 04:27:09
Message: <614edd5d$1@news.povray.org>
Op 25-9-2021 om 09:04 schreef Thomas de Groot:
> Op 25/09/2021 om 02:07 schreef Kenneth:
>> Thomas de Groot <tho### [at] degrootorg> wrote:
>>> Following an old discussion in 2014:
>>>
http://news.povray.org/povray.binaries.images/thread/%3Cweb.52dff97746aac96b7a3e03fe0@news.povray.org%3E/?mtop=391452

>>>
>> &moff=21
>>>
>>> I took up Robert McGregor's code to see how it could be tweaked to
>>> obtain a nice haircut.
>>
>> I love this-- especially with all the hair shadows falling over the 
>> face. No
>> fakery there!
>>
>> I'm curious: In the news thread you mentioned (or maybe an offshoot of 
>> it), one
>> of the ideas was to color each hair along its individual curl, like 
>> uv-mapping,
>> using some clever code. I can't really discern that effect from your 
>> posted
>> render, but did you do that as well?
>>
> Hmm, good question. Each mesh2 hair is uv-mapped by meshmaker when 
> created, and the pigment is uv-mapped on the mesh2... so, that seems to 
> be happening indeed. I shall come back about this later as I do not have 
> the code at hand at the moment. What I can say though: meshmaker is your 
> friend! Last year, I used it for converting parametric grass blades (Uwe 
> Gleiss: Lawnmaker) to mesh2 blades.
> 
Checked. Yes the individual mesh2 hairs are uv-mapped by SweepSpline.inc 
(Mike Williams) which uses makemesh.inc (Ingo Janssen) to build and 
write the files. All this is present in the original scene file by 
Robert McGregor. I did not change anything in there, except for the hair 
pigment.

Later in the discussion, I suggested to increase render speed by 
texturing the whole union of meshes instead of the individual hairs, but 
as I added, that would result in a far less interesting hairdo.

-- 
Thomas


Post a reply to this message

From: Thomas de Groot
Subject: Re: A head full of hair
Date: 25 Sep 2021 04:30:08
Message: <614ede10$1@news.povray.org>
Op 25-9-2021 om 00:18 schreef Paolo Gibellini:
> Il 21/09/2021 14:24, Thomas de Groot ha scritto:
>  > Following an old discussion in 2014:
>  > 
>
http://news.povray.org/povray.binaries.images/thread/%3Cweb.52dff97746aac96b7a3e03fe0@news.povray.org%3E/?mtop=391452&moff=21

> 
>  >
>  >
>  > I took up Robert McGregor's code to see how it could be tweaked to
>  > obtain a nice haircut. 10000 hairs were planted here. To give a rough
>  > approximation: parsing took about 10 minutes and complete (stochastic)
>  > render about half an hour with an i5 machine (Win10; Pov version 3.8).
>  > The small highlights on the hairs resulted from a combination
>  > normal/finish choices.
>  >
> 
> He is definitely Der Struwwelpeter 
> (https://de.wikipedia.org/wiki/Struwwelpeter)!
> 
> A nice job,
>     Paolo
Yes Paolo, you are absolutely right: Der Struwwelpeter it is! :-)

-- 
Thomas


Post a reply to this message

From: Samuel B 
Subject: Re: A head full of hair
Date: 25 Sep 2021 18:05:00
Message: <web.614f9bf0467a8aa7cb705ca46e741498@news.povray.org>
Thomas de Groot <tho### [at] degrootorg> wrote:
> Op 24-9-2021 om 00:03 schreef Samuel B.:
> > I do, however, have at hand the program I wrote to convert .obj files to
> > POV-readable data.
> >
> I didn't check yet, but I may have that somewhere in my database, filed
> under "Sam Benge" :-)

Well, I didn't manage to find the program on the POV-Ray server when looking
through the usual groups, so I don't think I ever released it. But when looking
at the binary yesterday on my hard drive I decided to do a couple virus scans...
All was good on the Windows Defender front, but when I scanned it on VirusTotal,
one of its engines flagged it as malware :S Some kind of worm that uses shell
commands to work its malfeasance. I really don't believe it's infected, I just
think that the MaxSecure engine sometimes likes to throw false positives. But
it's enough to make me not want to publish it. After all, I did use a 3rd party
..obj-reading library. But what I think really happened is MaxSecure saw the
program's ability to take command line arguments and decided it was up to no
good. So, unless everyone's willing to take a risk, I'll be withholding it until
I can do a recompile using updated libraries. And if /that/ doesn't appease
MaxSecure, I'll try making the program read from a .cfg file instead of taking
command line arguments :|

> > After you originally mentioned W&G I got to thinking... There might have a way
> > to make a convincing clay material, complete with fingerprints. It involves the
> > use of slope patterns and projected normals...
> >
> Now, that might be interesting indeed. Based on blobs I presume?

Blobs, meshes, whatever. The material should work with anything.

Sam


Post a reply to this message

From: Thomas de Groot
Subject: Re: A head full of hair
Date: 26 Sep 2021 02:51:20
Message: <61501868$1@news.povray.org>
Op 26/09/2021 om 00:00 schreef Samuel B.:
> Thomas de Groot <tho### [at] degrootorg> wrote:
>> Op 24-9-2021 om 00:03 schreef Samuel B.:
>>> I do, however, have at hand the program I wrote to convert .obj files to
>>> POV-readable data.
>>>
>> I didn't check yet, but I may have that somewhere in my database, filed
>> under "Sam Benge" :-)
> 
> Well, I didn't manage to find the program on the POV-Ray server when looking
> through the usual groups, so I don't think I ever released it. But when looking
> at the binary yesterday on my hard drive I decided to do a couple virus scans...
> All was good on the Windows Defender front, but when I scanned it on VirusTotal,
> one of its engines flagged it as malware :S Some kind of worm that uses shell
> commands to work its malfeasance. I really don't believe it's infected, I just
> think that the MaxSecure engine sometimes likes to throw false positives. But
> it's enough to make me not want to publish it. After all, I did use a 3rd party
> ..obj-reading library. But what I think really happened is MaxSecure saw the
> program's ability to take command line arguments and decided it was up to no
> good. So, unless everyone's willing to take a risk, I'll be withholding it until
> I can do a recompile using updated libraries. And if /that/ doesn't appease
> MaxSecure, I'll try making the program read from a .cfg file instead of taking
> command line arguments :|
> 
You may want to have a second opinion on this. Eset has a one time, 
free, online scanner: https://www.eset.com/uk/home/online-scanner/

I have been using Eset (one of the paid versions) for the last ten years 
or so with complete satisfaction, so no tricks there.

>>> After you originally mentioned W&G I got to thinking... There might have a way
>>> to make a convincing clay material, complete with fingerprints. It involves the
>>> use of slope patterns and projected normals...
>>>
>> Now, that might be interesting indeed. Based on blobs I presume?
> 
> Blobs, meshes, whatever. The material should work with anything.
> 

Ah, ok, a /material/. Somehow I thought the physical stuff. :-) However, 
anyway, that would be highly interesting indeed.

-- 
Thomas


Post a reply to this message

From: Samuel B 
Subject: Re: A head full of hair
Date: 26 Sep 2021 20:20:00
Message: <web.61510d06467a8aa7cb705ca46e741498@news.povray.org>
Thomas de Groot <tho### [at] degrootorg> wrote:
> Op 26/09/2021 om 00:00 schreef Samuel B.:
> > But when looking at the binary yesterday on my hard drive I decided to
> > do a couple virus scans... All was good on the Windows Defender front,
> > but when I scanned it on VirusTotal, one of its engines flagged it as
> > malware :S
>
> You may want to have a second opinion on this.

I might try downloading the AV you recommended, but it's just another point of
reference, and it may miss something.

The thing I like about VirusTotal is that it's not just a /second/ opinion, it's
a 3rd, 4th, etc. It gathers results from many different virus scanners. But I
really wonder about some of its results. Windows Defender never seems to fail
me, though. (Key word: 'seems.')

I was able to find the original source for the program, so I can now recompile
it. But the program I used to compile it originally was Code::Blocks. I just
downloaded the new version, but when I scanned its installer, VirusTotal
reported it as potentially containing malware! Gah. There was only one engine
that engine detected trouble (not MaxSecure this time), but how can I ever be
sure of anything at all? Argh :( Maybe VirusTotal isn't too careful when it
comes to choosing its virus-detection engines?

> > Blobs, meshes, whatever. The material should work with anything.
>
> Ah, ok, a /material/. Somehow I thought the physical stuff. :-) However,
> anyway, that would be highly interesting indeed.

Ya, I think it will look good but I need to make a suitable showcase model
before implementing the material.

Sam


Post a reply to this message

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

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