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
diff options
context:
space:
mode:
Diffstat (limited to 'intern/cycles/kernel/shaders/node_environment_texture.osl')
-rw-r--r--intern/cycles/kernel/shaders/node_environment_texture.osl85
1 files changed, 0 insertions, 85 deletions
diff --git a/intern/cycles/kernel/shaders/node_environment_texture.osl b/intern/cycles/kernel/shaders/node_environment_texture.osl
deleted file mode 100644
index d04743eb368..00000000000
--- a/intern/cycles/kernel/shaders/node_environment_texture.osl
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * Copyright 2011-2013 Blender Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "node_color.h"
-#include "stdcycles.h"
-
-vector environment_texture_direction_to_equirectangular(vector dir)
-{
- float u = -atan2(dir[1], dir[0]) / (M_2PI) + 0.5;
- float v = atan2(dir[2], hypot(dir[0], dir[1])) / M_PI + 0.5;
-
- return vector(u, v, 0.0);
-}
-
-vector environment_texture_direction_to_mirrorball(vector idir)
-{
- vector dir = idir;
- dir[1] -= 1.0;
-
- float div = 2.0 * sqrt(max(-0.5 * dir[1], 0.0));
- if (div > 0.0)
- dir /= div;
-
- float u = 0.5 * (dir[0] + 1.0);
- float v = 0.5 * (dir[2] + 1.0);
-
- return vector(u, v, 0.0);
-}
-
-shader node_environment_texture(
- int use_mapping = 0,
- matrix mapping = matrix(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
- vector Vector = P,
- string filename = "",
- string projection = "equirectangular",
- string interpolation = "linear",
- int compress_as_srgb = 0,
- int ignore_alpha = 0,
- int unassociate_alpha = 0,
- int is_float = 1,
- output color Color = 0.0,
- output float Alpha = 1.0)
-{
- vector p = Vector;
-
- if (use_mapping)
- p = transform(mapping, p);
-
- p = normalize(p);
-
- if (projection == "equirectangular")
- p = environment_texture_direction_to_equirectangular(p);
- else
- p = environment_texture_direction_to_mirrorball(p);
-
- /* todo: use environment for better texture filtering of equirectangular */
- Color = (color)texture(
- filename, p[0], 1.0 - p[1], "wrap", "periodic", "interp", interpolation, "alpha", Alpha);
-
- if (ignore_alpha) {
- Alpha = 1.0;
- }
- else if (unassociate_alpha) {
- Color = color_unpremultiply(Color, Alpha);
-
- if (!is_float)
- Color = min(Color, 1.0);
- }
-
- if (compress_as_srgb)
- Color = color_srgb_to_scene_linear(Color);
-}