
Oleg
12.05.2018
20:48:24
самое интересное, что в другой, ниже классом машине, это из коробки
того же года

Pavel
12.05.2018
20:49:49
Я не считаю, что всё вокруг должно быть открытым для модификации.
Что-то должно,а что-то наоборот.

Google

Oleg
12.05.2018
20:50:41
а мне кажется не надо с таким подходом перегибать палку
я же не хочу руками регулировать соотношение топлива с воздухом при впрыске
вот где-то слышал что Джобс был в этом плане не нормальный

White_116
12.05.2018
20:52:34

Oleg
12.05.2018
20:52:35
он считал, что если дать возможность пользователю хоть что-то менять он обязательно что-то сломает

Pavel
12.05.2018
20:54:12
Ну не выворачивать же приложению все свои кишки наружу?

Oleg
12.05.2018
20:54:12

White_116
12.05.2018
20:55:07
то да, в лине _cdels(this*,...)

Ned Ogl
12.05.2018
20:55:18

Ivan
12.05.2018
20:58:08

Pavel
12.05.2018
21:01:34
gl3n
Попробовал. Он как-то по-своему считает трансформации. Затем пробовал dlsl и обнаружил ту же проблему. Сейчас кручу dfm. Вот он считает аналогично glm, правда излишне высокоуровневый и толстый.

Oleg
12.05.2018
21:02:46

Google

Pavel
12.05.2018
21:27:10
Закончу подгонку под dfm и посмотрю что получилось. А там уже или остановлюсь на нём, или метематику выдеру.

White_116
12.05.2018
22:14:16
Эта байда рабочая оказалась (из под комментария код вынести нужно), ошибка была в другом месте.
Может кому интересно...

Ivan
12.05.2018
22:59:21
В смысле по своему?

Denis
13.05.2018
05:55:52
eiffel-iup 3.0 — GNU's Not Unix — Новости
https://www.linux.org.ru/news/gnu/14208434
Обнаружен новый кроссплатформенный гуй: IUP

Pavel
13.05.2018
07:11:41
В смысле по своему?
Результаты perspective не совпадают и результаты применения переноса с поворотом. Дальше не смотрел. Ладно бы они были просто транспонированными, а то ерунда какая-то.
Чтоб не in-place варианты функций использовались проверял.

Ivan
13.05.2018
08:35:37
Результаты perspective не совпадают и результаты применения переноса с поворотом. Дальше не смотрел. Ладно бы они были просто транспонированными, а то ерунда какая-то.
glm - column-major, gl3n - row-major, соответственно, нужно умножения матриц в другом порядке, нежели в glm выполнять, тогда получится то, что нужно, хоть и транспонированное. perspective может быть разным из-за того, что в качестве fov'а он принимает градусы, а не радианы

Pavel
13.05.2018
08:38:10
ну и один инициализирует матрицы единицей, второй забивает nan

Ivan
13.05.2018
08:40:10
В D и флоты тоже наном инициализируются
Так что это следование общей парадигме
Чтобы спалить непроинициализированную матрицу

Pavel
13.05.2018
08:40:41
не спалил)
Перспектива glm:
glm::perspective(glm::radians(camera.Zoom), (float)SCR_WIDTH / (float)SCR_HEIGHT, 0.1f, 100.0f);
>>>
[1.81066, 0, 0, 0][0, 2.41421, 0, 0][0, 0, -1.002, -1][0, 0, -0.2002, 0]
Транспонированная перспектива gl3n
mat4.perspective(cast(float) SCR_WIDTH, cast(float) SCR_HEIGHT, radians(camera.Zoom), 0.1f, 100.0f);
>>>
[[109.425, 0, 0, 0], [0, 145.9, 0, 0], [0, 0, -1.002, -1], [0, 0, -0.2002, 0]]
Откуда он это берёт?

Dmitry
13.05.2018
09:28:35
Господа, не судите строго, рисую как умею. Тут картинку одну нашел которая мне очень Go напомнила. Вот что в итоге получилось:

Ivan
13.05.2018
09:39:04
Перспектива glm:
glm::perspective(glm::radians(camera.Zoom), (float)SCR_WIDTH / (float)SCR_HEIGHT, 0.1f, 100.0f);
>>>
[1.81066, 0, 0, 0][0, 2.41421, 0, 0][0, 0, -1.002, -1][0, 0, -0.2002, 0]
Транспонированная перспектива gl3n
mat4.perspective(cast(float) SCR_WIDTH, cast(float) SCR_HEIGHT, radians(camera.Zoom), 0.1f, 100.0f);
>>>
[[109.425, 0, 0, 0], [0, 145.9, 0, 0], [0, 0, -1.002, -1], [0, 0, -0.2002, 0]]
Откуда он это берёт?
Попробуй в градусах в gl3n передать, как я выше написал
Потому что судя по исходникам, он принимает на вход градусы, что не комильфо, конечно же

Dmitry
13.05.2018
11:23:57

Pavel
13.05.2018
12:52:31
Мне только что удалось статически вкомплировать musl в betterC программу и создать пустой docker контейнер с одним бинарником и размером 409 Кб

Google

Dmitry
13.05.2018
12:53:51
Крутяк!
LDC собирал?

Pavel
13.05.2018
13:49:44
Ага
Как-то по интернетам собрал куски информации, увидел что в LDC 1.9.0 объявили поддержку musl, посмотрел множественные коммиты, все это собрал в кучу и вуаля.
Права это получилось для небольшой узкоспециализированной программы, а вот например отрезолвить адрес для сокета у меня не получилось, написало что не хватает линковки с libanl. Но думаю эта проблема решается.

Dmitry
13.05.2018
13:54:49
Я хоть докер и не люблю, но надо бы официальный образ ldc и в нем тоже поставлять
Ты в целом кроме изоляции какие плюсы в докере видишь?

Pavel
13.05.2018
13:58:33
докер это система пакетирования и дистрибуции )
основыне плюсы в том что можешь у себя любой софт запускать через run в одну команду, указав адрес в репозитории.

Pavel
13.05.2018
14:04:41
Попробуй в градусах в gl3n передать, как я выше написал
Я по диагонали тогда прочитал, мол, в радианы нужно. Про градусы даже в голову не приходило. Следующий wtf. Аналогом
glm::mat4 model;
model = glm::translate(model, a[i]);
float angle = 20.0f * i;
model = glm::rotate(model, glm::radians(angle), glm::vec3(1.0f, 0.3f, 0.5f));
будет
mat4 model = (mat4.translation(cubePositions[i]) * mat4.rotation(radians(20.0f * i), vec3(1.0f, 0.3f, 0.5f)).transposed).transposed;
что, как бы так выразиться, несколько неочевидно.

Ivan
13.05.2018
14:10:28
Матлиба может матрицы хранить в row-major или column-major, этим и определяется. Когда берешь новую либу - в первую очередь это смотреть надо.
А про градусы - это из glu

Ivan
13.05.2018
14:10:45
Оттуда повелось это мракобесие

Pavel
13.05.2018
14:19:24
математически умножение матриц 4х4 не должно отличаться для row-major/column-major, насколько я понимаю. Просто результат будет соответствующий.

Oleg
13.05.2018
14:31:51

Pavel
13.05.2018
15:03:00
завелось, наконец...

Ivan
13.05.2018
15:05:06
https://fgiesen.wordpress.com/2012/02/12/row-major-vs-column-major-row-vectors-vs-column-vectors/
Просто оставлю это здесь

Pavel
13.05.2018
15:57:16
Всем спасибо за помощь, а особенно Ивану!

Dmitry
13.05.2018
16:01:55
Парни, а как дела с дишечкой на мобильных платформах? Андроид, айось, sailfish, etc

Google

Pavel
13.05.2018
16:08:24
под андройд якобы собирается но инструкции крайне мутные
https://wiki.dlang.org/Build_D_for_Android

Dmitry
13.05.2018
16:40:53
Кисло короче всё

Dark
13.05.2018
16:43:38

Dmitry
13.05.2018
16:43:54
Хер, нет там dmd

Admin
ERROR: S client not available

Dark
13.05.2018
16:47:46

Max
13.05.2018
17:05:53

Oleg
13.05.2018
17:19:05
зачем под мобилу собирать на мобиле?
ldc умеет кросскомпиляцию
кто-нибудь знает по какому графику dip'ы должны превращаться в поведение "по умолчанию"?

Pavel
13.05.2018
17:55:13

Oleg
13.05.2018
17:56:29
даже, пока нормально не попробовал фичу с встроенным линковщиком
хотя заявляют, что оно есть и умеет в кросс
на ldc

Pavel
13.05.2018
18:04:57
А это именно вопрос линковки? Это же version Druntime_musl

Google

Pavel
13.05.2018
18:05:41
А, то есть можно же версию включить. Надо попробовать будет

Denis
13.05.2018
18:59:58

Max
13.05.2018
19:18:03
На фоне текущего вендорлока или привязки в жаве это действительно лучше

elias
14.05.2018
03:49:31

qwerty
14.05.2018
05:22:48
Ну может и кранты, но в телеграмм чате людей побольше чем у нас)

Username
14.05.2018
05:55:12

Pavel
14.05.2018
05:58:45
От ростелекома ничего хорошего ждать не приходится.

Dark
14.05.2018
11:59:48
Такой вопрос. А есть какой-нибудь пакет для парсинга DOM?

Eto
14.05.2018
12:05:46

Dark
14.05.2018
12:06:03
Просто я перепутал немного

Eto
14.05.2018
12:06:27
Такие должны быть. Типичная задача ведь.

Oleg
14.05.2018
12:38:50
давняя история в D
с xml библиотекой
типа в std не очень xml и его как устаревший пометили

Denis
14.05.2018
12:41:56

Dmitry
14.05.2018
13:13:22
У Адама либа удобная очень
ее советую

Denis
14.05.2018
13:15:59