Size: a a a

pro.graphon (and gamedev)

2021 March 31

AP

Alexander Potapov in pro.graphon (and gamedev)
потому что вероятность того что свет отразится в конкретное направление зависит от угла между нормалью и углом падения
источник

N

NeuroKALKA in pro.graphon (and gamedev)
В LTE да, у тебя еще косинус под интегралом стоит
источник

A

Andrei Konshyn in pro.graphon (and gamedev)
Alexander Potapov
потому что вероятность того что свет отразится в конкретное направление зависит от угла между нормалью и углом падения
да не про свет же говорю
источник

AP

Alexander Potapov in pro.graphon (and gamedev)
да, это частный случай LTE
источник

A

Andrei Konshyn in pro.graphon (and gamedev)
Alexander Potapov
оно скалируется как косинус угла
а вот про это 👆
забыл, что там косинус
источник

A

Andrei Konshyn in pro.graphon (and gamedev)
сорян парни
источник

A

Andrei Konshyn in pro.graphon (and gamedev)
пока сам на листике не написал формулу dA и не заметил, что косинус лишний
источник

d

disba1ancer in pro.graphon (and gamedev)
шланг как-то странно (не)смог в transpose
https://godbolt.org/z/vbnva1YdP
источник

SS

Sergey Skvortsov in pro.graphon (and gamedev)
Я бы тоже не смог, слишком страшный код
источник

d

disba1ancer in pro.graphon (and gamedev)
Sergey Skvortsov
Я бы тоже не смог, слишком страшный код
ну gcc то смог
источник

SS

Sergey Skvortsov in pro.graphon (and gamedev)
Зря
источник

d

disba1ancer in pro.graphon (and gamedev)
что значит зря?
источник

N

NeuroKALKA in pro.graphon (and gamedev)
template <typename left_t, typename right_t, std::size_t size, typename Ret, std::size_t ... seq>
constexpr auto bin_op_impl(
   const vec<left_t, size>& left,
   const right_t& right,
   Ret(&func)(const std::remove_cvref_t<left_t>&, const right_t&),
   std::index_sequence<seq...>
) -> vec<Ret, size> {
   return {func(left[seq], right)...};
}

Ват А Фак
источник

AP

Alexander Potapov in pro.graphon (and gamedev)
сек вкурю
источник

d

disba1ancer in pro.graphon (and gamedev)
NeuroKALKA
template <typename left_t, typename right_t, std::size_t size, typename Ret, std::size_t ... seq>
constexpr auto bin_op_impl(
   const vec<left_t, size>& left,
   const right_t& right,
   Ret(&func)(const std::remove_cvref_t<left_t>&, const right_t&),
   std::index_sequence<seq...>
) -> vec<Ret, size> {
   return {func(left[seq], right)...};
}

Ват А Фак
программируем без циклов... 🤣
источник

N

NeuroKALKA in pro.graphon (and gamedev)
Alexander Potapov
сек вкурю
Сколько?
источник

AP

Alexander Potapov in pro.graphon (and gamedev)
а создает массив через initializer list применяя бинарный оператор
источник

SS

Sergey Skvortsov in pro.graphon (and gamedev)
disba1ancer
что значит зря?
Вот не смог бы гцц, ты бы все бросил и писал бы простой и понятный хотя бы компиляторам код
источник

N

NeuroKALKA in pro.graphon (and gamedev)
Загадка от Жака Фреско
источник

d

disba1ancer in pro.graphon (and gamedev)
Sergey Skvortsov
Вот не смог бы гцц, ты бы все бросил и писал бы простой и понятный хотя бы компиляторам код
как раз те операции шланг отлично векторизует
источник