POV-Ray : Newsgroups : povray.binaries.images : Tinkering with textures Server Time
17 May 2024 16:37:44 EDT (-0400)
  Tinkering with textures (Message 21 to 30 of 71)  
<<< Previous 10 Messages Goto Latest 10 Messages Next 10 Messages >>>
From: Stephen
Subject: Re: Tinkering with textures
Date: 9 Aug 2016 09:30:28
Message: <57a9daf4$1@news.povray.org>
On 8/9/2016 1:42 PM, architype wrote:
> Here is geometry + texture, but I havent had time to combine all three, so the
> normal is still missing in this image. /A
>
>
>
It certainly is missing. :)

What you posted shows lots of promise. :)

BTW I remember a while ago Bill Pragnell posted some wall/brick and arch 
macros. You might find them interesting.
Not that you should not do your own thing but we can always learn from 
other's work.

( https://www.youtube.com/watch?v=wNel8RwSLyE ) ;)



http://news.povray.org/povray.binaries.images/thread/%3Cweb.44e3a83e4f0e252c4daddc090@news.povray.org%3E/

http://news.povray.org/povray.binaries.images/thread/%3Cop.vbkyuedlufxv4h%40xena%3E/?mtop=12



-- 

Regards
     Stephen


Post a reply to this message

From: Bald Eagle
Subject: Re: Tinkering with textures
Date: 9 Aug 2016 10:15:00
Message: <web.57a9e45a68edbca0b488d9aa0@news.povray.org>
Stephen <mca### [at] aolcom> wrote:

> What you posted shows lots of promise. :)
>
> BTW I remember a while ago Bill Pragnell posted some wall/brick and arch
> macros. You might find them interesting.
> Not that you should not do your own thing but we can always learn from
> other's work.

I'll say.   This looks really good!

I was thinking about the same macro, and I think there may have been an
isosurface tool to make stones as well.  If not, there's the IsoWood, which
could likely get modified to make blocks.

The mortar joints are nice & deep, which is a big plus.
I can say from past coments on some of my architectural stuff, that you'll
likely want to vary the scale and texture of your blocks, the positions, and
then put some layered textures on it.
Those proximity macros look like a good place for this, and eval_pigment would
be a great way to place moss, lichens, etc.
IIRC, there were a few vine macros that industrious people wrote.

It's looking very good - keep it up!


Post a reply to this message

From: architype
Subject: Re: Tinkering with textures
Date: 9 Aug 2016 10:35:00
Message: <web.57a9e95d68edbca0a67331460@news.povray.org>
> It certainly is missing. :)

Not used to the forums yet, missed to attach it... ;)

> What you posted shows lots of promise. :)

Thank you, I will definately try and finish this one.

> BTW I remember a while ago Bill Pragnell posted some wall/brick and arch
> macros. You might find them interesting.

Those look excellent, thank you very much for the links. :)

> Not that you should not do your own thing but we can always learn from
> other's work.

Absolutely, and what is more is that in this case the result is
not quite similar, so I can imagine that a scene that combines
the different materials will look really great. (Or at least
once I get my stuff in order.)

Also, I would really like to keep track of all the great code floating
around here. I have thought about that for some time, but you would
have to keep track of the author and tag files, you would need a website
and an installer etc
So it will have to remain on the wish list for now I think...
(But I will try and do my part and share the useful bits I create.)

What I would really like to do is to make a library that can be used
to create things like this:
https://en.wikipedia.org/wiki/Rustication_(architecture)

Best wishes, /A


Post a reply to this message


Attachments:
Download 'uc_topwallstone.jpg' (346 KB)

Preview of image 'uc_topwallstone.jpg'
uc_topwallstone.jpg


 

From: architype
Subject: Re: Tinkering with textures
Date: 9 Aug 2016 10:50:02
Message: <web.57a9ed0d68edbca0a67331460@news.povray.org>
Thanks for some solid advice there Bald Eagle. :)

I think it depends on what the goal is; if it is just this scene then this will
be good enough with geometry, normal and pigment texture combined.
But if we are talking about what I really want, a good stone library that can
bear close inspection, then I will have to work a bit harder I think. ;)

The macro is setup so that it can be called with different rand func seeds.
But that will require more memory, so it would not be so good in this particular
scene. But it will be necessary for the library of course.

About the library I have in mind; see the attached file for some really good
ideas. (from a book about renaissance architecture)


Post a reply to this message


Attachments:
Download 'scan10189.jpg' (1666 KB)

Preview of image 'scan10189.jpg'
scan10189.jpg


 

From: Stephen
Subject: Re: Tinkering with textures
Date: 9 Aug 2016 10:57:37
Message: <57a9ef61$1@news.povray.org>
On 8/9/2016 3:31 PM, architype wrote:
> What I would really like to do is to make a library that can be used
> to create things like this:
> https://en.wikipedia.org/wiki/Rustication_(architecture)


In that case you should look at the PovRay Object collection.
http://lib.povray.org/searchcollection/index.php

You will need to register. Then look at the buildings category. You 
could always use that for your collection.

BTW Bald Eagle mentioned a vine macro. I have used it and it is quite 
adaptable. I grew one around a Poser model for modesty. ^ ^

http://graphics.uni-konstanz.de/~luft/ivy_generator/

-- 

Regards
     Stephen


Post a reply to this message

From: Bald Eagle
Subject: Re: Tinkering with textures
Date: 9 Aug 2016 12:25:00
Message: <web.57aa03c768edbca0b488d9aa0@news.povray.org>
"architype" <arc### [at] gmxcom> wrote:

> Also, I would really like to keep track of all the great code floating
> around here. I have thought about that for some time, but you would
> have to keep track of the author and tag files, you would need a website
> and an installer etc

I'd like that too - I'm always amazed at how MANY clever tools people have come
up with, and it's certainly hard to find them all, keep them straight, and
remember that they even exist so you can use them.

I'm sure Thomas has a stockpile of all sorts of stuff   ;)

I'd say that for the most part, many of the really useful things I've seen are
..inc or .pov files, and so perhaps all that would be needed is the posting of a
zipped directory packed with goodies.


Speaking of which, I always come across talk of the Chris Colefax tools, and I
was lucky enough to find a directory that's still up and has a ton of his work
archived:

http://www.cs.cmu.edu/afs/cs.cmu.edu/project/learn-43/lib/photoz/.g/scottd/pov/povray3/mess/

I hope that helps anyone who's been looking for a particular include file.


Post a reply to this message

From: architype
Subject: Re: Tinkering with textures
Date: 9 Aug 2016 12:40:00
Message: <web.57aa06c568edbca0a67331460@news.povray.org>
>In that case you should look at the PovRay Object collection.
>http://lib.povray.org/searchcollection/index.php

>You will need to register. Then look at the buildings category. You
>could always use that for your collection.

That would have been a possibility, but unfortunately registration has been
disabled due to spammers/bots...
Also, I think one problem that is hard to get around is that the code is
interlinked, at some point one simply has to reuse code and keep track of
search paths.
I put up some of my code on a webpage, by extracting all the files from the
library and it turned out to require 50 files or so...its ok if it is only
..inc or .pov but I tend to use image textures and then it starts adding up.

>BTW Bald Eagle mentioned a vine macro. I have used it and it is quite
>adaptable. I grew one around a Poser model for modesty. ^ ^
>http://graphics.uni-konstanz.de/~luft/ivy_generator/

That looks amazing! :)

> I grew one around a Poser model for modesty. ^ ^

lol ;)

-

About the mesh stone component; I made a demo that shows the main params;
-length, width, height
-a vector to determine how many triangles to split it into
-a value that determines the depth of the cracks
-a value that determines the the amount of cracks

See attached image...
I have pasted the macro code. Best wishes, /A



#macro MeshStoneImpMac (p_W, p_H, p_T,
           p_x0, p_y0, p_z0,
           p_Txt, p_DoTxt,
           p_Num, p_dFactor, p_CracFactor, p_Rnd)

// see below for param explanaition

//-----------------------------------------
// Var

#local BlockW = p_W;
#local BlockH = p_H*p_Num.x/(p_Num.x+p_dFactor);
#local BlockT = p_T;
#local BlockV = <BlockW, BlockH, BlockT>;

#local NumW = p_Num.x; //8*4;
#local NumH = p_Num.y; //6*4;
#local NumT = p_Num.z; //4*4;

#local SecW = BlockW/(NumW-1);
#local SecH = BlockH/(NumH-1);
#local SecT = BlockT/(NumT-1);

#local Front  = array[NumW][NumH];
#local Back   = array[NumW][NumH];

#local Top    = array[NumW][NumT];
#local Bottom = array[NumW][NumT];

#local Left   = array[NumT][NumH];
#local Right  = array[NumT][NumH];

#local dFactor = p_dFactor; //SecW/4;
#local CracFactor = p_CracFactor; //.66;

//-----------------------------------------
// Main

//union{
mesh{

// - - - - - - - - -
// Assign Points

// Front & Back

#local r1 = seed(3446+p_Rnd);
#local r2 = seed(2543+p_Rnd);
#local r3 = seed(4753+p_Rnd);

#local CountJ = NumH-1;
#local J = 0;
#while ( J <= CountJ )

 #local CountI = NumW-1;
 #local I = 0;
 #while ( I <= CountI )

              #if( rand(r1) < CracFactor )
                 #local dpF = <dFactor*rand(r1), dFactor*rand(r2),
-dFactor*rand(r3)>;
                 #local dpB = <dFactor*rand(r3), dFactor*rand(r1),
dFactor*rand(r2)>;
              #else
                 #local dpF = <dFactor*rand(r1), dFactor*rand(r2),
-dFactor*rand(r3)>/3;
                 #local dpB = <dFactor*rand(r3), dFactor*rand(r1),
dFactor*rand(r2)>/3;
              #end
              #local Front[I][J] = <-BlockW/2+I*SecW, J*SecH,  BlockT/2>+dpF;
              #local Back[I][J]  = <-BlockW/2+I*SecW, J*SecH, -BlockT/2>+dpB;

 #local I = I + 1;
 #end

#local J = J + 1;
#end


// Top & Bottom

#local r4 = seed(1736+p_Rnd);
#local r5 = seed(5543+p_Rnd);
#local r6 = seed(4713+p_Rnd);

#local CountJ = NumT-1;
#local J = 0;
#while ( J <= CountJ )

 #local CountI = NumW-1;
 #local I = 0;
 #while ( I <= CountI )

              #if( rand(r4) < CracFactor )
                #local dpT = <dFactor*rand(r4), -dFactor*rand(r5),
dFactor*rand(r6)>;
                #local dpB = <dFactor*rand(r6), dFactor*rand(r4),
dFactor*rand(r5)>;
              #else
                #local dpT = <dFactor*rand(r4), -dFactor*rand(r5),
dFactor*rand(r6)>/3;
                #local dpB = <dFactor*rand(r6), dFactor*rand(r4),
dFactor*rand(r5)>/3;
              #end
              #local Top[I][J] = <-BlockW/2+I*SecW, BlockH+dFactor,
-BlockT/2+SecT*J>+dpT;
              #local Bottom[I][J] = <-BlockW/2+I*SecW, 0, -BlockT/2+SecT*J>+dpB;

 #local I = I + 1;
 #end

#local J = J + 1;
#end

#local Count = NumW-1;
#local I = 0;
#while ( I <= Count )

      #local Top[I][0] = Back[I][NumH-1];
      #local Top[I][NumT-1] = Front[I][NumH-1];

      #local Bottom[I][0] = Back[I][0];
      #local Bottom[I][NumT-1] = Front[I][0];

#local I = I + 1;
#end


// Left & Right

#local r7 = seed(2057+p_Rnd);
#local r8 = seed(3963+p_Rnd);
#local r9 = seed(3788+p_Rnd);

#local CountJ = NumH-1;
#local J = 0;
#while ( J <= CountJ )

 #local CountI = NumT-1;
 #local I = 0;
 #while ( I <= CountI )

              #if( rand(r1) < CracFactor )
                #local dpR = <-dFactor*rand(r7), dFactor*rand(r8),
dFactor*rand(r9)>;
                #local dpL = <dFactor*rand(r9), dFactor*rand(r7),
dFactor*rand(r8)>;
              #else
                #local dpR = <-dFactor*rand(r7), dFactor*rand(r8),
dFactor*rand(r9)>/3;
                #local dpL = <dFactor*rand(r9), dFactor*rand(r7),
dFactor*rand(r8)>/3;
              #end
              #local Right[I][J] = <BlockW/2+dFactor, SecH*J,
-BlockT/2+SecT*I>+dpR;
              #local Left[I][J] = <-BlockW/2, SecH*J, -BlockT/2+SecT*I>+dpL;

 #local I = I + 1;
 #end

#local J = J + 1;
#end

#local Count = NumT-1;
#local I = 0;
#while ( I <= Count )

      #local Right[I][0] = Bottom[NumW-1][I];
      #local Right[I][NumH-1] = Top[NumW-1][I];

      #local Left[I][0] = Bottom[0][I];
      #local Left[I][NumH-1] = Top[0][I];

#local I = I + 1;
#end

#local CountI = NumH-1;
#local I = 0;
#while ( I <= CountI )

      #local Right[0][I] = Back[NumW-1][I];
      #local Right[NumT-1][I] = Front[NumW-1][I];

      #local Left[0][I] = Back[0][I];
      #local Left[NumT-1][I] = Front[0][I];

#local I = I + 1;
#end

// - - - - - - - - -
// Draw

// Front & Back
#local CountJ = NumH-2;
#local J = 0;
#while ( J <= CountJ )

 #local CountI = NumW-2;
 #local I = 0;
 #while ( I <= CountI )

              triangle{Front[I][J], Front[I+1][J], Front[I+1][J+1]  }
              triangle{Front[I][J], Front[I][J+1], Front[I+1][J+1]  }

              triangle{Back[I][J], Back[I+1][J], Back[I+1][J+1]  }
              triangle{Back[I][J], Back[I][J+1], Back[I+1][J+1]  }

 #local I = I + 1;
 #end

#local J = J + 1;
#end


// Top & Bottom
#local CountJ = NumT-2;
#local J = 0;
#while ( J <= CountJ )

 #local CountI = NumW-2;
 #local I = 0;
 #while ( I <= CountI )

              triangle{Top[I][J], Top[I+1][J], Top[I+1][J+1]  }
              triangle{Top[I][J], Top[I][J+1], Top[I+1][J+1]  }

              triangle{Bottom[I][J], Bottom[I+1][J], Bottom[I+1][J+1]  }
              triangle{Bottom[I][J], Bottom[I][J+1], Bottom[I+1][J+1]  }

 #local I = I + 1;
 #end

#local J = J + 1;
#end


// Right & Left
#local CountJ = NumH-2;
#local J = 0;
#while ( J <= CountJ )

 #local CountI = NumT-2;
 #local I = 0;
 #while ( I <= CountI )

              triangle{Right[I][J], Right[I+1][J], Right[I+1][J+1]  }
              triangle{Right[I][J], Right[I][J+1], Right[I+1][J+1]  }

              triangle{Left[I][J], Left[I+1][J], Left[I+1][J+1]  }
              triangle{Left[I][J], Left[I][J+1], Left[I+1][J+1]  }

 #local I = I + 1;
 #end

#local J = J + 1;
#end




      #if (p_DoTxt)
           texture{ p_Txt }
      #end

      translate<p_x0, p_y0, p_z0>
 }


#end


#local l_W = 6; // width along x axis
#local l_H = 3; // height along y axis
#local l_T = 4; // length along z axis

#local l_Txt = texture{ pigment{rgb 1} }
#local l_DoTxt = 1;

#local l_Num = <8, 8, 8>*4;  // number of triangles to use
#local l_dFactor = l_W/l_Num.x*.25;   // depth of cracks
#local l_CracFactor = .125;           // amount of cracks
#local l_Rnd = 3268;             // alter seed value for gen multiple stones

#local MeshStoneImpObj =
MeshStoneImpMac
      (l_W, l_H, l_T,
       0, 0, 0,
       l_Txt, l_DoTxt,
       l_Num, l_dFactor, l_CracFactor, l_Rnd)

object{ MeshStoneImpObj }


Post a reply to this message


Attachments:
Download 'stonemeshdemo.jpg' (376 KB)

Preview of image 'stonemeshdemo.jpg'
stonemeshdemo.jpg


 

From: architype
Subject: Re: Tinkering with textures
Date: 9 Aug 2016 12:55:01
Message: <web.57aa0a7668edbca0a67331460@news.povray.org>
>I'd like that too - I'm always amazed at how MANY clever tools people have come
>up with, and it's certainly hard to find them all, keep them straight, and
>remember that they even exist so you can use them.

That is very true, I have rewritten code that I had in my own library :P
My cure is to put up all the stuff in an insert menu so that I can supposedly
reuse it, but since documentation is so boring I tend to skip that part...

>I'd say that for the most part, many of the really useful things I've seen are
>..inc or .pov files, and so perhaps all that would be needed is the posting of a
>zipped directory packed with goodies.

I agree, those who are good tend to use less images and meshes.
But personally I find it hard to cope without image textures.

Yeah, I think we will have to settle for that for now, so I will put my stuff
on my blog.
But it is great to hear from other people who have struggled with the same
issues. :)

Best wishes, /A


Post a reply to this message

From: Stephen
Subject: Re: Tinkering with textures
Date: 9 Aug 2016 13:11:37
Message: <57aa0ec9$1@news.povray.org>
On 8/9/2016 5:24 PM, Bald Eagle wrote:
> I'm sure Thomas has a stockpile of all sorts of stuff;)
>

Of course he has. ;)

>
>
> Speaking of which, I always come across talk of the Chris Colefax tools, and I
> was lucky enough to find a directory that's still up and has a ton of his work
> archived:
>
>
http://www.cs.cmu.edu/afs/cs.cmu.edu/project/learn-43/lib/photoz/.g/scottd/pov/povray3/mess/
>
> I hope that helps anyone who's been looking for a particular include file.

There is a lot of good stuff out there.
The Wayback machine is also a source if you find an old link.


-- 

Regards
     Stephen


Post a reply to this message

From: Thomas de Groot
Subject: Re: Tinkering with textures
Date: 10 Aug 2016 03:09:56
Message: <57aad344$1@news.povray.org>
On 9-8-2016 16:47, architype wrote:
> About the library I have in mind; see the attached file for some really good
> ideas. (from a book about renaissance architecture)
>

Oh absolutely! This is a trail you have to follow!

-- 
Thomas


Post a reply to this message

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

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