Комментарии 8
Какие же это кубики?! Это жеж жизнь моя!
Гвидон Вишневский, художник
Сколько пафоса! Впервые в мире! Еще заявку в роспатент отправьте.
Сглаживание, тем более такое простое как SSAA - простая идея. Идея как-то сгладить изображение - тривиальна. В итоге, ваша идея применить самый простой алгоритм для сглаживания не стоит тех фанфар, которые вы ей играете.
Распараллеливание через omp - это даже школьники делают на практике в хороших школах. В худшем случае студенты младших курсов.
У вас даже SIMD никакого нет. Была бы тут реализация на GPU, еще можно было бы что-то говорить. Какой-нибудь начинающий студент вполне имел бы право этим "впервые вмире" гордиться, но сам по себе ваш проект не вызывает того уважения, на которое вы расчитывали.
GPU из коробки даст куцые 32 бита, что для мандельброта критично. Там нужно городить какие-то квадрупл-числа. Если автор делал упор на качество рендера, а не на скорость (это же комстрока, интерактива там не будет), то польза от GPU неочевидна.
Именно. 80-бит FPU x87 а не GPU.
Ну неужели вам сложно "первому в мире" реализовать свои вычисления на основе трех float вместо одного, получив искомые 63 бита точности, если вам так надо? Эта троица даже отлично ложиться на шейдерную машинерию с их трехмерными векторами. А если добавить еще одно число, можно и экспоненту хранить гораздо большую, чем в 80-битных числах
Тут, правда, придется немного подумать над тем как такие числа умножать и складывать (это просто на самом деле).
Это, конечно, будет медленнее одной операции x87, но зато у вас потоков будет не 8, а тысячи.
Если автору нужна точность, то именно всякие вручную реализованные длинные числа и дадут любую точность, а не какие-то жалкие 80-бит.
И это уже интереснее чем впенедюрить OpenMP и тупо отрендерить картинку в 4x разрешении для какого-то сглаживания. Которое, кстати, нужно только при интерактиве при движении. Если вам хочется качество статической картинки, то вам не нужно сглаживание - вам нужно тупо большее разрешение и все.

Множество Мандельброта. Суперсэмплинг 8x8 (64 прохода) — впервые в мире