mirror of
https://github.com/bolero-MURAKAMI/Sprout
synced 2025-08-03 12:49:50 +00:00
fix inline
add container/indexes.hpp add tuple/indexes.hpp
This commit is contained in:
parent
ba6482d1ec
commit
c6bd230ee4
340 changed files with 1087 additions and 979 deletions
|
@ -136,7 +136,7 @@ namespace sprout {
|
|||
// make_simple_camera
|
||||
//
|
||||
template<typename Unit>
|
||||
SPROUT_CONSTEXPR inline sprout::darkroom::cameras::basic_simple_camera<Unit>
|
||||
inline SPROUT_CONSTEXPR sprout::darkroom::cameras::basic_simple_camera<Unit>
|
||||
make_simple_camera(
|
||||
Unit const& far_plane,
|
||||
typename sprout::darkroom::cameras::basic_simple_camera<Unit>::angle_of_view_reference::values reference_value
|
||||
|
|
|
@ -62,7 +62,7 @@ namespace sprout {
|
|||
// mul
|
||||
//
|
||||
template<typename Color, typename Fac>
|
||||
SPROUT_CONSTEXPR inline Color mul(Color const& lhs, Fac const& rhs) {
|
||||
inline SPROUT_CONSTEXPR Color mul(Color const& lhs, Fac const& rhs) {
|
||||
return sprout::tuples::remake<Color>(
|
||||
lhs,
|
||||
sprout::darkroom::colors::r(lhs) * rhs,
|
||||
|
@ -74,7 +74,7 @@ namespace sprout {
|
|||
// add
|
||||
//
|
||||
template<typename Color1, typename Color2>
|
||||
SPROUT_CONSTEXPR inline Color1 add(Color1 const& lhs, Color2 const& rhs) {
|
||||
inline SPROUT_CONSTEXPR Color1 add(Color1 const& lhs, Color2 const& rhs) {
|
||||
return sprout::tuples::remake<Color1>(
|
||||
lhs,
|
||||
sprout::darkroom::colors::r(lhs) + sprout::darkroom::colors::r(rhs),
|
||||
|
@ -86,7 +86,7 @@ namespace sprout {
|
|||
// filter
|
||||
//
|
||||
template<typename Color1, typename Color2>
|
||||
SPROUT_CONSTEXPR inline Color1 filter(Color1 const& lhs, Color2 const& rhs) {
|
||||
inline SPROUT_CONSTEXPR Color1 filter(Color1 const& lhs, Color2 const& rhs) {
|
||||
return sprout::tuples::remake<Color1>(
|
||||
lhs,
|
||||
sprout::darkroom::colors::r(lhs) * sprout::darkroom::colors::r(rhs),
|
||||
|
@ -99,7 +99,7 @@ namespace sprout {
|
|||
// rgb_f_to_rgb
|
||||
//
|
||||
template<typename RGB, typename RGB_F>
|
||||
SPROUT_CONSTEXPR inline RGB rgb_f_to_rgb(RGB_F const& col) {
|
||||
inline SPROUT_CONSTEXPR RGB rgb_f_to_rgb(RGB_F const& col) {
|
||||
typedef typename sprout::darkroom::access::unit<RGB>::type unit_type;
|
||||
return sprout::tuples::make<RGB>(
|
||||
sprout::darkroom::colors::r(col) < 0 ? std::numeric_limits<unit_type>::min()
|
||||
|
|
|
@ -50,7 +50,7 @@ namespace sprout {
|
|||
// length_sq
|
||||
//
|
||||
template<typename Vector>
|
||||
SPROUT_CONSTEXPR inline typename sprout::darkroom::access::unit<Vector>::type
|
||||
inline SPROUT_CONSTEXPR typename sprout::darkroom::access::unit<Vector>::type
|
||||
length_sq(Vector const& vec) {
|
||||
return sprout::darkroom::coords::x(vec) * sprout::darkroom::coords::x(vec)
|
||||
+ sprout::darkroom::coords::y(vec) * sprout::darkroom::coords::y(vec)
|
||||
|
@ -61,7 +61,7 @@ namespace sprout {
|
|||
// length
|
||||
//
|
||||
template<typename Vector>
|
||||
SPROUT_CONSTEXPR inline typename sprout::darkroom::access::unit<Vector>::type
|
||||
inline SPROUT_CONSTEXPR typename sprout::darkroom::access::unit<Vector>::type
|
||||
length(Vector const& vec) {
|
||||
using std::sqrt;
|
||||
return sqrt(sprout::darkroom::coords::length_sq(vec));
|
||||
|
@ -70,7 +70,7 @@ namespace sprout {
|
|||
// add
|
||||
//
|
||||
template<typename Vector1, typename Vector2>
|
||||
SPROUT_CONSTEXPR inline Vector1 add(Vector1 const& lhs, Vector2 const& rhs) {
|
||||
inline SPROUT_CONSTEXPR Vector1 add(Vector1 const& lhs, Vector2 const& rhs) {
|
||||
return sprout::tuples::remake<Vector1>(
|
||||
lhs,
|
||||
sprout::darkroom::coords::x(lhs) + sprout::darkroom::coords::x(rhs),
|
||||
|
@ -82,7 +82,7 @@ namespace sprout {
|
|||
// sub
|
||||
//
|
||||
template<typename Vector1, typename Vector2>
|
||||
SPROUT_CONSTEXPR inline Vector1 sub(Vector1 const& lhs, Vector2 const& rhs) {
|
||||
inline SPROUT_CONSTEXPR Vector1 sub(Vector1 const& lhs, Vector2 const& rhs) {
|
||||
return sprout::tuples::remake<Vector1>(
|
||||
lhs,
|
||||
sprout::darkroom::coords::x(lhs) - sprout::darkroom::coords::x(rhs),
|
||||
|
@ -94,7 +94,7 @@ namespace sprout {
|
|||
// scale
|
||||
//
|
||||
template<typename Vector, typename Fac>
|
||||
SPROUT_CONSTEXPR inline Vector scale(Vector const& lhs, Fac const& rhs) {
|
||||
inline SPROUT_CONSTEXPR Vector scale(Vector const& lhs, Fac const& rhs) {
|
||||
return sprout::tuples::remake<Vector>(
|
||||
lhs,
|
||||
sprout::darkroom::coords::x(lhs) * rhs,
|
||||
|
@ -106,7 +106,7 @@ namespace sprout {
|
|||
// dot
|
||||
//
|
||||
template<typename Vector>
|
||||
SPROUT_CONSTEXPR inline typename sprout::darkroom::access::unit<Vector>::type
|
||||
inline SPROUT_CONSTEXPR typename sprout::darkroom::access::unit<Vector>::type
|
||||
dot(Vector const& lhs, Vector const& rhs) {
|
||||
return sprout::darkroom::coords::x(lhs) * sprout::darkroom::coords::x(rhs)
|
||||
+ sprout::darkroom::coords::y(lhs) * sprout::darkroom::coords::y(rhs)
|
||||
|
@ -117,7 +117,7 @@ namespace sprout {
|
|||
// cross
|
||||
//
|
||||
template<typename Vector1, typename Vector2>
|
||||
SPROUT_CONSTEXPR inline Vector1 cross(Vector1 const& lhs, Vector2 const& rhs) {
|
||||
inline SPROUT_CONSTEXPR Vector1 cross(Vector1 const& lhs, Vector2 const& rhs) {
|
||||
return sprout::tuples::remake<Vector1>(
|
||||
lhs,
|
||||
sprout::darkroom::coords::y(lhs) * sprout::darkroom::coords::z(rhs)
|
||||
|
@ -135,7 +135,7 @@ namespace sprout {
|
|||
//
|
||||
namespace detail {
|
||||
template<typename Vector>
|
||||
SPROUT_CONSTEXPR inline Vector normalize_impl(
|
||||
inline SPROUT_CONSTEXPR Vector normalize_impl(
|
||||
Vector const& vec,
|
||||
typename sprout::darkroom::access::unit<Vector>::type const& len
|
||||
)
|
||||
|
@ -149,7 +149,7 @@ namespace sprout {
|
|||
}
|
||||
} // namespace detail
|
||||
template<typename Vector>
|
||||
SPROUT_CONSTEXPR inline Vector normalize(Vector const& vec) {
|
||||
inline SPROUT_CONSTEXPR Vector normalize(Vector const& vec) {
|
||||
return sprout::darkroom::coords::detail::normalize_impl(
|
||||
vec,
|
||||
sprout::darkroom::coords::length(vec)
|
||||
|
@ -159,7 +159,7 @@ namespace sprout {
|
|||
// resize
|
||||
//
|
||||
template<typename Vector, typename Fac>
|
||||
SPROUT_CONSTEXPR inline Vector resize(Vector const& lhs, Fac const& rhs) {
|
||||
inline SPROUT_CONSTEXPR Vector resize(Vector const& lhs, Fac const& rhs) {
|
||||
return sprout::darkroom::coords::detail::normalize_impl(
|
||||
lhs,
|
||||
sprout::darkroom::coords::length(lhs) / rhs
|
||||
|
@ -169,7 +169,7 @@ namespace sprout {
|
|||
// reflect
|
||||
//
|
||||
template<typename Incident, typename Normal>
|
||||
SPROUT_CONSTEXPR inline Incident reflect(Incident const& incid, Normal const& nor) {
|
||||
inline SPROUT_CONSTEXPR Incident reflect(Incident const& incid, Normal const& nor) {
|
||||
return sprout::darkroom::coords::sub(
|
||||
incid,
|
||||
sprout::darkroom::coords::scale(nor, sprout::darkroom::coords::dot(incid, nor) * 2)
|
||||
|
|
|
@ -158,7 +158,7 @@ namespace sprout {
|
|||
// make_point_light
|
||||
//
|
||||
template<typename Position, typename Color>
|
||||
SPROUT_CONSTEXPR inline sprout::darkroom::lights::basic_point_light<Position, Color>
|
||||
inline SPROUT_CONSTEXPR sprout::darkroom::lights::basic_point_light<Position, Color>
|
||||
make_point_light(Position const& pos, Color const& col) {
|
||||
return sprout::darkroom::lights::basic_point_light<Position, Color>(pos, col);
|
||||
}
|
||||
|
|
|
@ -204,7 +204,7 @@ namespace sprout {
|
|||
// make_aa_plane
|
||||
//
|
||||
template<typename Material, typename Unit>
|
||||
SPROUT_CONSTEXPR inline sprout::darkroom::objects::basic_aa_plane<Material>
|
||||
inline SPROUT_CONSTEXPR sprout::darkroom::objects::basic_aa_plane<Material>
|
||||
make_aa_plane(
|
||||
sprout::darkroom::objects::aa_plane_direction::values dir_val,
|
||||
Unit const& val,
|
||||
|
|
|
@ -13,7 +13,7 @@ namespace sprout {
|
|||
// intersect
|
||||
//
|
||||
template<typename Object, typename Ray>
|
||||
SPROUT_CONSTEXPR inline typename Object::template intersection<Ray>::type
|
||||
inline SPROUT_CONSTEXPR typename Object::template intersection<Ray>::type
|
||||
intersect(Object const& obj, Ray const& ray) {
|
||||
return obj.intersect(ray);
|
||||
}
|
||||
|
@ -62,7 +62,7 @@ namespace sprout {
|
|||
};
|
||||
} // namespace detail
|
||||
template<typename Objects, typename Ray>
|
||||
SPROUT_CONSTEXPR inline typename sprout::darkroom::access::unit<Objects>::type
|
||||
inline SPROUT_CONSTEXPR typename sprout::darkroom::access::unit<Objects>::type
|
||||
::template intersection<Ray>::type
|
||||
intersect_list(Objects const& objs, Ray const& ray) {
|
||||
return sprout::darkroom::objects::detail::intersect_list_impl<
|
||||
|
|
|
@ -263,7 +263,7 @@ namespace sprout {
|
|||
// make_sphere
|
||||
//
|
||||
template<typename Material, typename Position, typename Radius>
|
||||
SPROUT_CONSTEXPR inline sprout::darkroom::objects::basic_sphere<Material, Position>
|
||||
inline SPROUT_CONSTEXPR sprout::darkroom::objects::basic_sphere<Material, Position>
|
||||
make_sphere(Position const& pos, Radius const& rad, Material const& mat) {
|
||||
return sprout::darkroom::objects::basic_sphere<Material, Position>(pos, rad, mat);
|
||||
}
|
||||
|
|
|
@ -25,7 +25,7 @@ namespace sprout {
|
|||
typename Lights,
|
||||
sprout::index_t... XIndexes
|
||||
>
|
||||
SPROUT_CONSTEXPR inline typename sprout::container_traits<Pixels>::value_type
|
||||
inline SPROUT_CONSTEXPR typename sprout::container_traits<Pixels>::value_type
|
||||
generate_impl_line(
|
||||
RayTracer const& raytracer,
|
||||
Renderer const& renderer,
|
||||
|
@ -73,7 +73,7 @@ namespace sprout {
|
|||
typename Lights,
|
||||
sprout::index_t... YIndexes
|
||||
>
|
||||
SPROUT_CONSTEXPR inline Pixels
|
||||
inline SPROUT_CONSTEXPR Pixels
|
||||
generate_impl(
|
||||
RayTracer const& raytracer,
|
||||
Renderer const& renderer,
|
||||
|
@ -124,7 +124,7 @@ namespace sprout {
|
|||
typename Objects,
|
||||
typename Lights
|
||||
>
|
||||
SPROUT_CONSTEXPR inline Pixels generate(
|
||||
inline SPROUT_CONSTEXPR Pixels generate(
|
||||
RayTracer const& raytracer,
|
||||
Renderer const& renderer,
|
||||
Camera const& camera,
|
||||
|
|
|
@ -49,7 +49,7 @@ namespace sprout {
|
|||
// point_of_intersection
|
||||
//
|
||||
template<typename Ray, typename Distance>
|
||||
SPROUT_CONSTEXPR inline typename sprout::darkroom::access::unit<Ray>::type
|
||||
inline SPROUT_CONSTEXPR typename sprout::darkroom::access::unit<Ray>::type
|
||||
point_of_intersection(Ray const& ray, Distance const& dist) {
|
||||
return sprout::darkroom::coords::add(
|
||||
sprout::darkroom::rays::position(ray),
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue