~siretart/ubuntu/utopic/blender/libav10

« back to all changes in this revision

Viewing changes to intern/cycles/render/nodes.h

  • Committer: Package Import Robot
  • Author(s): Matthias Klose
  • Date: 2014-02-19 11:24:23 UTC
  • mfrom: (14.2.23 sid)
  • Revision ID: package-import@ubuntu.com-20140219112423-rkmaz2m7ha06d4tk
Tags: 2.69-3ubuntu1
* Merge with Debian; remaining changes:
  - Configure without OpenImageIO on armhf, as it is not available on
    Ubuntu.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
/*
2
 
 * Copyright 2011, Blender Foundation.
3
 
 *
4
 
 * This program is free software; you can redistribute it and/or
5
 
 * modify it under the terms of the GNU General Public License
6
 
 * as published by the Free Software Foundation; either version 2
7
 
 * of the License, or (at your option) any later version.
8
 
 *
9
 
 * This program is distributed in the hope that it will be useful,
10
 
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11
 
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12
 
 * GNU General Public License for more details.
13
 
 *
14
 
 * You should have received a copy of the GNU General Public License
15
 
 * along with this program; if not, write to the Free Software Foundation,
16
 
 * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 
2
 * Copyright 2011-2013 Blender Foundation
 
3
 *
 
4
 * Licensed under the Apache License, Version 2.0 (the "License");
 
5
 * you may not use this file except in compliance with the License.
 
6
 * You may obtain a copy of the License at
 
7
 *
 
8
 * http://www.apache.org/licenses/LICENSE-2.0
 
9
 *
 
10
 * Unless required by applicable law or agreed to in writing, software
 
11
 * distributed under the License is distributed on an "AS IS" BASIS,
 
12
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 
13
 * See the License for the specific language governing permissions and
 
14
 * limitations under the License
17
15
 */
18
16
 
19
17
#ifndef __NODES_H__
45
43
        float3 min, max;
46
44
        bool use_minmax;
47
45
 
 
46
        enum Type { POINT = 0, TEXTURE = 1, VECTOR = 2, NORMAL = 3 };
 
47
        Type type;
 
48
 
48
49
        enum Mapping { NONE = 0, X = 1, Y = 2, Z = 3 };
49
50
        Mapping x_mapping, y_mapping, z_mapping;
50
51
 
107
108
 
108
109
        float3 sun_direction;
109
110
        float turbidity;
 
111
        float ground_albedo;
 
112
        
 
113
        ustring type;
 
114
        static ShaderEnum type_enum;
110
115
};
111
116
 
112
117
class OutputNode : public ShaderNode {
201
206
        BsdfNode(bool scattering = false);
202
207
        SHADER_NODE_BASE_CLASS(BsdfNode);
203
208
 
204
 
        void compile(SVMCompiler& compiler, ShaderInput *param1, ShaderInput *param2, ShaderInput *param3 = NULL);
 
209
        void compile(SVMCompiler& compiler, ShaderInput *param1, ShaderInput *param2, ShaderInput *param3 = NULL, ShaderInput *param4 = NULL);
205
210
 
206
211
        ClosureType closure;
207
212
        bool scattering;
271
276
public:
272
277
        SHADER_NODE_CLASS(SubsurfaceScatteringNode)
273
278
        bool has_surface_bssrdf() { return true; }
 
279
        bool has_bssrdf_bump();
 
280
 
 
281
        static ShaderEnum falloff_enum;
274
282
};
275
283
 
276
284
class EmissionNode : public ShaderNode {
316
324
        SHADER_NODE_CLASS(IsotropicVolumeNode)
317
325
};
318
326
 
 
327
class HairBsdfNode : public BsdfNode {
 
328
public:
 
329
        SHADER_NODE_CLASS(HairBsdfNode)
 
330
 
 
331
        ustring component;
 
332
        static ShaderEnum component_enum;
 
333
 
 
334
};
 
335
 
319
336
class GeometryNode : public ShaderNode {
320
337
public:
321
338
        SHADER_NODE_CLASS(GeometryNode)
407
424
        SHADER_NODE_CLASS(CombineRGBNode)
408
425
};
409
426
 
 
427
class CombineHSVNode : public ShaderNode {
 
428
public:
 
429
        SHADER_NODE_CLASS(CombineHSVNode)
 
430
};
 
431
 
410
432
class GammaNode : public ShaderNode {
411
433
public:
412
434
        SHADER_NODE_CLASS(GammaNode)
422
444
        SHADER_NODE_CLASS(SeparateRGBNode)
423
445
};
424
446
 
 
447
class SeparateHSVNode : public ShaderNode {
 
448
public:
 
449
        SHADER_NODE_CLASS(SeparateHSVNode)
 
450
};
 
451
 
425
452
class HSVNode : public ShaderNode {
426
453
public:
427
454
        SHADER_NODE_CLASS(HSVNode)
462
489
        SHADER_NODE_CLASS(WavelengthNode)
463
490
};
464
491
 
 
492
class BlackbodyNode : public ShaderNode {
 
493
public:
 
494
        SHADER_NODE_CLASS(BlackbodyNode)
 
495
        
 
496
        bool has_converter_blackbody() { return true; }
 
497
};
 
498
 
465
499
class MathNode : public ShaderNode {
466
500
public:
467
501
        SHADER_NODE_CLASS(MathNode)
487
521
        static ShaderEnum type_enum;
488
522
};
489
523
 
 
524
class VectorTransformNode : public ShaderNode {
 
525
public:
 
526
        SHADER_NODE_CLASS(VectorTransformNode)
 
527
 
 
528
        ustring type;
 
529
        ustring convert_from;
 
530
        ustring convert_to;
 
531
        
 
532
        static ShaderEnum type_enum;
 
533
        static ShaderEnum convert_space_enum;
 
534
};
 
535
 
490
536
class BumpNode : public ShaderNode {
491
537
public:
492
538
        SHADER_NODE_CLASS(BumpNode)