{"@attributes":{"version":"2.0"},"channel":{"title":"Documentation \u2013 Rendering","link":"https:\/\/docs.aspose.com\/3d\/ru\/python-net\/rendering\/","description":"Recent content in Rendering on Documentation","generator":"Hugo -- gohugo.io","language":"ru","item":[{"title":"Python-Net: \u0411\u0440\u043e\u0441\u0430\u0439\u0442\u0435 \u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u0439\u0442\u0435 \u0442\u0435\u043d\u0438 \u043d\u0430 \u0433\u0435\u043e\u043c\u0435\u0442\u0440\u0438\u0438 3D","link":"https:\/\/docs.aspose.com\/3d\/ru\/python-net\/cast-and-receive-shadows-on-3d-geometries\/","pubDate":"Mon, 01 Jan 0001 00:00:00 +0000","guid":"https:\/\/docs.aspose.com\/3d\/ru\/python-net\/cast-and-receive-shadows-on-3d-geometries\/","description":"\n        \n        \n        \n\n<div class=\"alert alert-primary\" role=\"alert\">\n\n\u041a\u0430\u043a \u043f\u0440\u0430\u0432\u0438\u043b\u043e, \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0444\u043e\u0440\u043c\u0430\u0442\u044b \u0444\u0430\u0439\u043b\u043e\u0432 3D \u043c\u043e\u0433\u0443\u0442 \u0445\u0440\u0430\u043d\u0438\u0442\u044c \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0435 \u0441 \u0442\u0435\u043d\u044c\u044e, \u0432 \u0433\u0435\u043e\u043c\u0435\u0442\u0440\u0438\u0438, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 FBX. \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f <a href=\"https:\/\/products.aspose.com\/3d\/python-net\/\">Aspose.3D for Python via .NET<\/a>, \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u043c\u043e\u0433\u0443\u0442 \u0432\u0438\u0437\u0443\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435, \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u044f \u0442\u0435\u043d\u0438 \u0441 \u0442\u043e\u0447\u043a\u0438 \u0437\u0440\u0435\u043d\u0438\u044f \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0430 \u0441\u0432\u0435\u0442\u0430. \u041a\u0430\u0447\u0435\u0441\u0442\u0432\u043e \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0430 \u0441\u0432\u0435\u0442\u0430, \u0443\u0433\u043b\u0430 \u0432\u043e\u0437\u0432\u044b\u0448\u0435\u043d\u0438\u044f \u0438 \u0440\u0430\u0441\u0441\u0442\u043e\u044f\u043d\u0438\u044f \u043c\u0435\u0436\u0434\u0443 \u043a\u0430\u043c\u0435\u0440\u043e\u0439 \u0438 \u0433\u0435\u043e\u043c\u0435\u0442\u0440\u0438\u0447\u0435\u0441\u043a\u0438\u043c\u0438 \u043e\u0431\u044a\u0435\u043a\u0442\u0430\u043c\u0438.\n<\/div>\n\n<h2 id=\"\u0432-\u0440\u043e\u043b\u044f\u0445-\u0438-\u043f\u043e\u043b\u0443\u0447\u0430\u0439\u0442\u0435-\u0442\u0435\u043d\u044c\"><strong>\u0412 \u0440\u043e\u043b\u044f\u0445 \u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u0439\u0442\u0435 \u0442\u0435\u043d\u044c<\/strong><\/h2>\n<p>\u041f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0432\u0441\u0435 \u043e\u0431\u044a\u0435\u043a\u0442\u044b \u0432 \u0441\u0446\u0435\u043d\u0435 \u043e\u0442\u0431\u0440\u0430\u0441\u044b\u0432\u0430\u044e\u0442 \u0442\u0435\u043d\u0438 \u043e\u0442 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0430 \u0441\u0432\u0435\u0442\u0430. \u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u0442\u0430\u043a\u0436\u0435 \u043c\u043e\u0433\u0443\u0442 \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c \u0442\u0435\u043d\u0438 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043e\u0431\u044a\u0435\u043a\u0442\u0430 \u043d\u0430 \u043f\u043e\u0432\u0435\u0440\u0445\u043d\u043e\u0441\u0442\u0438 \u043e\u0431\u044a\u0435\u043a\u0442\u0430. \u042d\u0442\u043e\u0442 \u043f\u0440\u0438\u043c\u0435\u0440 \u043a\u043e\u0434\u0430 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u043a\u0430\u043a \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0441\u0432\u0435\u0442\u0430 \u0438 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 \u043a\u0430\u043c\u0435\u0440\u044b. \u041e\u043d \u0442\u0430\u043a\u0436\u0435 \u0441\u043e\u0437\u0434\u0430\u0435\u0442 \u043f\u043b\u043e\u0441\u043a\u043e\u0441\u0442\u044c \u0438 \u0440\u0430\u0437\u043c\u0435\u0449\u0430\u0435\u0442 \u0442\u0440\u0438 \u043e\u0431\u044a\u0435\u043a\u0442\u0430 \u0441 \u0440\u0430\u0437\u043d\u044b\u043c\u0438 \u0446\u0432\u0435\u0442\u0430\u043c\u0438 \u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u043c\u0438 \u0442\u0435\u043d\u0435\u0439.<\/p>\n<p>\u0412\u0441\u0435 \u0433\u0435\u043e\u043c\u0435\u0442\u0440\u0438\u0438 \u0438\u043c\u0435\u044e\u0442 <code>cast_shadows = True<\/code> \u0438 <code>receive_shadows = True<\/code>, \u0442\u0435\u043d\u0438 \u043a\u0440\u0430\u0441\u043d\u043e\u0433\u043e \u044f\u0449\u0438\u043a\u0430 \u0438 \u0442\u043e\u0440\u0430, \u043d\u0430\u043b\u043e\u0436\u0435\u043d\u043d\u044b\u0435 \u043d\u0430 \u043f\u043b\u043e\u0441\u043a\u043e\u0441\u0442\u044c, \u043a\u0440\u0430\u0441\u043d\u044b\u0439 \u044f\u0449\u0438\u043a \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c \u0442\u0435\u043d\u0438, \u0430 \u0441\u0438\u043d\u0438\u0439 \u0431\u043b\u043e\u043a \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u043e\u0442\u0431\u0440\u0430\u0441\u044b\u0432\u0430\u0442\u044c \u0442\u0435\u043d\u0438.<\/p>\n<h3 id=\"\u043e\u0431\u0440\u0430\u0437\u0435\u0446-\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f\"><strong>\u041e\u0431\u0440\u0430\u0437\u0435\u0446 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f<\/strong><\/h3>\n<p>\u042d\u0442\u043e\u0442 \u043f\u0440\u0438\u043c\u0435\u0440 \u043a\u043e\u0434\u0430 \u043e\u0442\u0431\u0440\u0430\u0441\u044b\u0432\u0430\u0435\u0442 \u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442 \u0442\u0435\u043d\u0438 \u043d\u0430 \u0433\u0435\u043e\u043c\u0435\u0442\u0440\u0438\u0438 3D.<\/p>\n<script type=\"application\/javascript\" src=\"https:\/\/gist.github.com\/aspose-3d-gists\/cfde9f76113134443c76608c1d19453a.js?file=Rendering-CastAndReceiveShadow-CastAndReceiveShadow.py\"><\/script>\n\n<p><strong>\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 Render<\/strong><\/p>\n<p>! <a href=\"cast-and-receive-shadows-on-3d-geometries_1.png\">\u0414\u043b\u044f: \u0438\u043c\u0430\u0433\u0435_\u0430\u043b\u044c\u0442_\u0442\u0435\u043a\u0441\u0442<\/a><\/p>\n\n      "},{"title":"Python-Net: \u0421\u043e\u0437\u0434\u0430\u0439\u0442\u0435 \u044d\u0444\u0444\u0435\u043a\u0442 \u00ab\u0440\u044b\u0431\u0438\u0439 \u0433\u043b\u0430\u0437\u00bb \u043d\u0430 \u0441\u0446\u0435\u043d\u0435 3D \u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u0435 \u0432 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0438","link":"https:\/\/docs.aspose.com\/3d\/ru\/python-net\/create-a-fisheye-lens-effect-on-3d-scene-and-save-in-an-image\/","pubDate":"Mon, 01 Jan 0001 00:00:00 +0000","guid":"https:\/\/docs.aspose.com\/3d\/ru\/python-net\/create-a-fisheye-lens-effect-on-3d-scene-and-save-in-an-image\/","description":"\n        \n        \n        \n\n<div class=\"alert alert-primary\" role=\"alert\">\n\n\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f <a href=\"https:#products.aspose.com\/3d\/python-net\/\">Aspose.3D for Python via .NET API<\/a>, \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u043c\u043e\u0433\u0443\u0442 \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u044d\u0444\u0444\u0435\u043a\u0442 \u043e\u0431\u044a\u0435\u043a\u0442\u0438\u0432\u0430 \u00ab\u0440\u044b\u0431\u0438\u0439 \u0433\u043b\u0430\u0437\u00bb \u043d\u0430 \u0441\u0446\u0435\u043d\u0435 3D \u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u044d\u0442\u043e\u0442 \u0432\u0438\u0434 \u0432 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u044b\u0445 \u0444\u043e\u0440\u043c\u0430\u0442\u0430\u0445 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0439.\n<\/div>\n\n<h2 id=\"\u0441\u043e\u0437\u0434\u0430\u0439\u0442\u0435-\u044d\u0444\u0444\u0435\u043a\u0442-\u043b\u0438\u043d\u0437\u044b-\u0440\u044b\u0431\u0438\u0439-\u0433\u043b\u0430\u0437\"><strong>\u0421\u043e\u0437\u0434\u0430\u0439\u0442\u0435 \u044d\u0444\u0444\u0435\u043a\u0442 \u043b\u0438\u043d\u0437\u044b \u0440\u044b\u0431\u0438\u0439 \u0433\u043b\u0430\u0437<\/strong><\/h2>\n<p>\u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043c\u044b \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u043a\u0430\u043c\u0435\u0440\u0443 \u0438 \u0434\u0432\u0430 \u043e\u0431\u044a\u0435\u043a\u0442\u0430 Light \u0434\u043b\u044f \u0437\u0430\u0445\u0432\u0430\u0442\u0430 \u0441\u0446\u0435\u043d\u044b, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0446\u0435\u043b\u044c \u0440\u0435\u043d\u0434\u0435\u0440\u0438\u043d\u0433\u0430, \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0432\u0438\u0434\u043e\u0432\u043e\u0439 \u044d\u043a\u0440\u0430\u043d \u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u043c \u043f\u043e\u0441\u0442\u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0443 \u043f\u0440\u043e\u0435\u043a\u0446\u0438\u0438 \u00ab\u0440\u044b\u0431\u0438\u0439 \u0433\u043b\u0430\u0437\u00bb \u0441 \u043a\u0430\u0440\u0442\u043e\u0439 \u043a\u0443\u0431\u0430 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0432\u0445\u043e\u0434\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438, \u043d\u0430\u043a\u043e\u043d\u0435\u0446, \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u043c \u0442\u0435\u043a\u0441\u0442\u0443\u0440\u0443 \u00ab\u0440\u044b\u0431\u0438\u0439 \u0433\u043b\u0430\u0437\u00bb. \u041c\u0435\u0442\u043e\u0434 <code>execute<\/code> \u043a\u043b\u0430\u0441\u0441\u0430 <code>Renderer<\/code> \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u044d\u0444\u0444\u0435\u043a\u0442 \u043f\u043e\u0441\u0442-\u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0434\u043b\u044f \u0440\u0435\u043d\u0434\u0435\u0440\u0438\u043d\u0433\u0430 \u0446\u0435\u043b\u0438.<\/p>\n<h3 id=\"\u043e\u0431\u0440\u0430\u0437\u0435\u0446-\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f\"><strong>\u041e\u0431\u0440\u0430\u0437\u0435\u0446 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f<\/strong><\/h3>\n<p>\u042d\u0442\u043e\u0442 \u043f\u0440\u0438\u043c\u0435\u0440 \u043a\u043e\u0434\u0430 \u0441\u043e\u0437\u0434\u0430\u0435\u0442 \u044d\u0444\u0444\u0435\u043a\u0442 \u043e\u0431\u044a\u0435\u043a\u0442\u0438\u0432\u0430 \u00ab\u0440\u044b\u0431\u0438\u0439 \u0433\u043b\u0430\u0437\u00bb \u043d\u0430 \u0441\u0446\u0435\u043d\u0435 3D \u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u0442 \u0435\u0433\u043e \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f.<\/p>\n<p><strong>Python<\/strong><\/p>\n<div class=\"highlight\"><pre class=\"chroma\"><code class=\"language-py\" data-lang=\"py\">\n<span class=\"kn\">import<\/span> <span class=\"nn\">aspose.threed<\/span> <span class=\"kn\">as<\/span> <span class=\"nn\">a3d<\/span>\n<span class=\"kn\">from<\/span> <span class=\"nn\">aspose.pydrawing<\/span> <span class=\"kn\">import<\/span> <span class=\"n\">Color<\/span>\n<span class=\"kn\">from<\/span> <span class=\"nn\">aspose.pydrawing.imaging<\/span> <span class=\"kn\">import<\/span> <span class=\"n\">ImageFormat<\/span>\n\n<span class=\"c1\">#load the scene<\/span>\n\n<span class=\"n\">scene<\/span> <span class=\"o\">=<\/span> <span class=\"n\">a3d<\/span><span class=\"o\">.<\/span><span class=\"n\">Scene<\/span><span class=\"o\">.<\/span><span class=\"n\">from_file<\/span><span class=\"p\">(<\/span><span class=\"s2\">&#34;test.glb&#34;<\/span><span class=\"p\">);<\/span>\n\n<span class=\"c1\">#create a camera for capturing the cube map<\/span>\n\n<span class=\"n\">cam<\/span> <span class=\"o\">=<\/span> <span class=\"n\">a3d<\/span><span class=\"o\">.<\/span><span class=\"n\">entities<\/span><span class=\"o\">.<\/span><span class=\"n\">Camera<\/span><span class=\"p\">(<\/span><span class=\"n\">a3d<\/span><span class=\"o\">.<\/span><span class=\"n\">entities<\/span><span class=\"o\">.<\/span><span class=\"n\">ProjectionType<\/span><span class=\"o\">.<\/span><span class=\"n\">PERSPECTIVE<\/span><span class=\"p\">)<\/span>\n\n<span class=\"n\">cam<\/span><span class=\"o\">.<\/span><span class=\"n\">near_plane<\/span> <span class=\"o\">=<\/span> <span class=\"mf\">0.1<\/span>\n<span class=\"n\">cam<\/span><span class=\"o\">.<\/span><span class=\"n\">far_plane<\/span> <span class=\"o\">=<\/span> <span class=\"mi\">200<\/span>\n<span class=\"n\">cam<\/span><span class=\"o\">.<\/span><span class=\"n\">rotation_mode<\/span> <span class=\"o\">=<\/span> <span class=\"n\">a3d<\/span><span class=\"o\">.<\/span><span class=\"n\">entities<\/span><span class=\"o\">.<\/span><span class=\"n\">RotationMode<\/span><span class=\"o\">.<\/span><span class=\"n\">FIXED_DIRECTION<\/span>\n\n<span class=\"n\">scene<\/span><span class=\"o\">.<\/span><span class=\"n\">root_node<\/span><span class=\"o\">.<\/span><span class=\"n\">create_child_node<\/span><span class=\"p\">(<\/span><span class=\"n\">cam<\/span><span class=\"p\">)<\/span><span class=\"o\">.<\/span><span class=\"n\">transform<\/span><span class=\"o\">.<\/span><span class=\"n\">set_translation<\/span><span class=\"p\">(<\/span><span class=\"mi\">5<\/span><span class=\"p\">,<\/span> <span class=\"mi\">6<\/span><span class=\"p\">,<\/span> <span class=\"mi\">0<\/span><span class=\"p\">)<\/span>\n\n\n\n<span class=\"c1\">#create two lights to illuminate the scene<\/span>\n\n<span class=\"n\">light<\/span> <span class=\"o\">=<\/span> <span class=\"n\">a3d<\/span><span class=\"o\">.<\/span><span class=\"n\">entities<\/span><span class=\"o\">.<\/span><span class=\"n\">Light<\/span><span class=\"p\">()<\/span>\n<span class=\"n\">light<\/span><span class=\"o\">.<\/span><span class=\"n\">light_type<\/span> <span class=\"o\">=<\/span> <span class=\"n\">a3d<\/span><span class=\"o\">.<\/span><span class=\"n\">entities<\/span><span class=\"o\">.<\/span><span class=\"n\">LightType<\/span><span class=\"o\">.<\/span><span class=\"n\">POINT<\/span>\n\n<span class=\"n\">scene<\/span><span class=\"o\">.<\/span><span class=\"n\">root_node<\/span><span class=\"o\">.<\/span><span class=\"n\">create_child_node<\/span><span class=\"p\">(<\/span><span class=\"n\">light<\/span><span class=\"p\">)<\/span><span class=\"o\">.<\/span><span class=\"n\">transform<\/span><span class=\"o\">.<\/span><span class=\"n\">set_translation<\/span><span class=\"p\">(<\/span><span class=\"o\">-<\/span><span class=\"mi\">10<\/span><span class=\"p\">,<\/span> <span class=\"mi\">7<\/span><span class=\"p\">,<\/span> <span class=\"o\">-<\/span><span class=\"mi\">10<\/span><span class=\"p\">)<\/span>\n\n\n<span class=\"n\">light<\/span> <span class=\"o\">=<\/span> <span class=\"n\">a3d<\/span><span class=\"o\">.<\/span><span class=\"n\">entities<\/span><span class=\"o\">.<\/span><span class=\"n\">Light<\/span><span class=\"p\">()<\/span>\n<span class=\"n\">light<\/span><span class=\"o\">.<\/span><span class=\"n\">color<\/span> <span class=\"o\">=<\/span> <span class=\"n\">a3d<\/span><span class=\"o\">.<\/span><span class=\"n\">utilities<\/span><span class=\"o\">.<\/span><span class=\"n\">Vector3<\/span><span class=\"p\">(<\/span><span class=\"n\">Color<\/span><span class=\"o\">.<\/span><span class=\"n\">cadet_blue<\/span><span class=\"p\">)<\/span>\n\n\n<span class=\"n\">scene<\/span><span class=\"o\">.<\/span><span class=\"n\">root_node<\/span><span class=\"o\">.<\/span><span class=\"n\">create_child_node<\/span><span class=\"p\">(<\/span><span class=\"n\">light<\/span><span class=\"p\">)<\/span><span class=\"o\">.<\/span><span class=\"n\">transform<\/span><span class=\"o\">.<\/span><span class=\"n\">set_translation<\/span><span class=\"p\">(<\/span><span class=\"mi\">49<\/span><span class=\"p\">,<\/span> <span class=\"mi\">0<\/span><span class=\"p\">,<\/span> <span class=\"mi\">49<\/span><span class=\"p\">)<\/span>\n\n\n<span class=\"c1\">#create a renderer<\/span>\n\n<span class=\"k\">with<\/span> <span class=\"n\">a3d<\/span><span class=\"o\">.<\/span><span class=\"n\">render<\/span><span class=\"o\">.<\/span><span class=\"n\">Renderer<\/span><span class=\"o\">.<\/span><span class=\"n\">create_renderer<\/span><span class=\"p\">()<\/span> <span class=\"k\">as<\/span> <span class=\"n\">renderer<\/span><span class=\"p\">:<\/span>\n\n    <span class=\"c1\">#Create a cube map render target with depth texture, depth is required when rendering a scene.<\/span>\n    <span class=\"n\">rt<\/span> <span class=\"o\">=<\/span> <span class=\"n\">renderer<\/span><span class=\"o\">.<\/span><span class=\"n\">render_factory<\/span><span class=\"o\">.<\/span><span class=\"n\">create_cube_render_texture<\/span><span class=\"p\">(<\/span><span class=\"n\">a3d<\/span><span class=\"o\">.<\/span><span class=\"n\">render<\/span><span class=\"o\">.<\/span><span class=\"n\">RenderParameters<\/span><span class=\"p\">(<\/span><span class=\"bp\">False<\/span><span class=\"p\">),<\/span> <span class=\"mi\">512<\/span><span class=\"p\">,<\/span> <span class=\"mi\">512<\/span><span class=\"p\">)<\/span>\n\n    <span class=\"c1\">#create a 2D texture render target with no depth texture used for image processing<\/span>\n    <span class=\"n\">final<\/span> <span class=\"o\">=<\/span> <span class=\"n\">renderer<\/span><span class=\"o\">.<\/span><span class=\"n\">rendere_factory<\/span><span class=\"o\">.<\/span><span class=\"n\">create_render_texture<\/span><span class=\"p\">(<\/span><span class=\"n\">a3d<\/span><span class=\"o\">.<\/span><span class=\"n\">render<\/span><span class=\"o\">.<\/span><span class=\"n\">RenderParameters<\/span><span class=\"p\">(<\/span><span class=\"bp\">False<\/span><span class=\"p\">,<\/span> <span class=\"mi\">32<\/span><span class=\"p\">,<\/span> <span class=\"mi\">0<\/span><span class=\"p\">,<\/span> <span class=\"mi\">0<\/span><span class=\"p\">),<\/span> <span class=\"mi\">1024<\/span><span class=\"p\">,<\/span> <span class=\"mi\">1024<\/span><span class=\"p\">)<\/span>\n\n\n\n    <span class=\"c1\">#a viewport is required on the render target<\/span>\n    <span class=\"n\">rt<\/span><span class=\"o\">.<\/span><span class=\"n\">create_viewport<\/span><span class=\"p\">(<\/span><span class=\"n\">cam<\/span><span class=\"p\">,<\/span> <span class=\"n\">RelativeRectangle<\/span><span class=\"o\">.<\/span><span class=\"n\">from_scale<\/span><span class=\"p\">(<\/span><span class=\"mi\">0<\/span><span class=\"p\">,<\/span> <span class=\"mi\">0<\/span><span class=\"p\">,<\/span> <span class=\"mi\">1<\/span><span class=\"p\">,<\/span> <span class=\"mi\">1<\/span><span class=\"p\">))<\/span>\n\n    <span class=\"n\">renderer<\/span><span class=\"o\">.<\/span><span class=\"n\">render<\/span><span class=\"p\">(<\/span><span class=\"n\">rt<\/span><span class=\"p\">)<\/span>\n\n\n    <span class=\"c1\">#execute the fisheye projection post-processing with the previous rendered cube map as input<\/span>\n    <span class=\"c1\">#the fisheye can have field of view more than 180 degree, so a cube map with all direction is required.<\/span>\n\n    <span class=\"n\">fisheye<\/span> <span class=\"o\">=<\/span> <span class=\"n\">renderer<\/span><span class=\"o\">.<\/span><span class=\"n\">get_post_processing<\/span><span class=\"p\">(<\/span><span class=\"s2\">&#34;fisheye&#34;<\/span><span class=\"p\">)<\/span>\n\n    <span class=\"c1\"># we can change the fov to 360 instead of the default value 180.<\/span>\n\n    <span class=\"n\">fisheye<\/span><span class=\"o\">.<\/span><span class=\"n\">find_property<\/span><span class=\"p\">(<\/span><span class=\"s2\">&#34;fov&#34;<\/span><span class=\"p\">)<\/span><span class=\"o\">.<\/span><span class=\"n\">Value<\/span> <span class=\"o\">=<\/span> <span class=\"mf\">360.0<\/span>\n\n    <span class=\"c1\">#Specify the cube map rendered from the scene as this post processing&#39;s input<\/span>\n\n    <span class=\"n\">fisheye<\/span><span class=\"o\">.<\/span><span class=\"n\">input<\/span> <span class=\"o\">=<\/span> <span class=\"n\">rt<\/span><span class=\"o\">.<\/span><span class=\"n\">targets<\/span><span class=\"p\">[<\/span><span class=\"mi\">0<\/span><span class=\"p\">]<\/span>\n\n    <span class=\"c1\">#Execute the post processing effect and save the result to render target final<\/span>\n\n    <span class=\"n\">renderer<\/span><span class=\"o\">.<\/span><span class=\"n\">execute<\/span><span class=\"p\">(<\/span><span class=\"n\">fisheye<\/span><span class=\"p\">,<\/span> <span class=\"n\">final<\/span><span class=\"p\">)<\/span>\n\n    <span class=\"c1\">#save the texture into disk<\/span>\n\n    <span class=\"n\">final<\/span><span class=\"o\">.<\/span><span class=\"n\">targets<\/span><span class=\"p\">[<\/span><span class=\"mi\">0<\/span><span class=\"p\">]<\/span><span class=\"o\">.<\/span><span class=\"n\">save<\/span><span class=\"p\">(<\/span><span class=\"s2\">&#34;fisheye.png&#34;<\/span><span class=\"p\">,<\/span> <span class=\"n\">ImageFormat<\/span><span class=\"o\">.<\/span><span class=\"n\">PNG<\/span><span class=\"p\">)<\/span>\n\n\n<\/code><\/pre><\/div>\n      "},{"title":"Python-Net: \u0410\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u044b\u0439 \u0440\u0435\u043d\u0434\u0435\u0440\u0438\u043d\u0433 \u0433\u0435\u043e\u043c\u0435\u0442\u0440\u0438\u0438 3D","link":"https:\/\/docs.aspose.com\/3d\/ru\/python-net\/hardware-based-rendering-of-3d-geometry\/","pubDate":"Mon, 01 Jan 0001 00:00:00 +0000","guid":"https:\/\/docs.aspose.com\/3d\/ru\/python-net\/hardware-based-rendering-of-3d-geometry\/","description":"\n        \n        \n        \n\n<div class=\"alert alert-primary\" role=\"alert\">\n\n\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f <a href=\"https:\/\/products.aspose.com\/3d\/python-net\/\">Aspose.3D for Python via .NET<\/a> API, \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u043c\u043e\u0433\u0443\u0442 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u0442\u044c GPU (\u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440) \u0438 \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0442\u044c \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0438\u0435 \u0434\u043b\u044f \u0440\u0435\u043d\u0434\u0435\u0440\u0438\u043d\u0433\u0430 \u0433\u0435\u043e\u043c\u0435\u0442\u0440\u0438\u0438 3D \u0432\u043c\u0435\u0441\u0442\u043e \u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u043a\u043e\u043d\u0432\u0435\u0439\u0435\u0440\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u0439. \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043c\u044b \u0441\u043e\u0441\u0440\u0435\u0434\u043e\u0442\u043e\u0447\u0438\u043c\u0441\u044f \u043d\u0430 \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u043e\u043c \u0440\u0435\u043d\u0434\u0435\u0440\u0438\u043d\u0433\u0435 \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c <a href=\"https:\/\/www.opengl.org\/sdk\/docs\/man\/html\/glEnable.xhtml\">OpenGL 4,0<\/a>, <a href=\"https:\/\/msdn.microsoft.com\/en-us\/library\/windows\/desktop\/hh404489(v=vs.85).aspx\">DirectX 11<\/a>, <a href=\"https:\/\/msdn.microsoft.com\/en-us\/library\/windows\/desktop\/bb147327(v=vs.85).aspx\">DirectX 9<\/a> \u0438 <a href=\"https:\/\/www.khronos.org\/registry\/vulkan\/specs\/1.0\/xhtml\/vkspec.html#VkPipelineRasterizationStateCreateInfo\">\u0412\u0443\u043b\u043a\u0430\u043d<\/a>.\n<\/div>\n\n<h2 id=\"\u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435-\u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0438\u044f-\u0438-\u0440\u0435\u043d\u0434\u0435\u0440\u0438\u043d\u0433-\u0433\u0435\u043e\u043c\u0435\u0442\u0440\u0438\u0438-3d\"><strong>\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0438\u044f \u0438 \u0440\u0435\u043d\u0434\u0435\u0440\u0438\u043d\u0433 \u0433\u0435\u043e\u043c\u0435\u0442\u0440\u0438\u0438 3D<\/strong><\/h2>\n<p>\u0414\u043b\u044f \u0440\u0435\u043d\u0434\u0435\u0440\u0438\u043d\u0433\u0430 \u0433\u0435\u043e\u043c\u0435\u0442\u0440\u0438\u0438 3D \u0442\u0440\u0435\u0431\u0443\u044e\u0442\u0441\u044f \u0448\u0435\u0439\u0434\u0435\u0440, \u0431\u0443\u0444\u0435\u0440\u044b \u0438 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u0440\u0435\u043d\u0434\u0435\u0440\u0438\u043d\u0433\u0430. \u041d\u0438\u043a\u0442\u043e \u0438\u0437 \u043d\u0438\u0445 \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0434\u0440\u0443\u0433 \u0431\u0435\u0437 \u0434\u0440\u0443\u0433\u0430.<\/p>\n<ul>\n<li><strong>\u0411\u0443\u0444\u0435\u0440\u044b<\/strong>-\u0422\u0440\u0435\u0443\u0433\u043e\u043b\u044c\u043d\u044b\u0435 \u0441\u043f\u0438\u0441\u043a\u0438-\u044d\u0442\u043e \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0435 \u0442\u0440\u0435\u0443\u0433\u043e\u043b\u044c\u043d\u0438\u043a\u0438, \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u0435 \u0432 \u043c\u0430\u0441\u0441\u0438\u0432\u0435, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0438\u043d\u043e\u0433\u0434\u0430 \u043d\u0430\u0437\u044b\u0432\u0430\u044e\u0442 \u0431\u0443\u0444\u0435\u0440\u043e\u043c. \u0412 \u0441\u043f\u0438\u0441\u043a\u0435 \u0442\u0440\u0435\u0443\u0433\u043e\u043b\u044c\u043d\u0438\u043a\u043e\u0432 \u043a\u0430\u0436\u0434\u044b\u0439 \u0442\u0440\u0435\u0443\u0433\u043e\u043b\u044c\u043d\u0438\u043a \u0443\u043a\u0430\u0437\u0430\u043d \u0438\u043d\u0434\u0438\u0432\u0438\u0434\u0443\u0430\u043b\u044c\u043d\u043e. \u0422\u043e\u0447\u043a\u0438 \u0442\u0440\u0435\u0443\u0433\u043e\u043b\u044c\u043d\u0438\u043a\u0430 \u043c\u043e\u0436\u043d\u043e \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0438\u043d\u0434\u0435\u043a\u0441\u043e\u0432 \u0434\u043b\u044f \u0443\u043c\u0435\u043d\u044c\u0448\u0435\u043d\u0438\u044f \u043e\u0431\u044a\u0435\u043c\u0430 \u0434\u0430\u043d\u043d\u044b\u0445, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u0435\u0440\u0435\u0434\u0430\u0442\u044c \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u043e\u043c\u0443 \u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0438\u044e.<\/li>\n<li><strong>\u0428\u0435\u0439\u0434\u0435\u0440\u044b<\/strong>-\u041e\u043d \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442, \u043a\u0430\u043a \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u0442\u044c \u0442\u0440\u0435\u0443\u0433\u043e\u043b\u044c\u043d\u0438\u043a\u0438 \u0438\u0437 \u043c\u0438\u0440\u043e\u0432\u043e\u0433\u043e \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0430 \u0432 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e \u044d\u043a\u0440\u0430\u043d\u0430 \u0438 \u0440\u0430\u0441\u0441\u0447\u0438\u0442\u0430\u0442\u044c \u043e\u043a\u043e\u043d\u0447\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0446\u0432\u0435\u0442 \u043f\u0438\u043a\u0441\u0435\u043b\u044f \u043d\u0430 \u0441\u0442\u043e\u0440\u043e\u043d\u0435 GPU<\/li>\n<li><strong>\u0413\u043e\u0441\u0443\u0434\u0430\u0440\u0441\u0442\u0432\u0430-\u0447\u043b\u0435\u043d\u044b<\/strong>-\u041e\u043d \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0434\u043b\u044f GPU \u0434\u043b\u044f \u0440\u0430\u0441\u0442\u0435\u0440\u0438\u0437\u0430\u0446\u0438\u0438 \u0442\u0440\u0435\u0443\u0433\u043e\u043b\u044c\u043d\u0438\u043a\u043e\u0432 \u0432 \u043f\u0438\u043a\u0441\u0435\u043b\u0438.<\/li>\n<\/ul>\n\n\n<div class=\"alert alert-primary\" role=\"alert\">\n\n\u041c\u044b \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u0438\u043b\u0438 \u0434\u0435\u043c\u043e-\u043f\u0440\u043e\u0435\u043a\u0442. \u0421\u043c. <a href=\"https:\/\/github.com\/aspose-3d\/Aspose.3D-for-.NET\/tree\/master\/HardwareBasedRendering\">\u042d\u0442\u043e\u0442 URL-\u0430\u0434\u0440\u0435\u0441 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438<\/a>.\n<\/div>\n\n<p>\u042f\u0437\u044b\u043a \u0437\u0430\u0442\u0435\u043d\u0435\u043d\u0438\u044f OpenGL (GLSL) \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u043c \u044f\u0437\u044b\u043a\u043e\u043c \u0437\u0430\u0442\u0435\u043d\u0435\u043d\u0438\u044f \u0432\u044b\u0441\u043e\u043a\u043e\u0433\u043e \u0443\u0440\u043e\u0432\u043d\u044f \u0434\u043b\u044f \u0433\u0440\u0430\u0444\u0438\u043a\u0438 OpenGL API. \u041e\u0431\u044b\u0447\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u0442\u0440\u0438 \u0442\u0438\u043f\u0430 \u0448\u0435\u0439\u0434\u0435\u0440\u043e\u0432: \u0448\u0435\u0439\u0434\u0435\u0440\u044b \u0432\u0435\u0440\u0448\u0438\u043d, \u0448\u0435\u0439\u0434\u0435\u0440\u044b \u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442\u0430 \u0438 \u0448\u0435\u0439\u0434\u0435\u0440\u044b \u0433\u0435\u043e\u043c\u0435\u0442\u0440\u0438\u0438.<\/p>\n<p>\u041a\u043b\u0430\u0441\u0441 <a href=\"https:\/\/reference.aspose.com\/3d\/net\/aspose.threed.render\/glslsource\"><code>GLSLSource<\/code><\/a> \u0441\u043e\u043e\u0431\u0449\u0430\u0435\u0442 \u0440\u0435\u043d\u0434\u0435\u0440\u0443, \u0447\u0442\u043e \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434 \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d \u0434\u043b\u044f \u044f\u0437\u044b\u043a\u0430 \u0437\u0430\u0442\u0435\u043d\u0435\u043d\u0438\u044f OpenGL, \u043e\u043d \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0441\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u043d \u0432 \u043a\u043b\u0430\u0441\u0441 <a href=\"https:\/\/reference.aspose.com\/3d\/net\/aspose.threed.render\/shaderprogram\"><code>ShaderProgram<\/code><\/a>. \u041a\u043b\u0430\u0441\u0441 <a href=\"https:\/\/reference.aspose.com\/3d\/net\/aspose.threed.render\/shadervariable\"><code>ShaderVariable<\/code><\/a> \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0435 \u0432 \u0448\u0435\u0439\u0434\u0435\u0440\u0435. \u041a\u043b\u0430\u0441\u0441 <code>VariableSemantic<\/code> \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u0441\u0435\u043c\u0430\u043d\u0442\u0438\u043a\u0438 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u0448\u0435\u0439\u0434\u0435\u0440\u0430, Aspose.3D \u0440\u0435\u043d\u0434\u0435\u0440\u0435\u0440 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u0438\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u0448\u0435\u0439\u0434\u0435\u0440\u0430 \u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u0441\u0435\u043c\u0430\u043d\u0442\u0438\u043a\u0438.<\/p>\n<h3 id=\"\u043e\u0431\u0440\u0430\u0437\u0435\u0446-\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f-\u0434\u043b\u044f-shader\"><strong>\u041e\u0431\u0440\u0430\u0437\u0435\u0446 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u043b\u044f Shader<\/strong><\/h3>\n<p>\u042d\u0442\u043e\u0442 \u043f\u0440\u0438\u043c\u0435\u0440 \u043a\u043e\u0434\u0430 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u0442 \u0440\u0435\u043d\u0434\u0435\u0440\u0435\u0440 \u0438 \u0448\u0435\u0439\u0434\u0435\u0440 \u0434\u043b\u044f \u0441\u0435\u0442\u043a\u0438. \u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0441\u043a\u0430\u0447\u0430\u0442\u044c \u043f\u043e\u043b\u043d\u044b\u0439 \u0440\u0430\u0431\u043e\u0447\u0438\u0439 \u043f\u0440\u043e\u0435\u043a\u0442 \u044d\u0442\u043e\u0433\u043e \u043f\u0440\u0438\u043c\u0435\u0440\u0430 \u0438\u0437 <a href=\"https:\/\/github.com\/aspose-3d\/Aspose.3D-for-.NET\/tree\/master\/HardwareBasedRendering\">\u0417\u0434\u0435\u0441\u044c<\/a>.<\/p>\n<script type=\"application\/javascript\" src=\"https:\/\/gist.github.com\/aspose-3d-gists\/cfde9f76113134443c76608c1d19453a.js?file=HardwareBasedRendering-Controls-RenderView-RenderView.py\"><\/script>\n\n<h3 id=\"\u043e\u0431\u0440\u0430\u0437\u0435\u0446-\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f-\u0434\u043b\u044f-\u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f-\u0431\u0443\u0444\u0435\u0440\u0430-\u0438-\u0440\u0435\u043d\u0434\u0435\u0440\u0430\"><strong>\u041e\u0431\u0440\u0430\u0437\u0435\u0446 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u043b\u044f \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f \u0431\u0443\u0444\u0435\u0440\u0430 \u0438 \u0420\u0435\u043d\u0434\u0435\u0440\u0430<\/strong><\/h3>\n<p>\u042d\u0442\u043e\u0442 \u043f\u0440\u0438\u043c\u0435\u0440 \u043a\u043e\u0434\u0430 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u0442 \u0431\u0443\u0444\u0435\u0440 \u0438 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u0440\u0435\u043d\u0434\u0435\u0440\u0438\u043d\u0433\u0430 \u0434\u043b\u044f \u0441\u0435\u0442\u043a\u0438.<\/p>\n<script type=\"application\/javascript\" src=\"https:\/\/gist.github.com\/aspose-3d-gists\/cfde9f76113134443c76608c1d19453a.js?file=HardwareBasedRendering-Grid-ManualEntity.py\"><\/script>\n\n\n      "},{"title":"Python-Net: \u0420\u0435\u043d\u0434\u0435\u0440 3D \u041f\u0440\u043e\u0441\u043c\u043e\u0442\u0440 \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0441 \u043a\u0430\u043c\u0435\u0440\u044b","link":"https:\/\/docs.aspose.com\/3d\/ru\/python-net\/render-3d-view-in-image-format-from-camera\/","pubDate":"Mon, 01 Jan 0001 00:00:00 +0000","guid":"https:\/\/docs.aspose.com\/3d\/ru\/python-net\/render-3d-view-in-image-format-from-camera\/","description":"\n        \n        \n        \n\n<div class=\"alert alert-primary\" role=\"alert\">\n\n\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f <a href=\"https:\/\/products.aspose.com\/3d\/python-net\/\">Aspose.3D for Python via .NET<\/a>, \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u043c\u043e\u0433\u0443\u0442 \u0432\u0438\u0437\u0443\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0430 \u0440\u0435\u0430\u043b\u0438\u0441\u0442\u0438\u0447\u043d\u043e\u0433\u043e \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u043c\u043e\u0434\u0435\u043b\u0438 3D \u0441 \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u043d\u044b\u043c \u0444\u043e\u043d\u043e\u043c, \u0442\u0435\u043a\u0441\u0442\u0443\u0440\u0430\u043c\u0438, \u0442\u0435\u043d\u044f\u043c\u0438 \u0438\u043b\u0438 \u0431\u0435\u0437 \u043d\u0438\u0445, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0442\u044c \u0440\u0430\u0437\u043c\u0435\u0440 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f.\n<\/div>\n\n<h2 id=\"\u0441\u0434\u0435\u043b\u0430\u0439\u0442\u0435-\u0441\u043d\u0438\u043c\u043e\u043a-\u043c\u043e\u0434\u0435\u043b\u0438-3d-\u0441-\u043a\u0430\u043c\u0435\u0440\u044b\"><strong>\u0421\u0434\u0435\u043b\u0430\u0439\u0442\u0435 \u0441\u043d\u0438\u043c\u043e\u043a \u043c\u043e\u0434\u0435\u043b\u0438 3D \u0441 \u043a\u0430\u043c\u0435\u0440\u044b<\/strong><\/h2>\n<p>\u041c\u0435\u0442\u043e\u0434 Render, \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0439 \u043a\u043b\u0430\u0441\u0441\u043e\u043c <a href=\"https:\/\/reference.aspose.com\/3d\/net\/aspose.threed\/scene\"><code>Scene<\/code><\/a>, \u043c\u043e\u0436\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0434\u043b\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u0441\u043d\u0438\u043c\u043a\u0430 \u0441 \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0439 \u043a\u0430\u043c\u0435\u0440\u044b. \u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u0442\u0430\u043a\u0436\u0435 \u043c\u043e\u0433\u0443\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u0432 \u043d\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u0438 \u0438 \u043f\u043e\u0437\u0438\u0446\u0438\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043a\u0430\u043c\u0435\u0440\u044b \u0432 \u0441\u0446\u0435\u043d\u0435. \u0412 \u044d\u0442\u043e\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u043a\u043e\u0434\u0430 \u043c\u044b \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u043a\u0430\u043c\u0435\u0440\u0443 \u0432 \u043f\u043e\u0437\u0438\u0446\u0438\u0438 (10,10,10) \u0432 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0439 \u0441\u0446\u0435\u043d\u0435 3D \u0438 \u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043d\u0430 \u0438\u0441\u0445\u043e\u0434\u043d\u0443\u044e \u0442\u043e\u0447\u043a\u0443 \u0434\u043b\u044f \u0440\u0435\u043d\u0434\u0435\u0440\u0438\u043d\u0433\u0430.<\/p>\n<h3 id=\"\u043e\u0431\u0440\u0430\u0437\u0435\u0446-\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f\"><strong>\u041e\u0431\u0440\u0430\u0437\u0435\u0446 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f<\/strong><\/h3>\n<p>\u042d\u0442\u043e\u0442 \u043f\u0440\u0438\u043c\u0435\u0440 \u043a\u043e\u0434\u0430 \u0441\u043e\u0437\u0434\u0430\u0435\u0442 \u043a\u0430\u043c\u0435\u0440\u0443 \u0432 \u0441\u0446\u0435\u043d\u0435 3D, \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442 \u0435\u0435 \u0446\u0435\u043b\u044c \u0438 \u0432\u0438\u0437\u0443\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u0442 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435.<\/p>\n<div class=\"highlight\"><pre class=\"chroma\"><code class=\"language-python\" data-lang=\"python\"><span class=\"kn\">from<\/span> <span class=\"nn\">aspose.pydrawing<\/span> <span class=\"kn\">import<\/span> <span class=\"n\">Color<\/span><span class=\"p\">,<\/span> <span class=\"n\">Size<\/span>\n<span class=\"kn\">from<\/span> <span class=\"nn\">aspose.pydrawing.imaging<\/span> <span class=\"kn\">import<\/span> <span class=\"n\">ImageFormat<\/span>\n<span class=\"kn\">from<\/span> <span class=\"nn\">aspose.threed<\/span> <span class=\"kn\">import<\/span> <span class=\"n\">ImageRenderOptions<\/span><span class=\"p\">,<\/span> <span class=\"n\">Scene<\/span>\n<span class=\"kn\">from<\/span> <span class=\"nn\">aspose.threed.entities<\/span> <span class=\"kn\">import<\/span> <span class=\"n\">Camera<\/span>\n<span class=\"kn\">from<\/span> <span class=\"nn\">aspose.threed.utilities<\/span> <span class=\"kn\">import<\/span> <span class=\"n\">Vector3<\/span>\n\n<span class=\"c1\">#  For complete examples and data files, please go to https:# github.com\/aspose-3d\/Aspose.3D-for-.NET<\/span>\n<span class=\"c1\">#  Load scene from file<\/span>\n<span class=\"n\">scene<\/span> <span class=\"o\">=<\/span> <span class=\"n\">Scene<\/span><span class=\"p\">(<\/span><span class=\"s2\">&#34;data-dir&#34;<\/span>  <span class=\"o\">+<\/span> <span class=\"s2\">&#34;camera.3ds&#34;<\/span><span class=\"p\">)<\/span>\n<span class=\"c1\">#  Create a camera at (10,10,10) and look at the origin point for rendering,<\/span>\n<span class=\"c1\">#  It must be attached to the scene before render<\/span>\n<span class=\"n\">camera<\/span> <span class=\"o\">=<\/span> <span class=\"n\">Camera<\/span><span class=\"p\">()<\/span>\n<span class=\"n\">scene<\/span><span class=\"o\">.<\/span><span class=\"n\">root_node<\/span><span class=\"o\">.<\/span><span class=\"n\">create_child_node<\/span><span class=\"p\">(<\/span><span class=\"s2\">&#34;camera&#34;<\/span><span class=\"p\">,<\/span> <span class=\"n\">camera<\/span><span class=\"p\">)<\/span>\n<span class=\"n\">camera<\/span><span class=\"o\">.<\/span><span class=\"n\">parent_node<\/span><span class=\"o\">.<\/span><span class=\"n\">transform<\/span><span class=\"o\">.<\/span><span class=\"n\">translation<\/span> <span class=\"o\">=<\/span> <span class=\"n\">Vector3<\/span><span class=\"p\">(<\/span><span class=\"mi\">10<\/span><span class=\"p\">,<\/span> <span class=\"mi\">10<\/span><span class=\"p\">,<\/span> <span class=\"mi\">10<\/span><span class=\"p\">)<\/span>\n<span class=\"n\">camera<\/span><span class=\"o\">.<\/span><span class=\"n\">look_at<\/span> <span class=\"o\">=<\/span> <span class=\"n\">Vector3<\/span><span class=\"o\">.<\/span><span class=\"n\">ORIGIN<\/span>\n<span class=\"c1\">#  Specify the image render option<\/span>\n<span class=\"n\">opt<\/span> <span class=\"o\">=<\/span> <span class=\"n\">ImageRenderOptions<\/span><span class=\"p\">()<\/span>\n<span class=\"c1\">#  Set the background color<\/span>\n<span class=\"n\">opt<\/span><span class=\"o\">.<\/span><span class=\"n\">background_color<\/span> <span class=\"o\">=<\/span> <span class=\"n\">Color<\/span><span class=\"o\">.<\/span><span class=\"n\">alice_blue<\/span>\n<span class=\"c1\">#  Tells renderer where the it can find textures<\/span>\n<span class=\"n\">opt<\/span><span class=\"o\">.<\/span><span class=\"n\">asset_directories<\/span><span class=\"o\">.<\/span><span class=\"n\">append<\/span><span class=\"p\">(<\/span><span class=\"s2\">&#34;data-dir&#34;<\/span>  <span class=\"o\">+<\/span> <span class=\"s2\">&#34;textures&#34;<\/span><span class=\"p\">)<\/span>\n<span class=\"c1\">#  Turn on shadow<\/span>\n<span class=\"n\">opt<\/span><span class=\"o\">.<\/span><span class=\"n\">enable_shadows<\/span> <span class=\"o\">=<\/span> <span class=\"bp\">True<\/span>\n<span class=\"c1\">#  Render the scene in given camera&#39;s perspective into specified png file with size 1024x1024<\/span>\n<span class=\"n\">scene<\/span><span class=\"o\">.<\/span><span class=\"n\">render<\/span><span class=\"p\">(<\/span><span class=\"n\">camera<\/span><span class=\"p\">,<\/span> <span class=\"s2\">&#34;out&#34;<\/span>  <span class=\"o\">+<\/span> <span class=\"s2\">&#34;Render3DModelImageFromCamera.png&#34;<\/span><span class=\"p\">,<\/span> <span class=\"n\">Size<\/span><span class=\"p\">(<\/span><span class=\"mi\">1024<\/span><span class=\"p\">,<\/span> <span class=\"mi\">1024<\/span><span class=\"p\">),<\/span> <span class=\"n\">ImageFormat<\/span><span class=\"o\">.<\/span><span class=\"n\">png<\/span><span class=\"p\">,<\/span> <span class=\"n\">opt<\/span><span class=\"p\">)<\/span><\/code><\/pre><\/div>\n\n      "},{"title":"Python-Net: \u0420\u0435\u043d\u0434\u0435\u0440\u0438\u043d\u0433 \u043f\u0430\u043d\u043e\u0440\u0430\u043c\u043d\u043e\u0433\u043e \u0432\u0438\u0434\u0430 \u0441\u0446\u0435\u043d\u044b 3D","link":"https:\/\/docs.aspose.com\/3d\/ru\/python-net\/render-a-panorama-view-of-3d-scene\/","pubDate":"Mon, 01 Jan 0001 00:00:00 +0000","guid":"https:\/\/docs.aspose.com\/3d\/ru\/python-net\/render-a-panorama-view-of-3d-scene\/","description":"\n        \n        \n        \n\n<div class=\"alert alert-primary\" role=\"alert\">\n\n\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f <a href=\"https:#products.aspose.com\/3d\/python-net\/\">Aspose.3D for Python via .NET API<\/a>, \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u043c\u043e\u0433\u0443\u0442 \u043e\u0442\u043e\u0431\u0440\u0430\u0437\u0438\u0442\u044c \u043f\u0430\u043d\u043e\u0440\u0430\u043c\u0443 \u0441\u0446\u0435\u043d\u044b 3D \u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u044d\u0442\u043e\u0442 \u0432\u0438\u0434 \u0432 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u044b\u0445 \u0444\u043e\u0440\u043c\u0430\u0442\u0430\u0445 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0439.\n<\/div>\n\n<h2 id=\"\u0441\u043e\u0437\u0434\u0430\u0442\u044c-\u0432\u0438\u0434-panorama\"><strong>\u0421\u043e\u0437\u0434\u0430\u0442\u044c \u0432\u0438\u0434 Panorama<\/strong><\/h2>\n<p>\u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043c\u044b \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u043a\u0430\u043c\u0435\u0440\u0443 \u0438 \u0434\u0432\u0430 \u043e\u0431\u044a\u0435\u043a\u0442\u0430 Light \u0434\u043b\u044f \u0437\u0430\u0445\u0432\u0430\u0442\u0430 \u0441\u0446\u0435\u043d\u044b, \u0442\u0430\u043a\u0436\u0435 \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u043c\u0438\u0448\u0435\u043d\u044c \u0440\u0435\u043d\u0434\u0435\u0440\u0438\u043d\u0433\u0430, \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0432\u0438\u0434\u043e\u0432\u043e\u0439 \u044d\u043a\u0440\u0430\u043d \u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u043c \u044d\u043a\u0432\u0438\u043f\u0440\u044f\u043c\u043e\u0443\u0433\u043e\u043b\u044c\u043d\u0443\u044e \u043f\u043e\u0441\u0442\u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0443 \u043f\u0440\u043e\u0435\u043a\u0446\u0438\u0438 \u0441 \u043a\u0430\u0440\u0442\u043e\u0439 \u043a\u0443\u0431\u0430 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0432\u0445\u043e\u0434\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438, \u043d\u0430\u043a\u043e\u043d\u0435\u0446, \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u043c \u0442\u0435\u043a\u0441\u0442\u0443\u0440\u0443 Panorama. \u041c\u0435\u0442\u043e\u0434 <code>execute<\/code> \u043a\u043b\u0430\u0441\u0441\u0430 <code>Renderer<\/code> \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u044d\u0444\u0444\u0435\u043a\u0442 \u043f\u043e\u0441\u0442-\u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0434\u043b\u044f \u0440\u0435\u043d\u0434\u0435\u0440\u0438\u043d\u0433\u0430 \u0446\u0435\u043b\u0438.<\/p>\n<h3 id=\"\u043e\u0431\u0440\u0430\u0437\u0435\u0446-\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f\"><strong>\u041e\u0431\u0440\u0430\u0437\u0435\u0446 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f<\/strong><\/h3>\n<p>\u042d\u0442\u043e\u0442 \u043f\u0440\u0438\u043c\u0435\u0440 \u043a\u043e\u0434\u0430 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0435\u0442 \u043f\u0430\u043d\u043e\u0440\u0430\u043c\u0443 \u0441\u0446\u0435\u043d\u044b 3D \u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u0442 \u0435\u0435 \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f.<\/p>\n<p><strong>Python<\/strong><\/p>\n<div class=\"highlight\"><pre class=\"chroma\"><code class=\"language-py\" data-lang=\"py\">\n<span class=\"kn\">from<\/span> <span class=\"nn\">aspose.pydrawing.imaging<\/span> <span class=\"kn\">import<\/span> <span class=\"n\">ImageFormat<\/span>\n<span class=\"kn\">from<\/span> <span class=\"nn\">aspose.pydrawing<\/span> <span class=\"kn\">import<\/span> <span class=\"n\">Color<\/span>\n<span class=\"kn\">import<\/span> <span class=\"nn\">aspose.threed<\/span> <span class=\"kn\">as<\/span> <span class=\"nn\">a3d<\/span>\n\n<span class=\"c1\">#load the scene<\/span>\n\n<span class=\"n\">scene<\/span> <span class=\"o\">=<\/span> <span class=\"n\">Scene<\/span><span class=\"o\">.<\/span><span class=\"n\">from_file<\/span><span class=\"p\">(<\/span><span class=\"s2\">&#34;vc.glb&#34;<\/span><span class=\"p\">)<\/span>\n\n<span class=\"c1\">#create a camera for capturing the cube map<\/span>\n\n<span class=\"n\">cam<\/span> <span class=\"o\">=<\/span> <span class=\"n\">a3d<\/span><span class=\"o\">.<\/span><span class=\"n\">entities<\/span><span class=\"o\">.<\/span><span class=\"n\">Camera<\/span><span class=\"p\">(<\/span><span class=\"n\">a3d<\/span><span class=\"o\">.<\/span><span class=\"n\">entities<\/span><span class=\"o\">.<\/span><span class=\"n\">ProjectionType<\/span><span class=\"o\">.<\/span><span class=\"n\">PERSPECTIVE<\/span><span class=\"p\">)<\/span>\n\n\n<span class=\"n\">cam<\/span><span class=\"o\">.<\/span><span class=\"n\">near_plane<\/span> <span class=\"o\">=<\/span> <span class=\"mf\">0.1<\/span>\n<span class=\"n\">cam<\/span><span class=\"o\">.<\/span><span class=\"n\">far_plane<\/span> <span class=\"o\">=<\/span> <span class=\"mi\">200<\/span>\n<span class=\"n\">cam<\/span><span class=\"o\">.<\/span><span class=\"n\">rotation_mode<\/span> <span class=\"o\">=<\/span> <span class=\"n\">a3d<\/span><span class=\"o\">.<\/span><span class=\"n\">entities<\/span><span class=\"o\">.<\/span><span class=\"n\">RotationMode<\/span><span class=\"o\">.<\/span><span class=\"n\">FIXED_DIRECTION<\/span>\n\n\n<span class=\"n\">scene<\/span><span class=\"o\">.<\/span><span class=\"n\">root_node<\/span><span class=\"o\">.<\/span><span class=\"n\">create_child_node<\/span><span class=\"p\">(<\/span><span class=\"n\">cam<\/span><span class=\"p\">)<\/span><span class=\"o\">.<\/span><span class=\"n\">transform<\/span><span class=\"o\">.<\/span><span class=\"n\">set_translation<\/span><span class=\"p\">(<\/span><span class=\"mi\">5<\/span><span class=\"p\">,<\/span> <span class=\"mi\">6<\/span><span class=\"p\">,<\/span> <span class=\"mi\">0<\/span><span class=\"p\">);<\/span>\n\n\n\n<span class=\"c1\">#create two lights to illuminate the scene<\/span>\n\n<span class=\"n\">scene<\/span><span class=\"o\">.<\/span><span class=\"n\">root_node<\/span><span class=\"o\">.<\/span><span class=\"n\">create_child_node<\/span><span class=\"p\">(<\/span><span class=\"n\">a3d<\/span><span class=\"o\">.<\/span><span class=\"n\">entities<\/span><span class=\"o\">.<\/span><span class=\"n\">Light<\/span><span class=\"p\">(<\/span><span class=\"s2\">&#34;&#34;<\/span><span class=\"p\">,<\/span> <span class=\"n\">a3d<\/span><span class=\"o\">.<\/span><span class=\"n\">entities<\/span><span class=\"o\">.<\/span><span class=\"n\">LightType<\/span><span class=\"o\">.<\/span><span class=\"n\">POINT<\/span><span class=\"p\">)<\/span><span class=\"o\">.<\/span><span class=\"n\">transform<\/span><span class=\"o\">.<\/span><span class=\"n\">set_translation<\/span><span class=\"p\">(<\/span><span class=\"o\">-<\/span><span class=\"mi\">10<\/span><span class=\"p\">,<\/span> <span class=\"mi\">7<\/span><span class=\"p\">,<\/span> <span class=\"o\">-<\/span><span class=\"mi\">10<\/span><span class=\"p\">)<\/span>\n\n<span class=\"n\">light<\/span> <span class=\"o\">=<\/span> <span class=\"n\">a3d<\/span><span class=\"o\">.<\/span><span class=\"n\">entities<\/span><span class=\"o\">.<\/span><span class=\"n\">Light<\/span><span class=\"p\">()<\/span>\n<span class=\"n\">light<\/span><span class=\"o\">.<\/span><span class=\"n\">color<\/span> <span class=\"o\">=<\/span> <span class=\"n\">Color<\/span><span class=\"o\">.<\/span><span class=\"n\">cadet_blue<\/span>\n<span class=\"n\">scene<\/span><span class=\"o\">.<\/span><span class=\"n\">root_node<\/span><span class=\"o\">.<\/span><span class=\"n\">create_child_node<\/span><span class=\"p\">(<\/span><span class=\"n\">light<\/span><span class=\"p\">)<\/span><span class=\"o\">.<\/span><span class=\"n\">transform<\/span><span class=\"o\">.<\/span><span class=\"n\">set_translation<\/span><span class=\"p\">(<\/span><span class=\"mi\">49<\/span><span class=\"p\">,<\/span> <span class=\"mi\">0<\/span><span class=\"p\">,<\/span> <span class=\"mi\">49<\/span><span class=\"p\">)<\/span>\n\n<span class=\"c1\">#create a renderer<\/span>\n\n<span class=\"k\">with<\/span> <span class=\"n\">a3d<\/span><span class=\"o\">.<\/span><span class=\"n\">render<\/span><span class=\"o\">.<\/span><span class=\"n\">Renderer<\/span><span class=\"o\">.<\/span><span class=\"n\">create_renderer<\/span><span class=\"p\">()<\/span> <span class=\"k\">as<\/span> <span class=\"n\">renderer<\/span><span class=\"p\">:<\/span>\n\n    <span class=\"c1\">#Create a cube map render target with depth texture, depth is required when rendering a scene.<\/span>\n\n    <span class=\"n\">rt<\/span> <span class=\"o\">=<\/span> <span class=\"n\">renderer<\/span><span class=\"o\">.<\/span><span class=\"n\">render_factory<\/span><span class=\"o\">.<\/span><span class=\"n\">create_cube_render_texture<\/span><span class=\"p\">(<\/span><span class=\"n\">a3d<\/span><span class=\"o\">.<\/span><span class=\"n\">render<\/span><span class=\"o\">.<\/span><span class=\"n\">RenderParameters<\/span><span class=\"p\">(<\/span><span class=\"bp\">False<\/span><span class=\"p\">),<\/span> <span class=\"mi\">512<\/span><span class=\"p\">,<\/span> <span class=\"mi\">512<\/span><span class=\"p\">)<\/span>\n\n    <span class=\"c1\">#create a 2D texture render target with no depth texture used for image processing<\/span>\n\n    <span class=\"n\">final<\/span> <span class=\"o\">=<\/span> <span class=\"n\">renderer<\/span><span class=\"o\">.<\/span><span class=\"n\">render_factory<\/span><span class=\"o\">.<\/span><span class=\"n\">CreateRenderTexture<\/span><span class=\"p\">(<\/span><span class=\"n\">a3d<\/span><span class=\"o\">.<\/span><span class=\"n\">render<\/span><span class=\"o\">.<\/span><span class=\"n\">RenderParameters<\/span><span class=\"p\">(<\/span><span class=\"bp\">False<\/span><span class=\"p\">,<\/span> <span class=\"mi\">32<\/span><span class=\"p\">,<\/span> <span class=\"mi\">0<\/span><span class=\"p\">,<\/span> <span class=\"mi\">0<\/span><span class=\"p\">),<\/span> <span class=\"mi\">1024<\/span> <span class=\"o\">*<\/span> <span class=\"mi\">3<\/span> <span class=\"p\">,<\/span> <span class=\"mi\">1024<\/span><span class=\"p\">)<\/span>\n\n\n\n    <span class=\"c1\">#a viewport is required on the render target<\/span>\n\n    <span class=\"n\">rt<\/span><span class=\"o\">.<\/span><span class=\"n\">create_viewport<\/span><span class=\"p\">(<\/span><span class=\"n\">cam<\/span><span class=\"p\">,<\/span> <span class=\"n\">a3d<\/span><span class=\"o\">.<\/span><span class=\"n\">utilities<\/span><span class=\"o\">.<\/span><span class=\"n\">RelativeRectangle<\/span><span class=\"o\">.<\/span><span class=\"n\">from_scale<\/span><span class=\"p\">(<\/span><span class=\"mi\">0<\/span><span class=\"p\">,<\/span> <span class=\"mi\">0<\/span><span class=\"p\">,<\/span> <span class=\"mi\">1<\/span><span class=\"p\">,<\/span> <span class=\"mi\">1<\/span><span class=\"p\">))<\/span>\n\n    <span class=\"n\">renderer<\/span><span class=\"o\">.<\/span><span class=\"n\">render<\/span><span class=\"p\">(<\/span><span class=\"n\">rt<\/span><span class=\"p\">)<\/span>\n\n\n\n    <span class=\"c1\">#execute the equirectangular projection post-processing with the previous rendered cube map as input<\/span>\n\n    <span class=\"n\">equirectangular<\/span> <span class=\"o\">=<\/span> <span class=\"n\">renderer<\/span><span class=\"o\">.<\/span><span class=\"n\">get_post_processing<\/span><span class=\"p\">(<\/span><span class=\"s2\">&#34;equirectangular&#34;<\/span><span class=\"p\">)<\/span>\n\n    <span class=\"c1\">#Specify the cube map rendered from the scene as this post processing&#39;s input<\/span>\n\n    <span class=\"n\">equirectangular<\/span><span class=\"o\">.<\/span><span class=\"n\">input<\/span> <span class=\"o\">=<\/span> <span class=\"n\">rt<\/span><span class=\"o\">.<\/span><span class=\"n\">targets<\/span><span class=\"p\">[<\/span><span class=\"mi\">0<\/span><span class=\"p\">]<\/span>\n\n    <span class=\"c1\">#Execute the post processing effect and save the result to render target final<\/span>\n\n    <span class=\"n\">renderer<\/span><span class=\"o\">.<\/span><span class=\"n\">execute<\/span><span class=\"p\">(<\/span><span class=\"n\">equirectangular<\/span><span class=\"p\">,<\/span> <span class=\"n\">final<\/span><span class=\"p\">)<\/span>\n\n    <span class=\"c1\">#save the texture into disk<\/span>\n\n    <span class=\"n\">final<\/span><span class=\"o\">.<\/span><span class=\"n\">targets<\/span><span class=\"p\">[<\/span><span class=\"mi\">0<\/span><span class=\"p\">]<\/span><span class=\"o\">.<\/span><span class=\"n\">save<\/span><span class=\"p\">(<\/span><span class=\"s2\">&#34;panorama.png&#34;<\/span><span class=\"p\">,<\/span> <span class=\"n\">ImageFormat<\/span><span class=\"o\">.<\/span><span class=\"n\">PNG<\/span><span class=\"p\">)<\/span>\n\n\n<\/code><\/pre><\/div>\n      "}]}}