Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/source
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2011-12-20 03:52:17 +0400
committerCampbell Barton <ideasman42@gmail.com>2011-12-20 03:52:17 +0400
commit71ce197bbb09af00980f6efc4891dc2a7ffda36b (patch)
tree602cedc50eb6cc8f9b87d6666678697b07673a70 /source
parenta7bae8474b11ad2dbf6ccc45423bd47702f6c148 (diff)
patch [#28094] New equirectangular world texture mapping option
Diffstat (limited to 'source')
-rw-r--r--source/blender/makesdna/DNA_world_types.h1
-rw-r--r--source/blender/makesrna/intern/rna_world.c1
-rw-r--r--source/blender/render/intern/source/render_texture.c6
3 files changed, 8 insertions, 0 deletions
diff --git a/source/blender/makesdna/DNA_world_types.h b/source/blender/makesdna/DNA_world_types.h
index 1e8a4574120..149393b6723 100644
--- a/source/blender/makesdna/DNA_world_types.h
+++ b/source/blender/makesdna/DNA_world_types.h
@@ -181,6 +181,7 @@ typedef struct World {
#define TEXCO_ANGMAP 64
#define TEXCO_H_SPHEREMAP 256
#define TEXCO_H_TUBEMAP 1024
+#define TEXCO_EQUIRECTMAP 2048
/* mapto */
#define WOMAP_BLEND 1
diff --git a/source/blender/makesrna/intern/rna_world.c b/source/blender/makesrna/intern/rna_world.c
index 840498249ea..087716adbe3 100644
--- a/source/blender/makesrna/intern/rna_world.c
+++ b/source/blender/makesrna/intern/rna_world.c
@@ -143,6 +143,7 @@ static void rna_def_world_mtex(BlenderRNA *brna)
{TEXCO_GLOB, "GLOBAL", 0, "Global", "Use global coordinates for the texture coordinates (interior mist)"},
{TEXCO_ANGMAP, "ANGMAP", 0, "AngMap", "Use 360 degree angular coordinates, e.g. for spherical light probes"},
{TEXCO_H_SPHEREMAP, "SPHERE", 0, "Sphere", "For 360 degree panorama sky, spherical mapped, only top half"},
+ {TEXCO_EQUIRECTMAP, "EQUIRECT", 0, "Equirectangular", "For 360 degree panorama sky, equirectangular mapping"},
{TEXCO_H_TUBEMAP, "TUBE", 0, "Tube", "For 360 degree panorama sky, cylindrical mapped, only top half"},
{TEXCO_OBJECT, "OBJECT", 0, "Object", "Use linked object's coordinates for texture coordinates"},
{0, NULL, 0, NULL, NULL}};
diff --git a/source/blender/render/intern/source/render_texture.c b/source/blender/render/intern/source/render_texture.c
index 883684c3483..f9992050052 100644
--- a/source/blender/render/intern/source/render_texture.c
+++ b/source/blender/render/intern/source/render_texture.c
@@ -3083,6 +3083,12 @@ void do_sky_tex(const float rco[3], float lo[3], const float dxyview[2], float h
continue;
}
break;
+ case TEXCO_EQUIRECTMAP:
+ tempvec[0]= atan2f(lo[0], lo[2]) / (float)M_PI;
+ tempvec[1]= 1.0f - 2.0f*saacos(lo[1]) / (float)M_PI;
+ tempvec[2]= 0.0f;
+ co= tempvec;
+ break;
case TEXCO_OBJECT:
if(mtex->object) {
copy_v3_v3(tempvec, lo);