Loading...
Searching...
No Matches
include
bbm
bsdf_symmetry.h
Go to the documentation of this file.
1
#ifndef _BBM_BSDF_SYMMETRY_H_
2
#define _BBM_BSDF_SYMMETRY_H_
3
4
/************************************************************************/
5
/*! \file bsdf_symmetry.h
6
7
\brief Enum for passing Isotropic or Anisotropic options to a BSDF.
8
9
*************************************************************************/
10
11
namespace
bbm
{
12
13
/*********************************************************************/
14
/*! \brief symmetry variants.
15
16
symmetry_type = value type of isotropic and anisotropic roughness/sharpness
17
**********************************************************************/
18
enum struct
symmetry_v
19
{
20
Isotropic
= 0x0001,
21
Anisotropic
= 0x0002,
22
};
23
24
/**********************************************************************/
25
/*! \brief Determine the data type for storing isotropic or anisotropic reflectance parameters.
26
**********************************************************************/
27
template
<symmetry_v V,
typename
Value>
28
using
symmetry_t
= std::conditional_t<(V ==
symmetry_v::Isotropic
), Value, vec2d<Value> >;
29
30
}
// end bbm namespace
31
32
#endif
/* _BBM_BSDF_SYMMETRY_H_ */
bbm
Definition:
aggregatebsdf.h:29
bbm::symmetry_v
symmetry_v
symmetry variants.
Definition:
bsdf_symmetry.h:19
bbm::symmetry_v::Isotropic
@ Isotropic
bbm::symmetry_v::Anisotropic
@ Anisotropic
bbm::symmetry_t
std::conditional_t<(V==symmetry_v::Isotropic), Value, vec2d< Value > > symmetry_t
Determine the data type for storing isotropic or anisotropic reflectance parameters.
Definition:
bsdf_symmetry.h:28