|
|
||||||
Написание программы с SSE. Перевод04.09.2013, 21:40. Показов 15162. Ответов 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 | |
|
Перевод текстов, слов и их написание Написание программы
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
|
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет:
1. Использовать системное время и дату,
2. Есть возможность вводить время и дату вручную.
3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
|
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber.
Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
|
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео:
https:/ / vkvideo. ru/ video-240781534_456239017
YouTube:
eY5-5PyI9NM
Текстовая версия
|
|
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать
Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
|
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства.
Родственных связей существует 8 ступеней, такие как:
p - отец
P - мать
q - муж
Q - жена
b - брат
B - сестра
s - сын
S - дочь
|
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире.
Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
|
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С.
Задача:
Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
|