|
|
|
|
|
|
| |
| |
|
|
From: Le Forgeron
Subject: Re: An updated povr tarball for Unix/Linux. f6b1c13e
Date: 23 Aug 2020 05:23:08
Message: <5f42357c@news.povray.org>
|
|
|
| |
| |
|
|
Le 20/08/2020 à 00:22, Bald Eagle a écrit :
> Le_Forgeron <jgr### [at] freefr> wrote:
>
>> Now, can someone provide a good name for the SDL to return that value ?
>
> token_count
> tokens_current
> parsed_tokens
> object_tokens
> parser_tokens
> current_tokens
> tokens_now()
>
> HowMuchStuffIHaveParsedSoFar
>
> :D
>
Adopted "parsed_tokens"
=======
#version 3.8;
global_settings {assumed_gamma 1.0}
#include "colors.inc"
#default{ finish{ ambient 0.1 diffuse 0.9 }}
light_source { <100,1000,-1000>, White}
camera { location <0,-1,-16>
right x*image_width/image_height
angle 35
look_at <0,-1,0>
}
plane{-z,-10 pigment{checker color rgb<1,1,1>*0.8 color rgb<1,1,1>} }
#declare String1=concat("parsed_tokens =", str(parsed_tokens,0,0));
text{ internal 1, "Parser info", 0.3, 0 pigment{Blue*0.7} translate
-4.5*x+1.5*y }
text{ internal 1, String1, 0.3, 0 pigment{Red*0.7} translate -4.5*x }
#declare String2=concat("parsed_tokens =", str(parsed_tokens,0,0));
#declare String3=concat("parsed_tokens =", str(parsed_tokens,0,0));
text{ internal 1, String2, 0.3, 0 pigment{Red*0.7} translate -4.5*x -1.5*y }
text{ internal 1, String3, 0.3, 0 pigment{Red*0.7} translate -4.5*x -3*y }
Post a reply to this message
|
|
| |
| |
|
|
From: Le Forgeron
Subject: Re: An updated povr tarball for Unix/Linux. f6b1c13e
Date: 23 Aug 2020 13:10:37
Message: <5f42a30d$1@news.povray.org>
|
|
|
| |
| |
|
|
Le 19/08/2020 à 21:27, jr a écrit :
> hi,
>
> Le_Forgeron <jgr### [at] freefr> wrote:
>> Le 04/08/2020 à 10:26, Le_Forgeron a écrit :
>>> Ok, I note there is one remaining point that could be interesting:
>>> getting the current number of parsed tokens.
>>> Does not seem so urgent as a change.
>>
>> For the curious, the value is in parser/parser.h : mTokenCount
>>
>> Now, can someone provide a good name for the SDL to return that value ?
>
> some new function modelled on 'sysconf(3)' would be cool, with 'mTokenCount'
> just one of the argument values, perhaps.
>
>
You know what is bad with such idea ?
1. Look at the map type in image_map: using number instead of explicit
good name is painful, even when Constants.inc provides some name afterward.
http://wiki.povray.org/content/Reference:Image_Map
2. sysconf is a pain to use: you always need to be on the local system
to be sure to get what you ask (the man page of sysconf is using
symbolic constants, which do not translate at all between systems once
compiled). Initially I thought you wanted access to sysconf, but it
seems to only be a model.
3. it is too open: there is no usable specification.
It is like "add a foo(bar) function which return mTokenCount when bar is 3"
Why having such function ? What would be the common part with the value
returned when bar is 5 ?
Also Povray loves floating point values, and hates integer, so what is
the meaning of foo(3.4) ?
It reminds me far too much of the poke & peek tables in the 80's computers.
To misname things is to add to the unhappiness of the world.
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Le_Forgeron <jgr### [at] freefr> wrote:
> You know what is bad with such idea ?
> 1. Look at the map type in image_map: using number instead of explicit
> good name is painful, even when Constants.inc provides some name afterward.
Yes. I would agree that a good (but SHORT) name would be best.
But I have also come to value the ability to refer to things numerically, so
that I can loop through a collection of things easily - we people love
descriptive, meaningful names - computers love numbers.
Wih respect to image_map specifically, any guesses as to what the missing map
types were supposed to be? :D
> Initially I thought you wanted access to sysconf, but it
> seems to only be a model.
I think he was interested in having a "povray system function" that would be
able to return a number of different system / environment / configuration values
- LIKE sysconf.
So perhaps some of the internal epsilon values, memory available, threads used,
etc. Someone might want to annotate their render or generate a text file that
gets post-render bundled with their render for documentation purposes.
Development, debugging, documenting - and they may want/need to do that with a
programmable function - like if they have 3000 frames - and avoid having to drag
another software/OS tool (and learning curve) into the mix.
> To misname things is to add to the unhappiness of the world.
Yeah, brother. No truer words were ever spoken. Say what you mean, and mean
what you say. (Or at least try as much as possible/practical)
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
hi,
Le_Forgeron <jgr### [at] freefr> wrote:
> ...
> 2. sysconf .... Initially I thought you wanted access to sysconf, but it
> seems to only be a model.
yes, just a function with an interface like 'sysconf()'. Bald Eagle put it
better than I could.
> ...
> To misname things is to add to the unhappiness of the world.
agree, and yet, finding "good" descriptive names is never easy (for me, anyway).
regards, jr.
Post a reply to this message
|
|
| |
| |
|
|
From: William F Pokorny
Subject: Re: An updated povr tarball for Unix/Linux. f6b1c13e
Date: 24 Aug 2020 06:35:59
Message: <5f43980f$1@news.povray.org>
|
|
|
| |
| |
|
|
On 8/23/20 1:38 PM, Bald Eagle wrote:
> Le_Forgeron <jgr### [at] freefr> wrote:
>
...
>
> Wih respect to image_map specifically, any guesses as to what the missing map
> types were supposed to be? :D
>
I ran across the following in the v1.0 source code the other day while
trying to understand the history of something:
/* Image/Bump Map projection methods */
#define PLANAR_MAP 0
#define SPHERICAL_MAP 1
#define CYLINDRICAL_MAP 2
#define PARABOLIC_MAP 3
#define HYPERBOLIC_MAP 4
#define TORUS_MAP 5
#define PIRIFORM_MAP 6
#define OLD_MAP 7
I guess v3.8's type 7 (angular light probe?) took OLD_MAP's slot :-).
The documentation has forever said types 3 & 4 are under development,
but I've never spotted any actual code indicating this ever true beyond
an intent. FWIW.
Bill P.
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
William F Pokorny <ano### [at] anonymousorg> wrote:
> I ran across the following in the v1.0 source code the other day while
> trying to understand the history of something:
>
> /* Image/Bump Map projection methods */
> #define PLANAR_MAP 0
> #define SPHERICAL_MAP 1
> #define CYLINDRICAL_MAP 2
> #define PARABOLIC_MAP 3
> #define HYPERBOLIC_MAP 4
> #define TORUS_MAP 5
> #define PIRIFORM_MAP 6
> #define OLD_MAP 7
VERY cool :)
It's more than clipka uncovered.
So at least that answers a 6-year-old question. :D
http://news.povray.org/povray.binaries.images/message/%3C5438051b%241%40news.povray.org%3E/#%3C5438051b%241%40news.povr
ay.org%3E
Are these mapping types still in need of development?
Post a reply to this message
|
|
| |
| |
|
|
From: William F Pokorny
Subject: Re: An updated povr tarball for Unix/Linux. f6b1c13e
Date: 25 Aug 2020 07:26:11
Message: <5f44f553$1@news.povray.org>
|
|
|
| |
| |
|
|
On 8/24/20 1:35 PM, Bald Eagle wrote:
> William F Pokorny <ano### [at] anonymousorg> wrote:
>
...
>
> Are these mapping types still in need of development?
>
None can be that important given how long they've not been done! :-)
Guessing a at meaning/application, the parabolic I suppose might
occasionally be of use - parabolas. Taking the hyperbolic to mean
non-linear in some aspect of other usually linear mappings, that I guess
that would end up as a set of 'hyper' mappings for linear, spherical,
etc. Piriform suppose might have been aimed at two element blobs or
something?
My up front issue with all more complicated mappings - and with the more
complicated shape uv_mapping options - is one should first and foremost
work out how the maps can easily be created in POV-Ray(1). Or, know of
some standard external 'standard' like the light probe angular mapping
added to v3.8. Otherwise, you've got some feature you can 'advertise'
and which might look great for a demo or two, but in the end it's a
feature pretty much nobody uses.
(1) - Matching cameras, an interactive painting capability, ...
Aside: Most any complicated mapping can be accomplished today via
functions - though it might not be easy to get right, as you well know.
Bill P.
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
William F Pokorny <ano### [at] anonymousorg> wrote:
> None can be that important given how long they've not been done! :-)
Well, yes. There's that.
But one might equally ascribe their non-usage to their non-existence.
Given an easy way to do something, people usually take it.
If faced with the prospect of somehow getting someone somewhere to write a
mapping in source code and provide a new release - or - just writing some "good
enough" pseudo-mapping or function-mapping, then maybe that's what's been done.
No idea how many people (would have) use(d) those other types of maps, but
possibly that would tip the scales the other way.
It's always hard to speculate about these things accurately. ;)
> Guessing a at meaning/application, the parabolic I suppose might
> occasionally be of use - parabolas.
I guess maybe there might be further use with parabolic mirrors, cameras, and -
more specifically - telescopes.
https://www.eso.org/sci/facilities/paranal/telescopes/vlti/tuto/tutorial_introduction_to_stellar_interf.pdf
> Taking the hyperbolic to mean
> non-linear in some aspect of other usually linear mappings, that I guess
> that would end up as a set of 'hyper' mappings for linear, spherical,
> etc.
I looked - it seems like they might be very useful and fun for Escher fans.
M. Grimbert might be interested, given he seems to be the master of tilings.
I'm guessing/speculating that these mappings (Poincare disks, etc) might have
practical engineering / scientific use in physics, Finite Element Methods, fluid
dynamics, etc?
https://computergraphics.stackexchange.com/questions/2117/map-a-texture-onto-a-hyperbolic-triangle
https://medium.com/@philogb/hyperbolic-floors-a2c5445144c6
https://mediatum.ub.tum.de/doc/1210572/1210572.pdf
Or maybe it has specific application to cartography and map projections?
https://en.wikipedia.org/wiki/Squeeze_mapping
It might also be related to a catadioptric omnidirectional camera mapping, like
that used with a hyperbolic convex mirror.
https://link.springer.com/content/pdf/10.1007%2F978-3-642-02921-9_26.pdf
And this leads me to believe that they are all related:
http://roguetemple.com/z/hyper/models.php
> Piriform suppose might have been aimed at two element blobs or
> something?
Possibly. No idea why it was desired in v 1 of all things, and the only places
I find it aside from pure math sites, is references for POV-Ray (with Mike
Williams bridging that gap)
https://mathworld.wolfram.com/PiriformCurve.html
https://mathworld.wolfram.com/PiriformSurface.html
>
> My up front issue with all more complicated mappings - and with the more
> complicated shape uv_mapping options - is one should first and foremost
> work out how the maps can easily be created in POV-Ray(1). Or, know of
> some standard external 'standard' like the light probe angular mapping
> added to v3.8. Otherwise, you've got some feature you can 'advertise'
> and which might look great for a demo or two, but in the end it's a
> feature pretty much nobody uses.
>
> (1) - Matching cameras, an interactive painting capability, ...
>
> Aside: Most any complicated mapping can be accomplished today via
> functions - though it might not be easy to get right, as you well know.
Of course. But sometimes these things inexplicably take on a life of their
own. And during the course of investigating them simply out of curiosity,
novelty, or someone's specialized interest or based solely on the challenge of
doing it - we uncover bugs (!) and discover interesting new things that we might
never have thought of or even known were possible.
Just figured I'd ask - because obviously _someone_ thought they were important
enough to assign a mapping slot for them early on.
##############################################################################
Now, given the fact that we have uv-mapping for Bezier bicubic patches, and the
source code to create the patch from the corners and control points:
Do we think it would be a lot of work to add a feature where
colors/pigments/textures/finishes could be specified at the corners of a Bezier
patch, and a pattern / map would be generated based on the patch?
https://www.ibiblio.org/e-notes/Splines/color3d.html
(I didn't SEE such a thing in HGpovray38, but I might have missed it)
Post a reply to this message
|
|
| |
| |
|
|
From: Le Forgeron
Subject: Re: An updated povr tarball for Unix/Linux. f6b1c13e
Date: 26 Aug 2020 23:06:13
Message: <5f472325$1@news.povray.org>
|
|
|
| |
| |
|
|
>
>
https://computergraphics.stackexchange.com/questions/2117/map-a-texture-onto-a-hyperbolic-triangle
> https://medium.com/@philogb/hyperbolic-floors-a2c5445144c6
> https://mediatum.ub.tum.de/doc/1210572/1210572.pdf
An investigation not as pattern but as warp could be interesting.
The early part to answer is: what happen outside the circle.
One answer can be: nothing, outside the circle, there is no transformation.
Or something different, as suggested in the pdf for poincarré disk.
It is "of course" to be mainly used with the image pattern, so it is
better from the very start that the reference plane be the same (to
avoid a systematic rotate), and the third coordinates is to be dropped.
So far the "perfect" illustration could be some pedestal table with such
topping, and some chess set on it...
With an outer ring, which implies some layered textures too.
*********
About bezier bicubic patches, I do not so far understand what is the
final purpose of the request. Does it sound like gluing the mesh camera
to a bezier bicubic patch ? (mesh camera or user-function defined camera).
As a raytracing aims at generating pictures, what is a finish map in
that context ?
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Le_Forgeron <jgr### [at] freefr> wrote:
> An investigation not as pattern but as warp could be interesting.
Aha, yes - that's a better way of thinking about it.
> The early part to answer is: what happen outside the circle.
> One answer can be: nothing, outside the circle, there is no transformation.
That would be my initial, naive impression. Something like "once".
> Or something different, as suggested in the pdf for poincarré disk.
I'm sure that there exist a number of different options, and of course we will
probably find out what they are once someone picks up this sort of thing to
begin experimenting with and proceeds to discover what other ways there are or
follows a path of reasoning to suggest a new option.
Geometric inversion?
> It is "of course" to be mainly used with the image pattern, so it is
> better from the very start that the reference plane be the same (to
> avoid a systematic rotate), and the third coordinates is to be dropped.
Oh, please, no. One of my main dislikes of things like prism {} is that the
coordinates are supplied in <x, z> format. So then rather than simply passing
[multipurpose] vectors to the object definition, where the y-component gets
_ignored_, I have to write a whole new section of code to convert everything
into a special single-purpose format. :(
> So far the "perfect" illustration could be some pedestal table with such
> topping, and some chess set on it...
> With an outer ring, which implies some layered textures too.
Likely. But I also envisioned seeing how all of the various tilings can be
manipulated. :)
> About bezier bicubic patches, I do not so far understand what is the
> final purpose of the request. Does it sound like gluing the mesh camera
> to a bezier bicubic patch ? (mesh camera or user-function defined camera).
> As a raytracing aims at generating pictures, what is a finish map in
> that context ?
The idea would be to define 4 corners of the bezier patch in terms of - not
<x,y,z> - but <r, g, b> and then rather than doing a straight bilinear
interpolation of the color values between the two points across the rectangle,
bicubically interpolate the colors across a Bezier surface.
Does that make sense?
I guess I also had it in my mind that if I had an existing _geometric_ bezier
patch, that somehow it would be possible to simply define the colors of the 4
fixed corners, and those would get mapped to the geometric coordinates. Then
the geometric control points would control the bicubic color interpolation
between the color values - avoiding the need to write a whole separate block of
code for the coloring.
I hadn't really though it all the way through, so sorry for any confusion.
But it does suggest that there could be a bicubic WARP where patterns could be
distorted (or image maps corrected) through such a mechanism.
Also, the mesh camera is an interesting idea. I'm not sure what you mean by the
finish map - but I would imagine it has something to do with the
ray-scene/surface angles? Like for something simple like specular reflection?
That I simply don't know.
Maybe if it were just an experimental feature, use the undistorted mesh camera
to generate the color but the bicubic functions to control the view....
No idea.
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
|
|