File: CarPaintShared.h

package info (click to toggle)
ospray 3.2.0-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 10,048 kB
  • sloc: cpp: 80,569; ansic: 951; sh: 805; makefile: 170; python: 69
file content (102 lines) | stat: -rw-r--r-- 2,028 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
// Copyright 2021 Intel Corporation
// SPDX-License-Identifier: Apache-2.0

#pragma once

#include "render/MaterialShared.h"
#include "texture/TextureParamShared.h"

#ifdef __cplusplus
namespace ispc {
#endif // __cplusplus

struct CarPaint
{
  Material super;

  vec3f baseColor;
  TextureParam baseColorMap;

  float roughness;
  TextureParam roughnessMap;

  float normal; // scale
  TextureParam normalMap;
  linear2f normalRot;

  bool useFlakeColor; // if disabled, flakes are Aluminium
  vec3f flakeColor;
  TextureParam flakeColorMap;

  float flakeScale;
  TextureParam flakeScaleMap;

  float flakeDensity;
  TextureParam flakeDensityMap;

  float flakeSpread;
  TextureParam flakeSpreadMap;

  float flakeJitter;
  TextureParam flakeJitterMap;

  float flakeRoughness;
  TextureParam flakeRoughnessMap;

  // dielectric clear coat reflectivity in [0, 1]
  float coat;
  TextureParam coatMap;

  // dielectric clear coat index of refraction in [1, 3]
  float coatIor;
  TextureParam coatIorMap;

  float coatThickness;
  TextureParam coatThicknessMap;

  float coatRoughness;
  TextureParam coatRoughnessMap;

  float coatNormal; // scale
  TextureParam coatNormalMap;
  linear2f coatNormalRot;

  vec3f coatColor;
  TextureParam coatColorMap;

  vec3f flipflopColor;
  TextureParam flipflopColorMap;

  float flipflopFalloff;
  TextureParam flipflopFalloffMap;

#ifdef __cplusplus
  CarPaint()
      : baseColor(0.8f),
        roughness(0.f),
        normal(1.f),
        normalRot(one),
        useFlakeColor(false),
        flakeColor(0.f),
        flakeScale(0.f),
        flakeDensity(0.f),
        flakeSpread(0.f),
        flakeJitter(0.f),
        flakeRoughness(0.f),
        coat(1.f),
        coatIor(1.5f),
        coatThickness(1.f),
        coatRoughness(0.f),
        coatNormal(1.f),
        coatNormalRot(one),
        coatColor(1.f),
        flipflopColor(1.f),
        flipflopFalloff(1.f)
  {
    super.type = ispc::MATERIAL_TYPE_CARPAINT;
  }
};
} // namespace ispc
#else
};
#endif // __cplusplus