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:
authorBrecht Van Lommel <brechtvanlommel@pandora.be>2011-10-12 20:01:37 +0400
committerBrecht Van Lommel <brechtvanlommel@pandora.be>2011-10-12 20:01:37 +0400
commit4c3b94fdbd9376c9ded785ce8d2eba88b280d149 (patch)
treeb0afb4d6fb14405748c68fe744b42a9a9d88d49b /intern/cycles/render/graph.cpp
parentaff03aa7780e4a7d0dafd06f6e1ed3b3cdb90b5b (diff)
Cycles: image texture node now uses UV as default texture coordinate,
instead of generated.
Diffstat (limited to 'intern/cycles/render/graph.cpp')
-rw-r--r--intern/cycles/render/graph.cpp19
1 files changed, 15 insertions, 4 deletions
diff --git a/intern/cycles/render/graph.cpp b/intern/cycles/render/graph.cpp
index 54acc6e14cd..cdded403cbe 100644
--- a/intern/cycles/render/graph.cpp
+++ b/intern/cycles/render/graph.cpp
@@ -117,9 +117,14 @@ ShaderOutput *ShaderNode::add_output(const char *name, ShaderSocketType type)
void ShaderNode::attributes(AttributeRequestSet *attributes)
{
- foreach(ShaderInput *input, inputs)
- if(!input->link && input->default_value == ShaderInput::TEXTURE_COORDINATE)
- attributes->add(Attribute::STD_GENERATED);
+ foreach(ShaderInput *input, inputs) {
+ if(!input->link) {
+ if(input->default_value == ShaderInput::TEXTURE_GENERATED)
+ attributes->add(Attribute::STD_GENERATED);
+ else if(input->default_value == ShaderInput::TEXTURE_UV)
+ attributes->add(Attribute::STD_UV);
+ }
+ }
}
/* Graph */
@@ -347,12 +352,18 @@ void ShaderGraph::default_inputs(bool do_osl)
foreach(ShaderNode *node, nodes) {
foreach(ShaderInput *input, node->inputs) {
if(!input->link && !(input->osl_only && !do_osl)) {
- if(input->default_value == ShaderInput::TEXTURE_COORDINATE) {
+ if(input->default_value == ShaderInput::TEXTURE_GENERATED) {
if(!texco)
texco = new TextureCoordinateNode();
connect(texco->output("Generated"), input);
}
+ else if(input->default_value == ShaderInput::TEXTURE_UV) {
+ if(!texco)
+ texco = new TextureCoordinateNode();
+
+ connect(texco->output("UV"), input);
+ }
else if(input->default_value == ShaderInput::INCOMING) {
if(!geom)
geom = new GeometryNode();