# 3D Rendering of 2D Images

These images are viewed by rotating them around the X-axis, then the Y-axis.

## Gray 3D rendering

[`Easy::Render3D`](../../../doxygen_cpp/classeVision_1_1Easy.html#abae24b5e468ae49d698120645c9fd4a2) [<sub>.NET</sub>](../../../doxygen_cs/classeVision_1_1Easy.html#a8275be89cd67503763c13ddf54290fbd) [<sub>Python</sub>](../../../doxygen_python/classeVision_1_1Easy.html#ae31effeb7073248c10d96954d7abd0a7) prepares a 3-dimensional rendering where gray-level values are altitudes.

* You can set the magnification factors in the three directions (X = width, Y = height and Z = depth).
* The rendered image appears as independent dots whose size can be adjusted to make the surface more or less opaque.

![3DRenderingTemplate](assets/images/image_operations/3drenderingtemplate.webp)![3DRenderingSample](assets/images/image_operations/3drenderingsample.webp)

## Color histogram 3D rendering

[`Easy::RenderColorHistogram`](../../../doxygen_cpp/classeVision_1_1Easy.html#a63152cc297ea7bdbd994a57ef62cdad0) [<sub>.NET</sub>](../../../doxygen_cs/classeVision_1_1Easy.html#a39b1ea845643ae91872829c31ec2f715) [<sub>Python</sub>](../../../doxygen_python/classeVision_1_1Easy.html#afb4664ecb1a12fd18812a7a569c8f5da) prepares a 3-dimensional rendering of a color image histogram.

* The pixels are drawn in the RGB space (not XY-plane) to show clustering and dispersion of RGB values.
* This function can process pixels in other color systems (using **EasyColor** to convert), but the raw RGB image is required to display the pixels in their usual colors.
* You can set the magnification factors in the three directions (X = red, Y = green and Z = blue).

![ColorHistogramRenderingTemplate](assets/images/image_operations/colorhistogramrenderingtemplate.webp)![ColorHistogramRenderingSample](assets/images/image_operations/colorhistogramrenderingsample.webp)
