FractalTree

Your KolibriOS applications go here
  • Вах, красота.
    Надо залить на СВН и добавить в дистр (можно бинарник).

    Было бы клево добавить возможность установки обоями рабочего стола сгенерированного изображения (но чтобы при этом генерировалась картинка размерами равная рабочему столу, чтобы не размазывалась).

    P.S. Код ня, но зачем так много тулзов?)
    P.P.S. Тебе нужно где-то держать репозитарий или просто обновляемый архив со всеми компиляторами и библиотеками которые используешь.
    Из хаоса в космос
  • Смотрится красиво. Но слева самая маленькая ветка по цвету выделяется из основной гаммы. Она красного цвета, а все остальные ветви зеленые, а красная сторона дерева справа.
  • IgorA wrote:Но слева самая маленькая ветка по цвету выделяется из основной гаммы. Она красного цвета, а все остальные ветви зеленые
    А, это из-за формулы цвета

    Code: Select all

    eax = RGB(127, Abs(Angle), Depth * 24)
    Сейчас глубина 11

    Code: Select all

    Invoke DoDraw, X, Y, -90, 11
    Если глубину задавать меньше, чем 11, то ветка будет зелёная. Просто вот эти значения

    Code: Select all

    Abs(Angle)
    Depth * 24
    выходят за пределы 255, здесь по идее нужна арифметика с насыщением.
    Например, ветка будет зелёной, если сделать так(добавлены сравнения .If GREATER?)

    Code: Select all

        mov eax, Angle        ;
        test eax, eax         ;
        .If SIGN?             ;
          neg eax             ;
        .EndIf                ;
        
        cmp eax, 255   ;
        .If GREATER?
          mov eax, 255
        .EndIf
        
        shl eax, 8            ; eax = RGB(127, Abs(Angle), Depth * 24)
        or eax, 127 SHL 16    ;
        mov ebx, Depth        ;
        imul ebx, 24          ;
        
        cmp ebx, 255   ;
        .If GREATER?
          mov ebx, 255
        .EndIf
        
        or eax, ebx           ;
        Invoke DrawLine, X1, Y1, X2, Y2, eax
    Leency wrote:Надо залить на СВН и добавить в дистр (можно бинарник).
    Можно собирать на сервере с помощью JWASM — это форк товарища XVilka http://board.kolibrios.org/viewtopic.ph ... 806#p64806
    Сейчас на сервере с помощью JWASM собирается программа RUN http://board.kolibrios.org/viewtopic.php?f=9&t=3584 вот она на SVN http://websvn.kolibrios.org/listing.php ... f773176113
    Можно сделать аналогично.
    Leency wrote:но зачем так много тулзов?
    Странный вопрос, однако :lol:
    Теоретически можно было бы без objcopy, но у ld есть проблема с OUTPUT_FORMAT("binary"), хотя, возможно, линуксовый ld такой проблемы не имеет(но всё равно). Ещё можно было бы воспользоваться Ваткомовским линкером, но он вряд ли есть на сервере.
    Ассемблер нужен для компиляции asm-файла.
    Линкер нужен для линковки с библиотекой KolibriOS.lib.
    Так что, ничего лишнего.
  • А почему поверху наблюдаются плоские площадки?
    Так и должно быть? Или ошибки округления/использование целых чисел/ещё чего-то?
  • lev wrote:А почему поверху наблюдаются плоские площадки?
    Так и должно быть?
    Да, это фрактал такой.
    lev wrote:ошибки округления/использование целых чисел/ещё чего-то
    Где конкретно по-твоему ошибка?
  • Вот такой кустарничек :)
    Spoiler:
    1.PNG
    1.PNG (87.3 KiB)
    Viewed 8216 times
    Нажимайте клавишу Enter, чтобы сгенерировать новый куст.
    Для сборки нужно то же самое: LD, ObjCopy, UASM, KolibriOS.lib.
    FractalBush.7z (3.36 KiB)
    Downloaded 330 times
  • Не совсем дерево, но всё же растение :)
    Фрактальный папоротник.
    Spoiler:
    1.png
    1.png (36.54 KiB)
    Viewed 8118 times
    Для сборки — всё то же самое.
    FractalFern.7z (2.95 KiB)
    Downloaded 342 times
  • Who is online

    Users browsing this forum: No registered users and 4 guests