mirror of
https://github.com/bolero-MURAKAMI/Sprout
synced 2025-08-03 12:49:50 +00:00
[desuructive changes] container traits new interface [破壊的変更]
This commit is contained in:
parent
52a2178ac1
commit
ad60c8c530
356 changed files with 3183 additions and 3251 deletions
|
@ -63,7 +63,7 @@ namespace sprout {
|
|||
//
|
||||
template<typename Color, typename Fac>
|
||||
SPROUT_CONSTEXPR inline Color mul(Color const& lhs, Fac const& rhs) {
|
||||
return sprout::tuples::remake_clone<Color>(
|
||||
return sprout::tuples::remake<Color>(
|
||||
lhs,
|
||||
sprout::darkroom::colors::r(lhs) * rhs,
|
||||
sprout::darkroom::colors::g(lhs) * rhs,
|
||||
|
@ -75,7 +75,7 @@ namespace sprout {
|
|||
//
|
||||
template<typename Color1, typename Color2>
|
||||
SPROUT_CONSTEXPR inline Color1 add(Color1 const& lhs, Color2 const& rhs) {
|
||||
return sprout::tuples::remake_clone<Color1>(
|
||||
return sprout::tuples::remake<Color1>(
|
||||
lhs,
|
||||
sprout::darkroom::colors::r(lhs) + sprout::darkroom::colors::r(rhs),
|
||||
sprout::darkroom::colors::g(lhs) + sprout::darkroom::colors::g(rhs),
|
||||
|
@ -87,7 +87,7 @@ namespace sprout {
|
|||
//
|
||||
template<typename Color1, typename Color2>
|
||||
SPROUT_CONSTEXPR inline Color1 filter(Color1 const& lhs, Color2 const& rhs) {
|
||||
return sprout::tuples::remake_clone<Color1>(
|
||||
return sprout::tuples::remake<Color1>(
|
||||
lhs,
|
||||
sprout::darkroom::colors::r(lhs) * sprout::darkroom::colors::r(rhs),
|
||||
sprout::darkroom::colors::g(lhs) * sprout::darkroom::colors::g(rhs),
|
||||
|
@ -101,7 +101,7 @@ namespace sprout {
|
|||
template<typename RGB, typename RGB_F>
|
||||
SPROUT_CONSTEXPR inline RGB rgb_f_to_rgb(RGB_F const& col) {
|
||||
typedef typename sprout::darkroom::access::unit<RGB>::type unit_type;
|
||||
return sprout::tuples::make_clone<RGB>(
|
||||
return sprout::tuples::make<RGB>(
|
||||
sprout::darkroom::colors::r(col) < 0 ? std::numeric_limits<unit_type>::min()
|
||||
: sprout::darkroom::colors::r(col) > 1 ? std::numeric_limits<unit_type>::max()
|
||||
: sprout::darkroom::colors::r(col) * std::numeric_limits<unit_type>::max()
|
||||
|
|
|
@ -71,7 +71,7 @@ namespace sprout {
|
|||
//
|
||||
template<typename Vector1, typename Vector2>
|
||||
SPROUT_CONSTEXPR inline Vector1 add(Vector1 const& lhs, Vector2 const& rhs) {
|
||||
return sprout::tuples::remake_clone<Vector1>(
|
||||
return sprout::tuples::remake<Vector1>(
|
||||
lhs,
|
||||
sprout::darkroom::coords::x(lhs) + sprout::darkroom::coords::x(rhs),
|
||||
sprout::darkroom::coords::y(lhs) + sprout::darkroom::coords::y(rhs),
|
||||
|
@ -83,7 +83,7 @@ namespace sprout {
|
|||
//
|
||||
template<typename Vector1, typename Vector2>
|
||||
SPROUT_CONSTEXPR inline Vector1 sub(Vector1 const& lhs, Vector2 const& rhs) {
|
||||
return sprout::tuples::remake_clone<Vector1>(
|
||||
return sprout::tuples::remake<Vector1>(
|
||||
lhs,
|
||||
sprout::darkroom::coords::x(lhs) - sprout::darkroom::coords::x(rhs),
|
||||
sprout::darkroom::coords::y(lhs) - sprout::darkroom::coords::y(rhs),
|
||||
|
@ -95,7 +95,7 @@ namespace sprout {
|
|||
//
|
||||
template<typename Vector, typename Fac>
|
||||
SPROUT_CONSTEXPR inline Vector scale(Vector const& lhs, Fac const& rhs) {
|
||||
return sprout::tuples::remake_clone<Vector>(
|
||||
return sprout::tuples::remake<Vector>(
|
||||
lhs,
|
||||
sprout::darkroom::coords::x(lhs) * rhs,
|
||||
sprout::darkroom::coords::y(lhs) * rhs,
|
||||
|
@ -118,7 +118,7 @@ namespace sprout {
|
|||
//
|
||||
template<typename Vector1, typename Vector2>
|
||||
SPROUT_CONSTEXPR inline Vector1 cross(Vector1 const& lhs, Vector2 const& rhs) {
|
||||
return sprout::tuples::remake_clone<Vector1>(
|
||||
return sprout::tuples::remake<Vector1>(
|
||||
lhs,
|
||||
sprout::darkroom::coords::y(lhs) * sprout::darkroom::coords::z(rhs)
|
||||
- sprout::darkroom::coords::z(lhs) * sprout::darkroom::coords::y(rhs)
|
||||
|
@ -140,7 +140,7 @@ namespace sprout {
|
|||
typename sprout::darkroom::access::unit<Vector>::type const& len
|
||||
)
|
||||
{
|
||||
return sprout::tuples::remake_clone<Vector>(
|
||||
return sprout::tuples::remake<Vector>(
|
||||
vec,
|
||||
sprout::darkroom::coords::x(vec) / len,
|
||||
sprout::darkroom::coords::y(vec) / len,
|
||||
|
@ -181,7 +181,7 @@ namespace sprout {
|
|||
//
|
||||
template<typename Color, typename Normal>
|
||||
SPROUT_CONSTEXPR Color normal_to_color(Normal const& nor) {
|
||||
return sprout::tuples::make_clone<Color>(
|
||||
return sprout::tuples::make<Color>(
|
||||
0.5 + sprout::darkroom::coords::x(nor) * 0.5,
|
||||
0.5 + sprout::darkroom::coords::y(nor) * 0.5,
|
||||
0.5 + sprout::darkroom::coords::z(nor) * 0.5
|
||||
|
|
|
@ -40,7 +40,7 @@ namespace sprout {
|
|||
unit_type const& intensity
|
||||
) const
|
||||
{
|
||||
return sprout::tuples::remake_clone<color_type>(
|
||||
return sprout::tuples::remake<color_type>(
|
||||
col_,
|
||||
sprout::darkroom::colors::r(col_)
|
||||
* sprout::darkroom::colors::r(
|
||||
|
|
|
@ -129,8 +129,8 @@ namespace sprout {
|
|||
return neg
|
||||
? drittens_1(ray, sprout::darkroom::rays::point_of_intersection(ray, distance))
|
||||
: drei_type(
|
||||
sprout::tuples::make_clone<position_type>(0, 0, 0),
|
||||
sprout::tuples::make_clone<position_type>(1, 1, 1)
|
||||
sprout::tuples::make<position_type>(0, 0, 0),
|
||||
sprout::tuples::make<position_type>(1, 1, 1)
|
||||
)
|
||||
;
|
||||
}
|
||||
|
|
|
@ -5,8 +5,8 @@
|
|||
#include <sprout/config.hpp>
|
||||
#include <sprout/index_tuple.hpp>
|
||||
#include <sprout/array.hpp>
|
||||
#include <sprout/fixed_container/traits.hpp>
|
||||
#include <sprout/fixed_container/functions.hpp>
|
||||
#include <sprout/container/traits.hpp>
|
||||
#include <sprout/container/functions.hpp>
|
||||
#include <sprout/darkroom/colors/rgb.hpp>
|
||||
|
||||
namespace sprout {
|
||||
|
@ -25,30 +25,30 @@ namespace sprout {
|
|||
typename Lights,
|
||||
sprout::index_t... XIndexes
|
||||
>
|
||||
SPROUT_CONSTEXPR inline typename sprout::fixed_container_traits<Pixels>::value_type
|
||||
SPROUT_CONSTEXPR inline typename sprout::container_traits<Pixels>::value_type
|
||||
generate_impl_line(
|
||||
RayTracer const& raytracer,
|
||||
Renderer const& renderer,
|
||||
Camera const& camera,
|
||||
Objects const& objs,
|
||||
Lights const& lights,
|
||||
typename sprout::fixed_container_traits<
|
||||
typename sprout::fixed_container_traits<Pixels>::value_type
|
||||
typename sprout::container_traits<
|
||||
typename sprout::container_traits<Pixels>::value_type
|
||||
>::size_type x
|
||||
,
|
||||
typename sprout::fixed_container_traits<Pixels>::size_type y,
|
||||
typename sprout::fixed_container_traits<
|
||||
typename sprout::fixed_container_traits<Pixels>::value_type
|
||||
typename sprout::container_traits<Pixels>::size_type y,
|
||||
typename sprout::container_traits<
|
||||
typename sprout::container_traits<Pixels>::value_type
|
||||
>::size_type width
|
||||
,
|
||||
typename sprout::fixed_container_traits<Pixels>::size_type height,
|
||||
typename sprout::container_traits<Pixels>::size_type height,
|
||||
std::size_t depth_max,
|
||||
sprout::index_tuple<XIndexes...>
|
||||
)
|
||||
{
|
||||
typedef typename sprout::fixed_container_traits<Pixels>::value_type pixel_line_type;
|
||||
typedef typename sprout::fixed_container_traits<pixel_line_type>::value_type pixel_type;
|
||||
return sprout::make_clone<pixel_line_type>(
|
||||
typedef typename sprout::container_traits<Pixels>::value_type pixel_line_type;
|
||||
typedef typename sprout::container_traits<pixel_line_type>::value_type pixel_type;
|
||||
return sprout::make<pixel_line_type>(
|
||||
sprout::darkroom::colors::rgb_f_to_rgb<pixel_type>(
|
||||
raytracer.template operator()(
|
||||
renderer,
|
||||
|
@ -80,21 +80,21 @@ namespace sprout {
|
|||
Camera const& camera,
|
||||
Objects const& objs,
|
||||
Lights const& lights,
|
||||
typename sprout::fixed_container_traits<
|
||||
typename sprout::fixed_container_traits<Pixels>::value_type
|
||||
typename sprout::container_traits<
|
||||
typename sprout::container_traits<Pixels>::value_type
|
||||
>::size_type x
|
||||
,
|
||||
typename sprout::fixed_container_traits<Pixels>::size_type y,
|
||||
typename sprout::fixed_container_traits<
|
||||
typename sprout::fixed_container_traits<Pixels>::value_type
|
||||
typename sprout::container_traits<Pixels>::size_type y,
|
||||
typename sprout::container_traits<
|
||||
typename sprout::container_traits<Pixels>::value_type
|
||||
>::size_type width
|
||||
,
|
||||
typename sprout::fixed_container_traits<Pixels>::size_type height,
|
||||
typename sprout::container_traits<Pixels>::size_type height,
|
||||
std::size_t depth_max,
|
||||
sprout::index_tuple<YIndexes...>
|
||||
)
|
||||
{
|
||||
return sprout::make_clone<Pixels>(
|
||||
return sprout::make<Pixels>(
|
||||
sprout::darkroom::pixels::detail::generate_impl_line<Pixels>(
|
||||
raytracer,
|
||||
renderer,
|
||||
|
@ -108,9 +108,9 @@ namespace sprout {
|
|||
depth_max,
|
||||
typename sprout::index_range<
|
||||
0,
|
||||
sprout::fixed_container_traits<
|
||||
typename sprout::fixed_container_traits<Pixels>::value_type
|
||||
>::fixed_size
|
||||
sprout::container_traits<
|
||||
typename sprout::container_traits<Pixels>::value_type
|
||||
>::static_size
|
||||
>::type()
|
||||
)...
|
||||
);
|
||||
|
@ -130,23 +130,23 @@ namespace sprout {
|
|||
Camera const& camera,
|
||||
Objects const& objs,
|
||||
Lights const& lights,
|
||||
typename sprout::fixed_container_traits<
|
||||
typename sprout::fixed_container_traits<Pixels>::value_type
|
||||
typename sprout::container_traits<
|
||||
typename sprout::container_traits<Pixels>::value_type
|
||||
>::size_type x
|
||||
= 0
|
||||
,
|
||||
typename sprout::fixed_container_traits<Pixels>::size_type y
|
||||
typename sprout::container_traits<Pixels>::size_type y
|
||||
= 0
|
||||
,
|
||||
typename sprout::fixed_container_traits<
|
||||
typename sprout::fixed_container_traits<Pixels>::value_type
|
||||
typename sprout::container_traits<
|
||||
typename sprout::container_traits<Pixels>::value_type
|
||||
>::size_type width
|
||||
= sprout::fixed_container_traits<
|
||||
typename sprout::fixed_container_traits<Pixels>::value_type
|
||||
>::fixed_size
|
||||
= sprout::container_traits<
|
||||
typename sprout::container_traits<Pixels>::value_type
|
||||
>::static_size
|
||||
,
|
||||
typename sprout::fixed_container_traits<Pixels>::size_type height
|
||||
= sprout::fixed_container_traits<Pixels>::fixed_size
|
||||
typename sprout::container_traits<Pixels>::size_type height
|
||||
= sprout::container_traits<Pixels>::static_size
|
||||
,
|
||||
std::size_t depth_max = 8
|
||||
)
|
||||
|
@ -164,7 +164,7 @@ namespace sprout {
|
|||
depth_max,
|
||||
typename sprout::index_range<
|
||||
0,
|
||||
sprout::fixed_container_traits<Pixels>::fixed_size
|
||||
sprout::container_traits<Pixels>::static_size
|
||||
>::type()
|
||||
);
|
||||
}
|
||||
|
|
|
@ -47,7 +47,7 @@ namespace sprout {
|
|||
camera,
|
||||
objs,
|
||||
lights,
|
||||
sprout::tuples::remake_clone<Ray>(
|
||||
sprout::tuples::remake<Ray>(
|
||||
ray,
|
||||
sprout::darkroom::coords::add(
|
||||
sprout::darkroom::intersects::point_of_intersection(inter),
|
||||
|
@ -106,7 +106,7 @@ namespace sprout {
|
|||
sprout::darkroom::intersects::normal(inter)
|
||||
)
|
||||
)
|
||||
: sprout::tuples::make_clone<Color>(0, 0, 0)
|
||||
: sprout::tuples::make<Color>(0, 0, 0)
|
||||
;
|
||||
}
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue