|
|
|
|
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Nicolas Alvarez <nic### [at] gmailcom> wrote:
> You want POV-Ray to output an image like this, for another application to
> use?
No, I want to reuse the images in POV.
-Mike
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
"clipka" <nomail@nomail> wrote:
> it's not very easy to tell, given the low resolution - but it is quite obvious
> that the red channel is most significant. So I'd guess that the height is coded
> as:
>
> height = red + (green/256.0) + (blue/65536.0)
>
> with red, green, blue and height all ranging from 0.0 to 1.0.
I don't quite understand your math. If red, green and blue all range from 0 to
1, then the maximum possible height is 3. The maximum height of heightfields is
1.
-Mike
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
"SharkD" <nomail@nomail> wrote:
> I generated the following heightfield in some program or other. It uses all 24
> bits for elevation information. My question is, how are the colors/height data
> organized? I would like to create a pigment that produces similar maps.
>
> http://i421.photobucket.com/albums/pp292/SharkD2161/Support/Untitled1_hf.png
>
> -Mike
I am intrigued by this idea. I have been using hf_gray_16 in the past, and it
usually creates enough levels, but an hf_gray_24 might be pretty cool too.
From the documentation:
"When hf_gray_16 is on, the output file will be in the form of a heightfield,
with the height at any point being dependent on the brightness of the pixel.
The brightness of a pixel is calculated in the same way that color images are
converted to grayscale images: height = 0.3 * red + 0.59 * green + 0.11 *
blue."
It'll take a bit of testing, but if it is that easy...
-Reactor
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
"SharkD" <nomail@nomail> wrote:
> "clipka" <nomail@nomail> wrote:
> > it's not very easy to tell, given the low resolution - but it is quite obvious
> > that the red channel is most significant. So I'd guess that the height is coded
> > as:
> >
> > height = red + (green/256.0) + (blue/65536.0)
> >
> > with red, green, blue and height all ranging from 0.0 to 1.0.
>
> I don't quite understand your math. If red, green and blue all range from 0 to
> 1, then the maximum possible height is 3. The maximum height of heightfields is
> 1.
>
> -Mike
Errr... I meant, "the maximum possible height is greater than 1", not 3.
-Mike
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
SharkD wrote:
> "clipka" <nomail@nomail> wrote:
>> it's not very easy to tell, given the low resolution - but it is quite
>> obvious that the red channel is most significant. So I'd guess that the
>> height is coded as:
>>
>> height = red + (green/256.0) + (blue/65536.0)
>>
>> with red, green, blue and height all ranging from 0.0 to 1.0.
>
> I don't quite understand your math. If red, green and blue all range from
> 0 to 1, then the maximum possible height is 3. The maximum height of
> heightfields is 1.
Those maths assume red, green and blue go from 0 to 255, and height would be
from 0 to 16777216.
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Nicolas Alvarez <nic### [at] gmailcom> wrote:
> SharkD wrote:
> > "clipka" <nomail@nomail> wrote:
> >> it's not very easy to tell, given the low resolution - but it is quite
> >> obvious that the red channel is most significant. So I'd guess that the
> >> height is coded as:
> >>
> >> height = red + (green/256.0) + (blue/65536.0)
> >>
> >> with red, green, blue and height all ranging from 0.0 to 1.0.
> >
> > I don't quite understand your math. If red, green and blue all range from
> > 0 to 1, then the maximum possible height is 3. The maximum height of
> > heightfields is 1.
>
> Those maths assume red, green and blue go from 0 to 255, and height would be
> from 0 to 16777216.
OK, but 255 + 255/256 + 255/65536 still don't add up to 16777216!
-Mike
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
SharkD wrote:
> Nicolas Alvarez <nic### [at] gmailcom> wrote:
>> You want POV-Ray to output an image like this, for another application to
>> use?
>
> No, I want to reuse the images in POV.
I put the image directly into a heightfield, and I think I got the correct
height, but only at 16 bits. I can't see any way (without hacking the code)
to get 24 bits of precision in a heightfield.
The only way to put data in a heightfield without passing a filename is
using bitmap functions (function 200,200 { ... }), and those also support
only 16-bit.
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
SharkD wrote:
> Nicolas Alvarez <nic### [at] gmailcom> wrote:
>> SharkD wrote:
>>> "clipka" <nomail@nomail> wrote:
>>>> it's not very easy to tell, given the low resolution - but it is quite
>>>> obvious that the red channel is most significant. So I'd guess that the
>>>> height is coded as:
>>>>
>>>> height = red + (green/256.0) + (blue/65536.0)
>>>>
>>>> with red, green, blue and height all ranging from 0.0 to 1.0.
>>> I don't quite understand your math. If red, green and blue all range from
>>> 0 to 1, then the maximum possible height is 3. The maximum height of
>>> heightfields is 1.
>> Those maths assume red, green and blue go from 0 to 255, and height would be
>> from 0 to 16777216.
>
> OK, but 255 + 255/256 + 255/65536 still don't add up to 16777216!
>
No -- the values go from 0 to 255, so the sum can go from 0 to (256 - 1 / 256^2)
Dan
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Dan Connelly <djc### [at] yahoocom> wrote:
> No -- the values go from 0 to 255, so the sum can go from 0 to (256 - 1 / 256^2)
>
> Dan
Ah, I see now! Thanks.
-Mike
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Nicolas Alvarez wrote:
> I put the image directly into a heightfield, and I think I got the correct
> height, but only at 16 bits. I can't see any way (without hacking the
> code) to get 24 bits of precision in a heightfield.
>
> The only way to put data in a heightfield without passing a filename is
> using bitmap functions (function 200,200 { ... }), and those also support
> only 16-bit.
But using some creative coding, I can get an isosurface out of a
heightfield. I lose almost all interpolation though; it looks like a
heightfield without the "smooth" parameter.
Isosurface function:
function(x,y,z) {
y -
Map(x,y,z).red +
Map(x,y,z).green / 256.0 +
Map(x,y,z).blue / 65536.0
}
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |