 |
 |
|
 |
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Hello all,
This is definitely a case where "one thing led to another ..." lol
For some extra context, see this thread:
https://news.povray.org/povray.text.scene-files/thread/%3Cweb.6a26178b356cf98c595b1a7e7d5760c2%40news.povray.org%3E/
I have created a playlist of memes using a "POV-Ray mosaic" technique
that I developed. Attached is a ZIP containing all the scenes (so far),
and you can find renders of them here:
https://www.youtube.com/playlist?list=PLgYqTYMQH9qCemP1CC1fWBQ5r4jmr1nM1
I'm not sure if I have any real right to feel as proud of this as I do. :-P
ZIP contents:
povtile_scenes
├── diabeetus
│ ├── diabeetus.pov
│ └── povtile-frame_data.inc
├── heisenberg
│ ├── heisenberg.pov
│ └── povtile-frame_data.inc
├── hobbits_to_isengard
│ ├── hobbits_to_isengard.pov
│ └── povtile-frame_data.inc
├── myst
│ ├── myst.pov
│ └── povtile-frame_data.inc
├── untitled
│ ├── povtile-frame_data.inc
│ └── untitled.pov
├── wonka
│ ├── povtile-frame_data.inc
│ └── wonka.pov
└── you_are_a_toy
├── povtile-frame_data.inc
└── you_are_a_toy.pov
--
/* https://petermarkley.com | (Render at 1280x384) */
#version 3.7;global_settings{assumed_gamma 1}#macro
B(a,b,c,d)box{-y,x+z texture{pigment{granite pigment_map{
[.2 rgb 0][.3 rgb 1]}scale 4 translate<-c,0,-d>}finish{ambient
1}}translate<a,0,b>}#end#macro C(h)(asc(substr(h,1,1))-48)*16+
asc(substr(h,2,1))-48#end camera{orthographic location<10,9,3>
direction-y right x*20 up z*6}#local s=array[24]{
"0:445<5251750:444;44","7<750<796853733;367:","4=7?2=774150010>3?46",
"3:762>00186733724=7?","1>601>04100937700<16","7340564>57034>35021?",
"334=7:74564>444>470<","520?403:716611536;32","067<622?194>602>622?",
"7>4<3=672>154=7?4665","1?5=792>444>15207779","2<3679034=7?2>003372",
"28337266622465364854","312;70201<6:69511?5=","72663?713;5<764:4546",
"7;0=43036:4:1?753423","595<000>792>70147320","7?440;026?643=674223",
"7;221<3:7=5>595=146?","595=3=6701365?4?4?3<","404431765:274;054658",
"467626792<32267=597=","3:7658554;0560764=28","4?7<77136?232>15520="
};#for(b,0,5)#for(a,0,19)#local i=(5-b)*4+floor(a/5);B(a,b,C(substr
(s[i],mod(a,5)*4+1,2)),C(substr(s[i],mod(a,5)*4+3,2)))#end#end
Post a reply to this message
Attachments:
Download 'povtile_scenes.zip' (760 KB)
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
hi,
Peter Markley <nomail@nomail> wrote:
> Hello all,
>
> This is definitely a case where "one thing led to another ..." lol
> ...
> ZIP contents:
> ...
> └── you_are_a_toy
> ├── povtile-frame_data.inc
> └── you_are_a_toy.pov
is the one I decided to try first. no dice, parse error, see attached.
(also, it _is_ possible to format code in a readable manner ;-))
regards, jr.
Post a reply to this message
Attachments:
Download 'no_toy_alas.png' (55 KB)
Preview of image 'no_toy_alas.png'

|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
"jr" <cre### [at] gmail com> wrote:
> ...
> > └── you_are_a_toy
> is the one I decided to try first. no dice, parse error, see attached.
it does run. I used, as always, my 'povparse' command alias to check, without
specifying the frames, "my bad".
regards, jr.
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
On 17/06/2026 12:05, jr wrote:
>
> it does run. I used, as always, my 'povparse' command alias to check, without
> specifying the frames, "my bad".
Yeah, it works... but it produces a really strange images.
Take a look at the attached image.
I suspect that the image is hard-coded in little-endian mode.
See <https://en.wikipedia.org/wiki/Endianness>
As a general rule, to test scenes that include animations and avoid this
kind of problem, simply add these lines:
#if (clock_on)
#local fr = frame_number-1;
#else
#local fr = 0;
#end
;)
--
kurtz le pirate
compagnie de la banquise
Post a reply to this message
Attachments:
Download 'heisenberg.png' (238 KB)
Preview of image 'heisenberg.png'

|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
hi,
kurtz le pirate <kur### [at] free fr> wrote:
> On 17/06/2026 12:05, jr wrote:
> > it does run. I used, as always, my 'povparse' command alias to check, without
> > specifying the frames, "my bad".
>
> Yeah, it works... but it produces a really strange images.
> Take a look at the attached image.
</grin> also, maybe it's just "my eyes", but I find the images, the method,
very sensitive to resizing, have you, anyone else, noticed ?
> I suspect that the image is hard-coded in little-endian mode.
> See <https://en.wikipedia.org/wiki/Endianness>
yes, the data does look "intriguing", hope to find time to look closer :-).
> As a general rule, to test scenes that include animations and avoid this
> kind of problem, simply add these lines:
thanks, as always. for my own scenes I write ini files, usually.
regards, jr.
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
On 6/17/26 5:50 AM, jr wrote:
> (also, it _is_ possible to format code in a readable manner ;-))
lol But where's the fun in that? :-P
My goal was compact / short code, sort of like my signature. I also
planned to show the code onscreen in a YouTube short (see attached), and
making it compact helps with that.
Making it technically decipherable but obscure also enhances the "wow"
effect, like a magic trick.
--
/* https://petermarkley.com | (Render at 1280x384) */
#version 3.7;global_settings{assumed_gamma 1}#macro
B(a,b,c,d)box{-y,x+z texture{pigment{granite pigment_map{
[.2 rgb 0][.3 rgb 1]}scale 4 translate<-c,0,-d>}finish{ambient
1}}translate<a,0,b>}#end#macro C(h)(asc(substr(h,1,1))-48)*16+
asc(substr(h,2,1))-48#end camera{orthographic location<10,9,3>
direction-y right x*20 up z*6}#local s=array[24]{
"0:445<5251750:444;44","7<750<796853733;367:","4=7?2=774150010>3?46",
"3:762>00186733724=7?","1>601>04100937700<16","7340564>57034>35021?",
"334=7:74564>444>470<","520?403:716611536;32","067<622?194>602>622?",
"7>4<3=672>154=7?4665","1?5=792>444>15207779","2<3679034=7?2>003372",
"28337266622465364854","312;70201<6:69511?5=","72663?713;5<764:4546",
"7;0=43036:4:1?753423","595<000>792>70147320","7?440;026?643=674223",
"7;221<3:7=5>595=146?","595=3=6701365?4?4?3<","404431765:274;054658",
"467626792<32267=597=","3:7658554;0560764=28","4?7<77136?232>15520="
};#for(b,0,5)#for(a,0,19)#local i=(5-b)*4+floor(a/5);B(a,b,C(substr
(s[i],mod(a,5)*4+1,2)),C(substr(s[i],mod(a,5)*4+3,2)))#end#end
Post a reply to this message
Attachments:
Download 'screenshot from 2026-06-17 15-56-18.png' (963 KB)
Preview of image 'screenshot from 2026-06-17 15-56-18.png'

|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
On 6/17/26 10:42 AM, kurtz le pirate wrote:
> On 17/06/2026 12:05, jr wrote:
> I suspect that the image is hard-coded in little-endian mode.
> See <https://en.wikipedia.org/wiki/Endianness>
I think it's big-endian. Right here:
#macro C(h)(asc(substr(h,1,1))-48)*16+asc(substr(h,2,1))-48#end
Each number is encoded as 2 ASCII characters and the above macro decodes
them. The first character (`substr(h,1,1)`) after conversion to a
codepoint is multiplied by 16, whereas the second character
(`substr(h,2,1)`) is not. So the more significant "digit" comes first.
Unless I'm having a dyslexic moment, that's big-endian.
--
/* https://petermarkley.com | (Render at 1280x384) */
#version 3.7;global_settings{assumed_gamma 1}#macro
B(a,b,c,d)box{-y,x+z texture{pigment{granite pigment_map{
[.2 rgb 0][.3 rgb 1]}scale 4 translate<-c,0,-d>}finish{ambient
1}}translate<a,0,b>}#end#macro C(h)(asc(substr(h,1,1))-48)*16+
asc(substr(h,2,1))-48#end camera{orthographic location<10,9,3>
direction-y right x*20 up z*6}#local s=array[24]{
"0:445<5251750:444;44","7<750<796853733;367:","4=7?2=774150010>3?46",
"3:762>00186733724=7?","1>601>04100937700<16","7340564>57034>35021?",
"334=7:74564>444>470<","520?403:716611536;32","067<622?194>602>622?",
"7>4<3=672>154=7?4665","1?5=792>444>15207779","2<3679034=7?2>003372",
"28337266622465364854","312;70201<6:69511?5=","72663?713;5<764:4546",
"7;0=43036:4:1?753423","595<000>792>70147320","7?440;026?643=674223",
"7;221<3:7=5>595=146?","595=3=6701365?4?4?3<","404431765:274;054658",
"467626792<32267=597=","3:7658554;0560764=28","4?7<77136?232>15520="
};#for(b,0,5)#for(a,0,19)#local i=(5-b)*4+floor(a/5);B(a,b,C(substr
(s[i],mod(a,5)*4+1,2)),C(substr(s[i],mod(a,5)*4+3,2)))#end#end
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
On 6/17/26 10:42 AM, kurtz le pirate wrote:
> Yeah, it works... but it produces a really strange images.
> Take a look at the attached image.
Oh, I only just now noticed that some of the colors are wrong in your
render. That's very strange.
However the fact that the face is discernible makes me think it's not a
decoding issue in the frame data.
In fact I can reproduce your render if I change this `.4>` to `0>` (see
attached). I don't know how that could've gotten stomped on, but that
looks like what happened.
--
/* https://petermarkley.com | (Render at 1280x384) */
#version 3.7;global_settings{assumed_gamma 1}#macro
B(a,b,c,d)box{-y,x+z texture{pigment{granite pigment_map{
[.2 rgb 0][.3 rgb 1]}scale 4 translate<-c,0,-d>}finish{ambient
1}}translate<a,0,b>}#end#macro C(h)(asc(substr(h,1,1))-48)*16+
asc(substr(h,2,1))-48#end camera{orthographic location<10,9,3>
direction-y right x*20 up z*6}#local s=array[24]{
"0:445<5251750:444;44","7<750<796853733;367:","4=7?2=774150010>3?46",
"3:762>00186733724=7?","1>601>04100937700<16","7340564>57034>35021?",
"334=7:74564>444>470<","520?403:716611536;32","067<622?194>602>622?",
"7>4<3=672>154=7?4665","1?5=792>444>15207779","2<3679034=7?2>003372",
"28337266622465364854","312;70201<6:69511?5=","72663?713;5<764:4546",
"7;0=43036:4:1?753423","595<000>792>70147320","7?440;026?643=674223",
"7;221<3:7=5>595=146?","595=3=6701365?4?4?3<","404431765:274;054658",
"467626792<32267=597=","3:7658554;0560764=28","4?7<77136?232>15520="
};#for(b,0,5)#for(a,0,19)#local i=(5-b)*4+floor(a/5);B(a,b,C(substr
(s[i],mod(a,5)*4+1,2)),C(substr(s[i],mod(a,5)*4+3,2)))#end#end
Post a reply to this message
Attachments:
Download 'screenshot from 2026-06-17 16-36-04_.png' (59 KB)
Preview of image 'screenshot from 2026-06-17 16-36-04_.png'

|
 |
|  |
|  |
|
 |
|
 |
|  |
|
 |