|
|
||||||
Написание программы с SSE. Перевод04.09.2013, 21:40. Показов 15024. Ответов 115
Метки нет (Все метки)
Недавно строил классическое множество Мандельброта, использовал ранее созданные алгоритмы другими людьми, всё строило хорошо. Но т.к. Я вывел собственную (несложную) формулу для построения аналога, передо мной встала большая проблема: на SSE я не профи, да и с алгоритмом парится - ушло на построение очень много времени, а код я порвал в клочья.
Ближе к теме. Формула классического фрактала - Z = Z2+C Моя формула - Z = Z2 + C + CENTER На простейшем языке Delphi код выглядел так:
0
|
||||||
| 04.09.2013, 21:40 | |
|
Ответы с готовыми решениями:
115
SSE. Подение программы Непонятки с SSE Написание программы с использованием файловых переменных. Разработка программы для работы с текстовым файлом |
|
4195 / 1841 / 223
Регистрация: 06.10.2010
Сообщений: 4,127
|
|||||
| 13.09.2013, 09:39 | |||||
Добавлено через 3 минуты
Добавлено через 5 минут Кстати если ещё не видел - загугли "Фрактальный игровой мир", там san base такие вещи вытворяет... Добавлено через 16 минут
0
|
|||||
|
|
|
| 13.09.2013, 15:38 [ТС] | |
|
murderer, так почему так... А SanBase молодцы, крутые вещи выделывают
Но... Как программировать новый тип? Фрактал екстрим - не самая быстрая программа тоже, но там побитовая точность... Блин... Как же программируют эти типы??? А если через длинную арифметику делать и массивы, максимум, чего мы сможем достичь - это скорости программы Ultra Fractal, который на произвольной точности вычисляет так медленно, что быстрее - об стену убицца, чем дождаться
0
|
|
|
|
|
| 13.09.2013, 23:30 [ТС] | |
|
murderer, сделал реверс этого "файлика" - библиотеки (в архиве) и... ничего не понял... Имено этот плагинчик позволяет Fractal eXtrem'у вычислять на высокой точности...
Можно ли что-то выяснить?
0
|
|
|
|
||||||
| 14.09.2013, 08:25 [ТС] | ||||||
|
Пользуюсь IDA Disassembler'ом. Там функции по именам sub. Более 100. Кстати, я посмотрел, что FX пользует около 120 кодов для разной точности. Блин.... Где бы найти толковую литературу по АСМ???
Добавлено через 8 часов 41 минуту
0
|
||||||
|
|
|
| 16.09.2013, 04:51 | |
|
Вот выкладываю свой очередной недоделок с исходниками. Мальденброт GLSL. Написан на Delphi XE2.
Мышой(левая кнопка) передвигается комплексная плоскость. Также можно увеличивать/уменьшать масштаб колесом мыши. Только увеличивает он центр экрана, а не место под мышой. Если кто знает подскажите как сделать нормальный зум? Сначала делал расчёт на CPU без оптимизаций(справа осталась панель, но она не работает), но потом решил задействовать шейдеры так как понял что алгоритм отлично параллелится. На моей HD 7970 GHz Edition всё летает, несмотря на то что во фрагментном шейдере цикл. Как будет на других картах не знаю. Возможно печалька.
0
|
|
|
|
||
| 16.09.2013, 08:55 | ||
|
Сейчас проверил на рабочем компе древняя nVidia GTS 250 когда на весь экран разворачиваешь, чувствуется, что туго ей даётся отрисовка. Добавлено через 9 минут Или архива не видно вам? Может потому что я с нарушением?
0
|
||
|
4195 / 1841 / 223
Регистрация: 06.10.2010
Сообщений: 4,127
|
|
| 16.09.2013, 09:46 | |
|
snake32
А почему "радуга.bmp" загружается как 2D-текстура? Правильнее будет 1D
0
|
|
|
|
||
| 16.09.2013, 09:48 | ||
|
К сожалению эта карта вообще не способна вычислять Double Precision.
0
|
||
|
Модератор
3492 / 2614 / 742
Регистрация: 19.09.2012
Сообщений: 7,977
|
|
| 16.09.2013, 15:26 | |
|
0
|
|
|
4195 / 1841 / 223
Регистрация: 06.10.2010
Сообщений: 4,127
|
|
| 17.09.2013, 09:40 | |
|
А вот и моя версия шейдера. Теоретически формула Z2+C должна скомпилироваться в 2 инструкции MAD. Масштабирование колёсиком, можно таскать изображение левой кнопкой мыши.
0
|
|
|
4195 / 1841 / 223
Регистрация: 06.10.2010
Сообщений: 4,127
|
||||||
| 17.09.2013, 15:21 | ||||||
|
Думаю к вылетам может приводить этот код (при переполнении экспоненты).
То есть при слишком большом приближении или отдалении.
0
|
||||||
|
|
||
| 17.09.2013, 15:26 | ||
|
Может можно как-то настроить чтобы ошибки не генерировали вылет приложения? Типа как пустой try except end в delphi.
0
|
||
|
4195 / 1841 / 223
Регистрация: 06.10.2010
Сообщений: 4,127
|
||||||
| 18.09.2013, 08:26 | ||||||
|
snake32
А что если радугу генерить прямо в шейдере? Вот что у меня получилось.
Но через синус результат получается слишком размытым - нужна пилообразная функция. Есть идеи?
0
|
||||||
|
4195 / 1841 / 223
Регистрация: 06.10.2010
Сообщений: 4,127
|
|
| 18.09.2013, 08:47 | |
|
Всё разобрался - там множитель слишком большой был. Вместо 4,8 надо 1,5.
0
|
|
| 18.09.2013, 08:47 | |
|
Перевод текстов, слов и их написание Написание программы
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Как надо было делать правильно - вообще не слушать ИИ, его дело - текст.
Hrethgir 15.07.2026
А вообще надо было делать не так, чтобы не исправлять ошибку https:/ / www. cyberforum. ru/ blogs/ 223907/ 10996. html , правильно было : удалил кнопку, а потом добавил её.
Всё это стресс конечно. Почему?. . .
|
Знаете, от чего появляется стресс?
kumehtar 15.07.2026
Стресс появляется оттого, что вы, зная как поступить правильно, делаете наоборот.
Ларри Уингет
|
Нас бьют, а мы крепчаем? Какая чушь!
kumehtar 15.07.2026
Вот это вот бытующее мнение, что человек меняется только под действием проблем, всегда считал вредоносным. Поверь, от проблем у людей появляются не изменения, а нервное расстройство и ПТСР. А. . .
|
сукцессия 29. Переход от одних деревьев на другие делать более или менее вероятностным?
anaschu 12.07.2026
Насколько смена типов микоризы — исключительное событие в двухвековой сукцессии? Оценка вероятности в пространстве параметров
В текущей версии модели успешно реализован ключевой механизм. . .
|
|
сукцессия 27. Думаю, как переделывать уже написанную статью с планами на сукцессию.
anaschu 12.07.2026
Анализ соответствия модели требованиям
Реализованные компоненты:
Механизм закисления почвы через протонную помпу
Конкуренция между типами микориз
pH как триггер сукцессии
C/ P соотношение. . .
|
Сукцессия 26. Мат модель создана.
anaschu 12.07.2026
Модель смены растительных сукцессий посредством управления грибами работает внутри небольшой ячейки почвы, восстанавливающейся после пожара, где ненадолго бывшее царство хвойных снова захватили. . .
|
Решил проблему с ошибкой пагинации сообщений с сервера на алгоритме обхода дерева "Эстафета хвоста".
Hrethgir 12.07.2026
Проблема была в том, что удалялась именно новая кнопка, а не старая. Ни один ИИ не обнаружил это, а сам я смог только когда с работой стало попроще и когда заставил работать будущее автономное. . .
|
сукцессия 25. Хронология ошибок
anaschu 12.07.2026
# От 50-тонного гриба до устойчивого леса: хроника ошибок при построении модели вековой сукцессии микоризы
## О чём эта статья
В процессе построения ОДУ-модели (система дифференциальных. . .
|