POV-Ray : Newsgroups : povray.pov4.discussion.general : 3D warp repeat for primitives : Re: 3D warp repeat for primitives Server Time13 Sep 2024 15:02:26 EDT (-0400)
 Re: 3D warp repeat for primitives
 From: Bald Eagle Date: 7 Aug 2024 20:25:00 Message:
```
{
"@context": "https://schema.org",
"@type": "DiscussionForumPosting",
"@id": "#web.66b41048c952a0691f9dae3025979125%40news.povray.org",
"headline": "Re: 3D warp repeat for primitives",
"dateCreated": "2024-08-08T00:25:00+00:00",
"datePublished": "2024-08-08T00:25:00+00:00",
"author": {
"@type": "Person",
"name": "Bald Eagle"
}
}
"Leroy" <whe### [at] gmailcom> wrote:

> There no infinitely repeating objects! There is a limit. Even with functions
> there a point where pov variables can't reach. I was playing with the random
> seed the other day to see just how big of number in would take. After 10 digits
> the seed acted like only the first 10 where used.

Like I said - there is only the limit of the ability of the computer to store
and represent the values.
But within those limits, we can generate "infinite numbers" of objects.

>  If I understand you right, you're trying to fake it with a pattern that holds
> all the different textures of a union of objects, that can use a warp repeat
> type function to fix things up.
>  The trouble with pigments or textures is that they need an object to be on. And
> any object used only shows what hits it. If you want to see a union of objects
> as a 3d pattern you need something 3d that shows only what is part of the
> pattern and let light pass through otherwise.

I'm not trying to fake anything.
When we have meshes, with multiple instantiations, we merely apply a
transformation matrix to the reference mesh in order to do the calculations to
find the new position of the copy.

If we simply apply the same methods to ACTUAL TEXTURED OBJECTS, then we ought to
be able to accomplish exactly the same thing.   When I texture an object, and
THEN translate it, the texture "follows" it.  So i ought to be able to define a
unit cell with a vector, and then simply use mod () to repeat that unit
EVERYWHERE.

The attached is an isosurface of a 100 x 100 grid using mod () which rendered in
7 seconds.  We KNOW primitives render much faster than isosurfaces, and so would
be a feasible way to accomplish the same thing only using all of the native
optimizing of CSG objects.
```

Attachments: