shade_height_fieldshade_height_fieldShadeHeightFieldShadeHeightField (Operator)

Name

shade_height_fieldshade_height_fieldShadeHeightFieldShadeHeightField — Shade a height field.

Signature

shade_height_field(ImageHeight : ImageShade : Slant, Tilt, Albedo, Ambient, Shadows : )

Herror shade_height_field(const Hobject ImageHeight, Hobject* ImageShade, double Slant, double Tilt, double Albedo, double Ambient, const char* Shadows)

Herror T_shade_height_field(const Hobject ImageHeight, Hobject* ImageShade, const Htuple Slant, const Htuple Tilt, const Htuple Albedo, const Htuple Ambient, const Htuple Shadows)

void ShadeHeightField(const HObject& ImageHeight, HObject* ImageShade, const HTuple& Slant, const HTuple& Tilt, const HTuple& Albedo, const HTuple& Ambient, const HTuple& Shadows)

HImage HImage::ShadeHeightField(const HTuple& Slant, const HTuple& Tilt, const HTuple& Albedo, const HTuple& Ambient, const HString& Shadows) const

HImage HImage::ShadeHeightField(double Slant, double Tilt, double Albedo, double Ambient, const HString& Shadows) const

HImage HImage::ShadeHeightField(double Slant, double Tilt, double Albedo, double Ambient, const char* Shadows) const

HImage HImage::ShadeHeightField(double Slant, double Tilt, double Albedo, double Ambient, const wchar_t* Shadows) const   (Windows only)

static void HOperatorSet.ShadeHeightField(HObject imageHeight, out HObject imageShade, HTuple slant, HTuple tilt, HTuple albedo, HTuple ambient, HTuple shadows)

HImage HImage.ShadeHeightField(HTuple slant, HTuple tilt, HTuple albedo, HTuple ambient, string shadows)

HImage HImage.ShadeHeightField(double slant, double tilt, double albedo, double ambient, string shadows)

Description

shade_height_fieldshade_height_fieldShadeHeightFieldShadeHeightFieldShadeHeightField computes a shaded image from the height field ImageHeightImageHeightImageHeightImageHeightimageHeight as if the image were illuminated by an infinitely far away light source. It is assumed that the surface described by the height field has Lambertian reflection properties determined by AlbedoAlbedoAlbedoAlbedoalbedo and AmbientAmbientAmbientAmbientambient. The parameter ShadowsShadowsShadowsShadowsshadows determines whether shadows are to be calculated.

Attention

shade_height_fieldshade_height_fieldShadeHeightFieldShadeHeightFieldShadeHeightField assumes that the heights are given on a lattice with step width 1. If this is not the case, the heights must be divided by the step width before the call to shade_height_fieldshade_height_fieldShadeHeightFieldShadeHeightFieldShadeHeightField. Otherwise, the derivatives used internally to compute the orientation of the surface will be estimated to steep or too flat. Example: The height field is given on 100*100 points on the square [0,1]*[0,1]. Then the heights must be divided by 1/100 first. A Cartesian coordinate system with the origin in the lower left corner of the image is used internally.

Execution Information

Parameters

ImageHeightImageHeightImageHeightImageHeightimageHeight (input_object)  singlechannelimage(-array) objectHImageHImageHobject (byte / int4 / real)

Height field to be shaded.

ImageShadeImageShadeImageShadeImageShadeimageShade (output_object)  image(-array) objectHImageHImageHobject * (byte)

Shaded image.

SlantSlantSlantSlantslant (input_control)  angle.deg HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Angle between the light source and the positive z-axis (in degrees).

Default value: 0.0

Suggested values: 1.0, 5.0, 10.0, 20.0, 40.0, 60.0, 90.0

Typical range of values: 0.0 ≤ Slant Slant Slant Slant slant ≤ 180.0 (lin)

Minimum increment: 0.01

Recommended increment: 10.0

TiltTiltTiltTilttilt (input_control)  angle.deg HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Angle between the light source and the x-axis after projection into the xy-plane (in degrees).

Default value: 0.0

Suggested values: 1.0, 5.0, 10.0, 20.0, 40.0, 60.0, 90.0

Typical range of values: 0.0 ≤ Tilt Tilt Tilt Tilt tilt ≤ 360.0 (lin)

Minimum increment: 0.01

Recommended increment: 10.0

AlbedoAlbedoAlbedoAlbedoalbedo (input_control)  number HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Amount of light reflected by the surface.

Default value: 1.0

Suggested values: 0.1, 0.5, 1.0, 5.0

Typical range of values: 0.0 ≤ Albedo Albedo Albedo Albedo albedo ≤ 5.0 (lin)

Minimum increment: 0.01

Recommended increment: 0.1

Restriction: Albedo >= 0.0

AmbientAmbientAmbientAmbientambient (input_control)  number HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Amount of ambient light.

Default value: 0.0

Suggested values: 0.1, 0.5, 1.0

Typical range of values: 0.0 ≤ Ambient Ambient Ambient Ambient ambient ≤ 1.0 (lin)

Minimum increment: 0.01

Recommended increment: 0.1

Restriction: Ambient >= 0.0

ShadowsShadowsShadowsShadowsshadows (input_control)  string HTupleHTupleHtuple (string) (string) (HString) (char*)

Should shadows be calculated?

Default value: 'false' "false" "false" "false" "false"

Suggested values: 'true'"true""true""true""true", 'false'"false""false""false""false"

Result

If all parameters are correct shade_height_fieldshade_height_fieldShadeHeightFieldShadeHeightFieldShadeHeightField returns the value 2 (H_MSG_TRUE). Otherwise, an exception is raised.

Possible Predecessors

sfs_mod_lrsfs_mod_lrSfsModLrSfsModLrSfsModLr, sfs_orig_lrsfs_orig_lrSfsOrigLrSfsOrigLrSfsOrigLr, sfs_pentlandsfs_pentlandSfsPentlandSfsPentlandSfsPentland, photometric_stereophotometric_stereoPhotometricStereoPhotometricStereoPhotometricStereo

Module

Foundation