LINUX.ORG.RU

Скрутите свою спираль: Spiral Galaxy Renderer

 , , , ,


6

2

Spiral Galaxy Renderer — приложение, симулирующее вращающиеся спиральные галактики согласно теории волн плотности Линя и Шу.

Исходники

Онлайн-демо

Подробности

>>> Просмотр (1508x2072, 741 Kb)

★★★★★

Проверено: hobbit ()
Последнее исправление: hobbit (всего исправлений: 1)

Выглядит круто.

rumgot ★★★★★
()

Прикольно, только вот

Fatal error: VertexBufferBase: shader program linking failed!
error: vertex shader lacks `main'

Странно, даже MESA_GL_VERSION_OVERRIDE=3.3 MESA_GLSL_VERSION_OVERRIDE=330 ./galaxy_renderer не спасает.

Шейдеры там примитивные 330 версия там не нужна,если не будет лень пойду перепишу и предложу патч что-бы работало у всех.

LINUX-ORG-RU ★★★★★
()

Круче сверни спираль, Маятник тронь рукой…

какая лепота. В демонстрации она еще и вращается

monkdt
()

Неплохой генератор скринсейвера получился.

sat0r
()
Ответ на: комментарий от hobbit

Действительно, спасибо. Хоть я и не Александр Васильевич, но приятно. Немного. :)

dataman ★★★★★
() автор топика
Ответ на: комментарий от LINUX-ORG-RU

предложу патч

Мой первый PR провисел без внимания почти год. Это так, на всякий случай. :)

Ещё бы прикрутить полноэкранный режим и прочие мелочи…

Надеюсь, @alex-w заинтересуется алгоритмом, и галактики в Stellarium станут красочнее.

dataman ★★★★★
() автор топика

я вашу галактику на спине вертел!

bernd ★★★★★
()
Ответ на: комментарий от DumLemming

в смысле в центре каждой галактики черная дыра?

monkdt
()
Ответ на: комментарий от dataman

Мой первый PR провисел без внимания почти год. Это так, на всякий случай. :)

Прекол =) Ну и ладно.

Ещё бы прикрутить полноэкранный режим и прочие мелочи…

Ну эт не сложно, я вообще хотел шейдера на GLSL 120 переписать, так как это фигня скорее академическая чем иная и хорошо бы чтоб работало везде, даже на чайнике. Если там координаты текста не прибиты гвоздями полноэкранный режим делается в одну строчку. Там бы ещё варнинги почистить коих дохрена. И в целом производительность херовая push/pop векторов выпилить бы нахер.

Так добавляется полноэкранный режим

    SDL_SetWindowFullscreen(_pSdlWnd,SDL_WINDOW_FULLSCREEN_DESKTOP);

Но, всё прибито к левому краю, надо динамически менять.

Короче можно всё, но если годами PR не принимают то смысла нету, а развивать форк незачем.

LINUX-ORG-RU ★★★★★
()
Ответ на: комментарий от dataman

Нет, для Stellarium’а я этим алгоритмом не заинтересуюсь, т.к. это планетарий, а не симулятор. Это скорее для Celestia нужно.

alex-w ★★★★★
()
Ответ на: комментарий от I-Love-Microsoft

Разумеется, я не Ingo Berg. Самый известный его C++ проект - muparser, наверное.

dataman ★★★★★
() автор топика
Ответ на: комментарий от skyman

Клавиша m переключает её отображение.

// Velocity curve with dark matter
static float VelocityWithDarkMatter(float r)
{
    float MZ = 100;
    return 20000.0f * (float)std::sqrt(Helper::CONTANT_OF_GRAVITY * (MassHalo(r) + MassDisc(r) + MZ) / r);
}

// velocity curve without dark matter
static float VelocityWithoutDarkMatter(float r)
{
    float MZ = 100;
    return 20000.0f * (float)std::sqrt(Helper::CONTANT_OF_GRAVITY * (MassDisc(r) + MZ) / r);
}

private:
    static double MassDisc(double r)
    {
        float d = 2000;         // Dicke der Scheibe
        float rho_so = 1;       // Dichte im Mittelpunkt
        float rH = 2000;        // Radius auf dem die Dichte um die H�fte gefallen ist
        return (float)rho_so * (float)std::exp(-r / rH) * (r * r) * Helper::PI * d;
    }

    static float MassHalo(float r)
    {
        float rho_h0 = 0.15f;   // Dichte des Halos im Zentrum
        float rC = 2500;                // typische skalenl�ge im Halo
        return (float)rho_h0 * 1 / (float)(1 + std::pow(r / rC, 2)) * (float)(4 * Helper::PI * std::pow(r, 3) / 3);
    }
dataman ★★★★★
() автор топика
Ответ на: комментарий от alex-w

Кстати, чтоб два раза не вставать. Сложно ли добавить в стеллариум свои снимки? Там же вроде можно подключать всякие surveys. Скажем у меня есть свои ultrawide снимки, для которых я нашёл WCS координаты через platesolve, их же можно пихнуть как свой survey?

cocucka ★★★★☆
()
Ответ на: комментарий от cocucka

Кстати, чтоб два раза не вставать. Сложно ли добавить в стеллариум свои снимки? Там же вроде можно подключать всякие surveys. Скажем у меня есть свои ultrawide снимки, для которых я нашёл WCS координаты через platesolve, их же можно пихнуть как свой survey?

10-я глава руководства пользователя + https://github.com/Stellarium/stellarium-data/tree/master/hipster

alex-w ★★★★★
()

Как вы рождаете идеи для софта…

hatred ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.