POV-Ray : Newsgroups : povray.binaries.images : Saving PovRay objects as geometry : Re: Saving PovRay objects as geometry Server Time
27 Apr 2024 10:06:22 EDT (-0400)
  Re: Saving PovRay objects as geometry  
From: H  Karsten
Date: 18 Oct 2011 22:40:00
Message: <web.4e9e3844dc71d3eca3bfeb720@news.povray.org>
I won't have Internet the next two days :(

So I release a little test-version today.

Its:
-slow
-can only track objects, heaving an "insight" (no meshes)
-runs only under PovRay 3.7

Hopefully bring a better version in two days.

Best rgds,
Holger

Pov2Mesh_test.inc:
//#################################################################
#declare Pov2mesh_tritable = array [256][15]
{{12,12,12,12,12,12,12,12,12,12,12,12,12,12,12},
{0,8,3,12,12,12,12,12,12,12,12,12,12,12,12},
{0,1,9,12,12,12,12,12,12,12,12,12,12,12,12},
{1,8,3,9,8,1,12,12,12,12,12,12,12,12,12},
{1,2,10,12,12,12,12,12,12,12,12,12,12,12,12},
{0,8,3,1,2,10,12,12,12,12,12,12,12,12,12},
{9,2,10,0,2,9,12,12,12,12,12,12,12,12,12},
{2,8,3,2,10,8,10,9,8,12,12,12,12,12,12},
{3,11,2,12,12,12,12,12,12,12,12,12,12,12,12},
{0,11,2,8,11,0,12,12,12,12,12,12,12,12,12},
{1,9,0,2,3,11,12,12,12,12,12,12,12,12,12},
{1,11,2,1,9,11,9,8,11,12,12,12,12,12,12},
{3,10,1,11,10,3,12,12,12,12,12,12,12,12,12},
{0,10,1,0,8,10,8,11,10,12,12,12,12,12,12},
{3,9,0,3,11,9,11,10,9,12,12,12,12,12,12},
{9,8,10,10,8,11,12,12,12,12,12,12,12,12,12},
{4,7,8,12,12,12,12,12,12,12,12,12,12,12,12},
{4,3,0,7,3,4,12,12,12,12,12,12,12,12,12},
{0,1,9,8,4,7,12,12,12,12,12,12,12,12,12},
{4,1,9,4,7,1,7,3,1,12,12,12,12,12,12},
{1,2,10,8,4,7,12,12,12,12,12,12,12,12,12},
{3,4,7,3,0,4,1,2,10,12,12,12,12,12,12},
{9,2,10,9,0,2,8,4,7,12,12,12,12,12,12},
{2,10,9,2,9,7,2,7,3,7,9,4,12,12,12},
{8,4,7,3,11,2,12,12,12,12,12,12,12,12,12},
{11,4,7,11,2,4,2,0,4,12,12,12,12,12,12},
{9,0,1,8,4,7,2,3,11,12,12,12,12,12,12},
{4,7,11,9,4,11,9,11,2,9,2,1,12,12,12},
{3,10,1,3,11,10,7,8,4,12,12,12,12,12,12},
{1,11,10,1,4,11,1,0,4,7,11,4,12,12,12},
{4,7,8,9,0,11,9,11,10,11,0,3,12,12,12},
{4,7,11,4,11,9,9,11,10,12,12,12,12,12,12},
{9,5,4,12,12,12,12,12,12,12,12,12,12,12,12},
{9,5,4,0,8,3,12,12,12,12,12,12,12,12,12},
{0,5,4,1,5,0,12,12,12,12,12,12,12,12,12},
{8,5,4,8,3,5,3,1,5,12,12,12,12,12,12},
{1,2,10,9,5,4,12,12,12,12,12,12,12,12,12},
{3,0,8,1,2,10,4,9,5,12,12,12,12,12,12},
{5,2,10,5,4,2,4,0,2,12,12,12,12,12,12},
{2,10,5,3,2,5,3,5,4,3,4,8,12,12,12},
{9,5,4,2,3,11,12,12,12,12,12,12,12,12,12},
{0,11,2,0,8,11,4,9,5,12,12,12,12,12,12},
{0,5,4,0,1,5,2,3,11,12,12,12,12,12,12},
{2,1,5,2,5,8,2,8,11,4,8,5,12,12,12},
{10,3,11,10,1,3,9,5,4,12,12,12,12,12,12},
{4,9,5,0,8,1,8,10,1,8,11,10,12,12,12},
{5,4,0,5,0,11,5,11,10,11,0,3,12,12,12},
{5,4,8,5,8,10,10,8,11,12,12,12,12,12,12},
{9,7,8,5,7,9,12,12,12,12,12,12,12,12,12},
{9,3,0,9,5,3,5,7,3,12,12,12,12,12,12},
{0,7,8,0,1,7,1,5,7,12,12,12,12,12,12},
{1,5,3,3,5,7,12,12,12,12,12,12,12,12,12},
{9,7,8,9,5,7,10,1,2,12,12,12,12,12,12},
{10,1,2,9,5,0,5,3,0,5,7,3,12,12,12},
{8,0,2,8,2,5,8,5,7,10,5,2,12,12,12},
{2,10,5,2,5,3,3,5,7,12,12,12,12,12,12},
{7,9,5,7,8,9,3,11,2,12,12,12,12,12,12},
{9,5,7,9,7,2,9,2,0,2,7,11,12,12,12},
{2,3,11,0,1,8,1,7,8,1,5,7,12,12,12},
{11,2,1,11,1,7,7,1,5,12,12,12,12,12,12},
{9,5,8,8,5,7,10,1,3,10,3,11,12,12,12},
{5,7,0,5,0,9,7,11,0,1,0,10,11,10,0},
{11,10,0,11,0,3,10,5,0,8,0,7,5,7,0},
{11,10,5,7,11,5,12,12,12,12,12,12,12,12,12},
{10,6,5,12,12,12,12,12,12,12,12,12,12,12,12},
{0,8,3,5,10,6,12,12,12,12,12,12,12,12,12},
{9,0,1,5,10,6,12,12,12,12,12,12,12,12,12},
{1,8,3,1,9,8,5,10,6,12,12,12,12,12,12},
{1,6,5,2,6,1,12,12,12,12,12,12,12,12,12},
{1,6,5,1,2,6,3,0,8,12,12,12,12,12,12},
{9,6,5,9,0,6,0,2,6,12,12,12,12,12,12},
{5,9,8,5,8,2,5,2,6,3,2,8,12,12,12},
{2,3,11,10,6,5,12,12,12,12,12,12,12,12,12},
{11,0,8,11,2,0,10,6,5,12,12,12,12,12,12},
{0,1,9,2,3,11,5,10,6,12,12,12,12,12,12},
{5,10,6,1,9,2,9,11,2,9,8,11,12,12,12},
{6,3,11,6,5,3,5,1,3,12,12,12,12,12,12},
{0,8,11,0,11,5,0,5,1,5,11,6,12,12,12},
{3,11,6,0,3,6,0,6,5,0,5,9,12,12,12},
{6,5,9,6,9,11,11,9,8,12,12,12,12,12,12},
{5,10,6,4,7,8,12,12,12,12,12,12,12,12,12},
{4,3,0,4,7,3,6,5,10,12,12,12,12,12,12},
{1,9,0,5,10,6,8,4,7,12,12,12,12,12,12},
{10,6,5,1,9,7,1,7,3,7,9,4,12,12,12},
{6,1,2,6,5,1,4,7,8,12,12,12,12,12,12},
{1,2,5,5,2,6,3,0,4,3,4,7,12,12,12},
{8,4,7,9,0,5,0,6,5,0,2,6,12,12,12},
{7,3,9,7,9,4,3,2,9,5,9,6,2,6,9},
{3,11,2,7,8,4,10,6,5,12,12,12,12,12,12},
{5,10,6,4,7,2,4,2,0,2,7,11,12,12,12},
{0,1,9,4,7,8,2,3,11,5,10,6,12,12,12},
{9,2,1,9,11,2,9,4,11,7,11,4,5,10,6},
{8,4,7,3,11,5,3,5,1,5,11,6,12,12,12},
{5,1,11,5,11,6,1,0,11,7,11,4,0,4,11},
{0,5,9,0,6,5,0,3,6,11,6,3,8,4,7},
{6,5,9,6,9,11,4,7,9,7,11,9,12,12,12},
{10,4,9,6,4,10,12,12,12,12,12,12,12,12,12},
{4,10,6,4,9,10,0,8,3,12,12,12,12,12,12},
{10,0,1,10,6,0,6,4,0,12,12,12,12,12,12},
{8,3,1,8,1,6,8,6,4,6,1,10,12,12,12},
{1,4,9,1,2,4,2,6,4,12,12,12,12,12,12},
{3,0,8,1,2,9,2,4,9,2,6,4,12,12,12},
{0,2,4,4,2,6,12,12,12,12,12,12,12,12,12},
{8,3,2,8,2,4,4,2,6,12,12,12,12,12,12},
{10,4,9,10,6,4,11,2,3,12,12,12,12,12,12},
{0,8,2,2,8,11,4,9,10,4,10,6,12,12,12},
{3,11,2,0,1,6,0,6,4,6,1,10,12,12,12},
{6,4,1,6,1,10,4,8,1,2,1,11,8,11,1},
{9,6,4,9,3,6,9,1,3,11,6,3,12,12,12},
{8,11,1,8,1,0,11,6,1,9,1,4,6,4,1},
{3,11,6,3,6,0,0,6,4,12,12,12,12,12,12},
{6,4,8,11,6,8,12,12,12,12,12,12,12,12,12},
{7,10,6,7,8,10,8,9,10,12,12,12,12,12,12},
{0,7,3,0,10,7,0,9,10,6,7,10,12,12,12},
{10,6,7,1,10,7,1,7,8,1,8,0,12,12,12},
{10,6,7,10,7,1,1,7,3,12,12,12,12,12,12},
{1,2,6,1,6,8,1,8,9,8,6,7,12,12,12},
{2,6,9,2,9,1,6,7,9,0,9,3,7,3,9},
{7,8,0,7,0,6,6,0,2,12,12,12,12,12,12},
{7,3,2,6,7,2,12,12,12,12,12,12,12,12,12},
{2,3,11,10,6,8,10,8,9,8,6,7,12,12,12},
{2,0,7,2,7,11,0,9,7,6,7,10,9,10,7},
{1,8,0,1,7,8,1,10,7,6,7,10,2,3,11},
{11,2,1,11,1,7,10,6,1,6,7,1,12,12,12},
{8,9,6,8,6,7,9,1,6,11,6,3,1,3,6},
{0,9,1,11,6,7,12,12,12,12,12,12,12,12,12},
{7,8,0,7,0,6,3,11,0,11,6,0,12,12,12},
{7,11,6,12,12,12,12,12,12,12,12,12,12,12,12},
{7,6,11,12,12,12,12,12,12,12,12,12,12,12,12},
{3,0,8,11,7,6,12,12,12,12,12,12,12,12,12},
{0,1,9,11,7,6,12,12,12,12,12,12,12,12,12},
{8,1,9,8,3,1,11,7,6,12,12,12,12,12,12},
{10,1,2,6,11,7,12,12,12,12,12,12,12,12,12},
{1,2,10,3,0,8,6,11,7,12,12,12,12,12,12},
{2,9,0,2,10,9,6,11,7,12,12,12,12,12,12},
{6,11,7,2,10,3,10,8,3,10,9,8,12,12,12},
{7,2,3,6,2,7,12,12,12,12,12,12,12,12,12},
{7,0,8,7,6,0,6,2,0,12,12,12,12,12,12},
{2,7,6,2,3,7,0,1,9,12,12,12,12,12,12},
{1,6,2,1,8,6,1,9,8,8,7,6,12,12,12},
{10,7,6,10,1,7,1,3,7,12,12,12,12,12,12},
{10,7,6,1,7,10,1,8,7,1,0,8,12,12,12},
{0,3,7,0,7,10,0,10,9,6,10,7,12,12,12},
{7,6,10,7,10,8,8,10,9,12,12,12,12,12,12},
{6,8,4,11,8,6,12,12,12,12,12,12,12,12,12},
{3,6,11,3,0,6,0,4,6,12,12,12,12,12,12},
{8,6,11,8,4,6,9,0,1,12,12,12,12,12,12},
{9,4,6,9,6,3,9,3,1,11,3,6,12,12,12},
{6,8,4,6,11,8,2,10,1,12,12,12,12,12,12},
{1,2,10,3,0,11,0,6,11,0,4,6,12,12,12},
{4,11,8,4,6,11,0,2,9,2,10,9,12,12,12},
{10,9,3,10,3,2,9,4,3,11,3,6,4,6,3},
{8,2,3,8,4,2,4,6,2,12,12,12,12,12,12},
{0,4,2,4,6,2,12,12,12,12,12,12,12,12,12},
{1,9,0,2,3,4,2,4,6,4,3,8,12,12,12},
{1,9,4,1,4,2,2,4,6,12,12,12,12,12,12},
{8,1,3,8,6,1,8,4,6,6,10,1,12,12,12},
{10,1,0,10,0,6,6,0,4,12,12,12,12,12,12},
{4,6,3,4,3,8,6,10,3,0,3,9,10,9,3},
{10,9,4,6,10,4,12,12,12,12,12,12,12,12,12},
{4,9,5,7,6,11,12,12,12,12,12,12,12,12,12},
{0,8,3,4,9,5,11,7,6,12,12,12,12,12,12},
{5,0,1,5,4,0,7,6,11,12,12,12,12,12,12},
{11,7,6,8,3,4,3,5,4,3,1,5,12,12,12},
{9,5,4,10,1,2,7,6,11,12,12,12,12,12,12},
{6,11,7,1,2,10,0,8,3,4,9,5,12,12,12},
{7,6,11,5,4,10,4,2,10,4,0,2,12,12,12},
{3,4,8,3,5,4,3,2,5,10,5,2,11,7,6},
{7,2,3,7,6,2,5,4,9,12,12,12,12,12,12},
{9,5,4,0,8,6,0,6,2,6,8,7,12,12,12},
{3,6,2,3,7,6,1,5,0,5,4,0,12,12,12},
{6,2,8,6,8,7,2,1,8,4,8,5,1,5,8},
{9,5,4,10,1,6,1,7,6,1,3,7,12,12,12},
{1,6,10,1,7,6,1,0,7,8,7,0,9,5,4},
{4,0,10,4,10,5,0,3,10,6,10,7,3,7,10},
{7,6,10,7,10,8,5,4,10,4,8,10,12,12,12},
{6,9,5,6,11,9,11,8,9,12,12,12,12,12,12},
{3,6,11,0,6,3,0,5,6,0,9,5,12,12,12},
{0,11,8,0,5,11,0,1,5,5,6,11,12,12,12},
{6,11,3,6,3,5,5,3,1,12,12,12,12,12,12},
{1,2,10,9,5,11,9,11,8,11,5,6,12,12,12},
{0,11,3,0,6,11,0,9,6,5,6,9,1,2,10},
{11,8,5,11,5,6,8,0,5,10,5,2,0,2,5},
{6,11,3,6,3,5,2,10,3,10,5,3,12,12,12},
{5,8,9,5,2,8,5,6,2,3,8,2,12,12,12},
{9,5,6,9,6,0,0,6,2,12,12,12,12,12,12},
{1,5,8,1,8,0,5,6,8,3,8,2,6,2,8},
{1,5,6,2,1,6,12,12,12,12,12,12,12,12,12},
{1,3,6,1,6,10,3,8,6,5,6,9,8,9,6},
{10,1,0,10,0,6,9,5,0,5,6,0,12,12,12},
{0,3,8,5,6,10,12,12,12,12,12,12,12,12,12},
{10,5,6,12,12,12,12,12,12,12,12,12,12,12,12},
{11,5,10,7,5,11,12,12,12,12,12,12,12,12,12},
{11,5,10,11,7,5,8,3,0,12,12,12,12,12,12},
{5,11,7,5,10,11,1,9,0,12,12,12,12,12,12},
{10,7,5,10,11,7,9,8,1,8,3,1,12,12,12},
{11,1,2,11,7,1,7,5,1,12,12,12,12,12,12},
{0,8,3,1,2,7,1,7,5,7,2,11,12,12,12},
{9,7,5,9,2,7,9,0,2,2,11,7,12,12,12},
{7,5,2,7,2,11,5,9,2,3,2,8,9,8,2},
{2,5,10,2,3,5,3,7,5,12,12,12,12,12,12},
{8,2,0,8,5,2,8,7,5,10,2,5,12,12,12},
{9,0,1,5,10,3,5,3,7,3,10,2,12,12,12},
{9,8,2,9,2,1,8,7,2,10,2,5,7,5,2},
{1,3,5,3,7,5,12,12,12,12,12,12,12,12,12},
{0,8,7,0,7,1,1,7,5,12,12,12,12,12,12},
{9,0,3,9,3,5,5,3,7,12,12,12,12,12,12},
{9,8,7,5,9,7,12,12,12,12,12,12,12,12,12},
{5,8,4,5,10,8,10,11,8,12,12,12,12,12,12},
{5,0,4,5,11,0,5,10,11,11,3,0,12,12,12},
{0,1,9,8,4,10,8,10,11,10,4,5,12,12,12},
{10,11,4,10,4,5,11,3,4,9,4,1,3,1,4},
{2,5,1,2,8,5,2,11,8,4,5,8,12,12,12},
{0,4,11,0,11,3,4,5,11,2,11,1,5,1,11},
{0,2,5,0,5,9,2,11,5,4,5,8,11,8,5},
{9,4,5,2,11,3,12,12,12,12,12,12,12,12,12},
{2,5,10,3,5,2,3,4,5,3,8,4,12,12,12},
{5,10,2,5,2,4,4,2,0,12,12,12,12,12,12},
{3,10,2,3,5,10,3,8,5,4,5,8,0,1,9},
{5,10,2,5,2,4,1,9,2,9,4,2,12,12,12},
{8,4,5,8,5,3,3,5,1,12,12,12,12,12,12},
{0,4,5,1,0,5,12,12,12,12,12,12,12,12,12},
{8,4,5,8,5,3,9,0,5,0,3,5,12,12,12},
{9,4,5,12,12,12,12,12,12,12,12,12,12,12,12},
{4,11,7,4,9,11,9,10,11,12,12,12,12,12,12},
{0,8,3,4,9,7,9,11,7,9,10,11,12,12,12},
{1,10,11,1,11,4,1,4,0,7,4,11,12,12,12},
{3,1,4,3,4,8,1,10,4,7,4,11,10,11,4},
{4,11,7,9,11,4,9,2,11,9,1,2,12,12,12},
{9,7,4,9,11,7,9,1,11,2,11,1,0,8,3},
{11,7,4,11,4,2,2,4,0,12,12,12,12,12,12},
{11,7,4,11,4,2,8,3,4,3,2,4,12,12,12},
{2,9,10,2,7,9,2,3,7,7,4,9,12,12,12},
{9,10,7,9,7,4,10,2,7,8,7,0,2,0,7},
{3,7,10,3,10,2,7,4,10,1,10,0,4,0,10},
{1,10,2,8,7,4,12,12,12,12,12,12,12,12,12},
{4,9,1,4,1,7,7,1,3,12,12,12,12,12,12},
{4,9,1,4,1,7,0,8,1,8,7,1,12,12,12},
{4,0,3,7,4,3,12,12,12,12,12,12,12,12,12},
{4,8,7,12,12,12,12,12,12,12,12,12,12,12,12},
{9,10,8,10,11,8,12,12,12,12,12,12,12,12,12},
{3,0,9,3,9,11,11,9,10,12,12,12,12,12,12},
{0,1,10,0,10,8,8,10,11,12,12,12,12,12,12},
{3,1,10,11,3,10,12,12,12,12,12,12,12,12,12},
{1,2,11,1,11,9,9,11,8,12,12,12,12,12,12},
{3,0,9,3,9,11,1,2,9,2,11,9,12,12,12},
{0,2,11,8,0,11,12,12,12,12,12,12,12,12,12},
{3,2,11,12,12,12,12,12,12,12,12,12,12,12,12},
{2,3,8,2,8,10,10,8,9,12,12,12,12,12,12},
{9,10,2,0,9,2,12,12,12,12,12,12,12,12,12},
{2,3,8,2,8,10,0,1,8,1,10,8,12,12,12},
{1,10,2,12,12,12,12,12,12,12,12,12,12,12,12},
{1,3,8,9,1,8,12,12,12,12,12,12,12,12,12},
{0,9,1,12,12,12,12,12,12,12,12,12,12,12,12},
{0,3,8,12,12,12,12,12,12,12,12,12,12,12,12},
{12,12,12,12,12,12,12,12,12,12,12,12,12,12,12}};

#declare Pov2Mesh_vertlist=array[12];
#declare Pov2Mesh_vertlist[0]=<0.5,0,1>;
#declare Pov2Mesh_vertlist[1]=<1,0,0.5>;
#declare Pov2Mesh_vertlist[2]=<0.5,0,0>;
#declare Pov2Mesh_vertlist[3]=<0,0,0.5>;
#declare Pov2Mesh_vertlist[4]=<0.5,1,1>;
#declare Pov2Mesh_vertlist[5]=<1,1,0.5>;
#declare Pov2Mesh_vertlist[6]=<0.5,1,0>;
#declare Pov2Mesh_vertlist[7]=<0,1,0.5>;
#declare Pov2Mesh_vertlist[8]=<0,0.5,1>;
#declare Pov2Mesh_vertlist[9]=<1,0.5,1>;
#declare Pov2Mesh_vertlist[10]=<1,0.5,0>;
#declare Pov2Mesh_vertlist[11]=<0,0.5,0>;

#macro Pov2Mesh_Findindex(Obj,Level,Position,Scale,Mem)
#declare cubeindex = 0;
#declare BackX=255;
#declare BackY=BackX;
#declare BackZ=BackX;
#if (Mem.x>0)
#ifdef (Slice[Mem.y][Mem.z])
#declare BackX=Slice[Mem.y][Mem.z];
#end
#end
#if (Mem.y>0)
#ifdef (Row[Mem.z])
#declare BackY=Row[Mem.z];
#end
#end
#if (Mem.z>0)
#declare BackZ=Cube;
#end
#if (16=bitwise_and(BackY,16))                     #declare cubeindex =
cubeindex+  1;  #end
#if (32=bitwise_and(BackY,32))                     #declare cubeindex =
cubeindex+  2;  #end
#if ( 2=bitwise_and(BackZ, 2))                     #declare cubeindex =
cubeindex+  4;  #end
#if ( 1=bitwise_and(BackZ, 1))                     #declare cubeindex =
cubeindex+  8;  #end
#if (32=bitwise_and(BackX,32))                     #declare cubeindex =
cubeindex+ 16;  #end
#if (inside(Obj,(<1,1,1>)*Scale+Position) < Level) #declare cubeindex =
cubeindex+ 32;  #end
#if (32=bitwise_and(BackZ,32))                     #declare cubeindex =
cubeindex+ 64;  #end
#if (16=bitwise_and(BackZ,16))                     #declare cubeindex =
cubeindex+128;  #end
#declare Slice[Mem.y][Mem.z]=cubeindex;
#declare Row[Mem.z]=cubeindex;
#declare Cube=cubeindex;
#end

#macro Pov2mesh_tri(Position,Scale,Show)
#local E=0;
#while (E<14)
#local Ek=Pov2mesh_tritable[cubeindex][E];
#if (Ek<12)
#local T1=Pov2Mesh_vertlist[Ek]*Scale+Position;
#local T2=Pov2Mesh_vertlist[Pov2mesh_tritable[cubeindex][E+1]]*Scale+Position;
#local T3=Pov2Mesh_vertlist[Pov2mesh_tritable[cubeindex][E+2]]*Scale+Position;
#write (rawFile,str(T1.x,0,-1)," ",str(T1.y,0,-1)," ",str(T1.z,0,-1),"
",str(T2.x,0,-1)," ",str(T2.y,0,-1)," ",str(T2.z,0,-1)," ",str(T3.x,0,-1),"
",str(T3.y,0,-1)," ",str(T3.z,0,-1),"\n")
#if(Show)triangle{T1,T2,T3 pigment {aoi color_map{[0 color rgb -1][1 color rgb
1.1]}}}#end
#end
#local E=E+3;
#end
#end

#macro Pov2Mesh(Obj,Res,FileNameToSave,Show)
#declare FR=0;
#if (Res<1)
#local Res=1;
#end
#ifdef (Slice)
#undef Slice
#end
#declare Slice=array[Res+2][Res+2];
#ifdef (Row)
#undef Row
#end
#declare Row=array[Res+2];
#ifdef (Cube)
#undef Cube
#end
#declare Cube=0;
#local Mn=min_extent(Obj);
#local Mx=max_extent(Obj);
#local Xstp=(Mx.x-Mn.x)/Res;
#local Ystp=(Mx.y-Mn.y)/Res;
#local Zstp=(Mx.z-Mn.z)/Res;
#local Pold=0;
#local Ofs=0.5;
#fopen rawFile FileNameToSave write
#local Xr=Mn.x-Xstp*Ofs;
#local Xgrid=0;
#while (Xr<Mx.x+Xstp*Ofs)
#local Yr=Mn.y-Ystp*Ofs;
#local Ygrid=0;
#while (Yr<Mx.y+Ystp*Ofs)
#local Zr=Mn.z-Zstp*Ofs;
#local Zgrid=0;
#while (Zr<Mx.z+Zstp*Ofs)
#declare FR=FR+1;
Pov2Mesh_Surface(Obj,<Xr,Yr,Zr>,<Xstp,Ystp,Zstp>,<Xgrid,Ygrid,Zgrid>,Show)
#local Zr=Zr+Zstp;
#local Zgrid=Zgrid+1;
#end
#local Yr=Yr+Ystp;
#local Ygrid=Ygrid+1;
#end
#local Percent=int(100-((Mx.x-Xr)/(Mx.x-Mn.x)*100));
#if (Percent > Pold)
#debug concat("Scanning: ",str(Percent,-2,0),"%\n")
#end
#local Xr=Xr+Xstp;
#local Xgrid=Xgrid+1;
#local Pold=Percent;
#end
#fclose rawFile
#end

#macro Pov2Mesh_Surface(In,T,SC,Mem,Show)
Pov2Mesh_Findindex(In,0.5,T,SC,Mem)
Pov2mesh_tri(T,SC,Show)
#end
//#################################################################

test_scene.pov:
//#################################################################
#version 3.7;

camera {
  location  <0,3,-5>*7
  look_at   <0,2,0>
  right     x*image_width/image_height
  rotate <0,-53,0>
  angle 40
}

light_source {
  <-2,4,-2>*10
  color rgb 1
 rotate <0,-53,0>
}

#declare In=
julia_fractal {
    <-0.083,0.0,-0.83,-0.025>
    quaternion
    sqr
    max_iteration 8
    precision 15
    scale 10
}
#include "Pov2Mesh_test.inc"
Pov2Mesh(In,10,"fractal.raw",true)
//object{In pigment{color rgbt <1,1,1,0.5>}}
//#################################################################


Post a reply to this message


Attachments:
Download 'test_scene.png' (121 KB)

Preview of image 'test_scene.png'
test_scene.png


 

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