mirror of
https://github.com/bolero-MURAKAMI/Sprout
synced 2025-08-03 12:49:50 +00:00
fix tuple construction, darkroom rgb & vector3d construction
This commit is contained in:
parent
c78e1d0e6d
commit
2e8b85e90c
53 changed files with 262 additions and 196 deletions
|
@ -52,11 +52,26 @@ namespace sprout {
|
|||
}
|
||||
|
||||
//
|
||||
// rgb_t
|
||||
// rgb
|
||||
//
|
||||
typedef sprout::tuples::tuple<std::uint8_t, std::uint8_t, std::uint8_t> rgb_t;
|
||||
|
||||
inline SPROUT_CONSTEXPR sprout::darkroom::colors::rgb_t
|
||||
rgb(std::uint8_t r = 0, std::uint8_t g = 0, std::uint8_t b = 0) {
|
||||
return sprout::darkroom::colors::rgb_t(r, g, b);
|
||||
}
|
||||
|
||||
//
|
||||
// rgb_f_t
|
||||
// rgb_f
|
||||
//
|
||||
typedef sprout::tuples::tuple<std::uint8_t, std::uint8_t, std::uint8_t> rgb;
|
||||
typedef sprout::tuples::tuple<double, double, double> rgb_f;
|
||||
typedef sprout::tuples::tuple<double, double, double> rgb_f_t;
|
||||
|
||||
inline SPROUT_CONSTEXPR sprout::darkroom::colors::rgb_f_t
|
||||
rgb_f(double r = 0, double g = 0, double b = 0) {
|
||||
return sprout::darkroom::colors::rgb_f_t(r, g, b);
|
||||
}
|
||||
|
||||
//
|
||||
// mul
|
||||
|
|
|
@ -42,9 +42,15 @@ namespace sprout {
|
|||
}
|
||||
|
||||
//
|
||||
// vector3d_t
|
||||
// vector3d
|
||||
//
|
||||
typedef sprout::tuples::tuple<double, double, double> vector3d;
|
||||
typedef sprout::tuples::tuple<double, double, double> vector3d_t;
|
||||
|
||||
inline SPROUT_CONSTEXPR sprout::darkroom::coords::vector3d_t
|
||||
vector3d(double x = 0, double y = 0, double z = 0) {
|
||||
return sprout::darkroom::coords::vector3d_t(x, y, z);
|
||||
}
|
||||
|
||||
//
|
||||
// length_sq
|
||||
|
|
|
@ -74,8 +74,8 @@ namespace sprout {
|
|||
typedef sprout::tuples::tuple<
|
||||
bool,
|
||||
double,
|
||||
sprout::darkroom::coords::vector3d,
|
||||
sprout::darkroom::coords::vector3d,
|
||||
sprout::darkroom::coords::vector3d_t,
|
||||
sprout::darkroom::coords::vector3d_t,
|
||||
sprout::darkroom::materials::material
|
||||
> intersection;
|
||||
} // namespace intersects
|
||||
|
|
|
@ -15,7 +15,7 @@ namespace sprout {
|
|||
//
|
||||
// basic_ambient_light
|
||||
//
|
||||
template<typename Color = sprout::darkroom::colors::rgb_f>
|
||||
template<typename Color = sprout::darkroom::colors::rgb_f_t>
|
||||
class basic_ambient_light {
|
||||
public:
|
||||
typedef Color color_type;
|
||||
|
|
|
@ -19,8 +19,8 @@ namespace sprout {
|
|||
// basic_parallel_light
|
||||
//
|
||||
template<
|
||||
typename Position = sprout::darkroom::coords::vector3d,
|
||||
typename Color = sprout::darkroom::colors::rgb_f
|
||||
typename Position = sprout::darkroom::coords::vector3d_t,
|
||||
typename Color = sprout::darkroom::colors::rgb_f_t
|
||||
>
|
||||
class basic_parallel_light {
|
||||
public:
|
||||
|
|
|
@ -19,8 +19,8 @@ namespace sprout {
|
|||
// basic_point_light
|
||||
//
|
||||
template<
|
||||
typename Position = sprout::darkroom::coords::vector3d,
|
||||
typename Color = sprout::darkroom::colors::rgb_f
|
||||
typename Position = sprout::darkroom::coords::vector3d_t,
|
||||
typename Color = sprout::darkroom::colors::rgb_f_t
|
||||
>
|
||||
class basic_point_light {
|
||||
public:
|
||||
|
|
|
@ -81,7 +81,7 @@ namespace sprout {
|
|||
//
|
||||
// material
|
||||
//
|
||||
typedef sprout::tuples::tuple<sprout::darkroom::colors::rgb_f, double> material;
|
||||
typedef sprout::tuples::tuple<sprout::darkroom::colors::rgb_f_t, double> material;
|
||||
} // namespace materials
|
||||
} // namespace darkroom
|
||||
} // namespace sprout
|
||||
|
|
|
@ -27,7 +27,7 @@ namespace sprout {
|
|||
//
|
||||
// basic_aa_plane
|
||||
//
|
||||
template<typename Material, typename Position = sprout::darkroom::coords::vector3d>
|
||||
template<typename Material, typename Position = sprout::darkroom::coords::vector3d_t>
|
||||
class basic_aa_plane {
|
||||
public:
|
||||
typedef Material material_type;
|
||||
|
|
|
@ -17,7 +17,7 @@ namespace sprout {
|
|||
//
|
||||
// basic_triangle
|
||||
//
|
||||
template<typename Material, typename Vertex = sprout::darkroom::coords::vector3d>
|
||||
template<typename Material, typename Vertex = sprout::darkroom::coords::vector3d_t>
|
||||
class basic_triangle {
|
||||
public:
|
||||
typedef Material material_type;
|
||||
|
|
|
@ -20,7 +20,7 @@ namespace sprout {
|
|||
//
|
||||
// basic_sphere
|
||||
//
|
||||
template<typename Material, typename Position = sprout::darkroom::coords::vector3d>
|
||||
template<typename Material, typename Position = sprout::darkroom::coords::vector3d_t>
|
||||
class basic_sphere {
|
||||
public:
|
||||
typedef Material material_type;
|
||||
|
|
|
@ -125,7 +125,7 @@ namespace sprout {
|
|||
//
|
||||
// color_pixels
|
||||
//
|
||||
template<std::size_t Width, std::size_t Height, typename Color = sprout::darkroom::colors::rgb>
|
||||
template<std::size_t Width, std::size_t Height, typename Color = sprout::darkroom::colors::rgb_t>
|
||||
struct color_pixels {
|
||||
public:
|
||||
typedef sprout::array<sprout::array<Color, Width>, Height> type;
|
||||
|
|
|
@ -43,7 +43,7 @@ namespace sprout {
|
|||
//
|
||||
// ray
|
||||
//
|
||||
typedef sprout::tuples::tuple<sprout::darkroom::coords::vector3d, sprout::darkroom::coords::vector3d> ray;
|
||||
typedef sprout::tuples::tuple<sprout::darkroom::coords::vector3d_t, sprout::darkroom::coords::vector3d_t> ray;
|
||||
|
||||
//
|
||||
// point_of_intersection
|
||||
|
|
|
@ -44,7 +44,7 @@ namespace sprout {
|
|||
//
|
||||
// uniform_color
|
||||
//
|
||||
template<typename Color = sprout::darkroom::colors::rgb_f>
|
||||
template<typename Color = sprout::darkroom::colors::rgb_f_t>
|
||||
class uniform_color {
|
||||
public:
|
||||
typedef Color color_type;
|
||||
|
|
|
@ -47,7 +47,7 @@ namespace sprout {
|
|||
//
|
||||
// image_type
|
||||
//
|
||||
template<std::size_t Width, std::size_t Height, typename Color = sprout::darkroom::colors::rgb_f>
|
||||
template<std::size_t Width, std::size_t Height, typename Color = sprout::darkroom::colors::rgb_f_t>
|
||||
struct image_type {
|
||||
public:
|
||||
typedef Color color_type;
|
||||
|
|
|
@ -11,7 +11,7 @@ namespace sprout {
|
|||
//
|
||||
// raytracer
|
||||
//
|
||||
template<typename Color = sprout::darkroom::colors::rgb_f>
|
||||
template<typename Color = sprout::darkroom::colors::rgb_f_t>
|
||||
class raytracer {
|
||||
public:
|
||||
typedef Color color_type;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue