Графика с нуля | Точки и линии. Алгоритм Брезенхэма

Поділитися
Вставка
  • Опубліковано 14 лип 2018
  • Начиная с точки. Построение линии. Рассказываю о том, что я думаю, что понимаю..
    Код с примерами - github.com/darkoffalex/basegr...
    Источник вдохновения - habr.com/post/248153/
  • Розваги

КОМЕНТАРІ • 57

  • @dytell1975
    @dytell1975 4 роки тому +35

    Видео крутое. Прям супер!! Но эта музыка и твой голос меня в страх накидывает. Прям обучающий хоррор. Лайк 100%

  • @serlex3335
    @serlex3335 3 роки тому +15

    Студент из 2021 благодарит и ловит настрой на клепание лаб по "Компьютерной графике"! :)
    Спасибо!

  • @user-uu1nl3vn3c
    @user-uu1nl3vn3c 3 роки тому +3

    Вот уж не думал что буду с таким интересом слушать чувака с голосом будто из под кайфа втирающего мне математику

  • @user-hr3ui7tt5t
    @user-hr3ui7tt5t 3 роки тому +3

    Большое спасибо за видео. СТАВЛЮ НЕЗАМЕДЛИТЕЛЬНО ПАЛЕЦ ВВЕРХ. Наконец-то я узнал как поставить точку на экране не прибегая к включению кучи библиотек по типу SDL.

  • @aleksewa7
    @aleksewa7 5 років тому +5

    DW, продолжай снимать, у тебя отлично получается :3

  • @lufog
    @lufog 4 роки тому +1

    Весьма познавательно.

  • @Ivan-qb7kc
    @Ivan-qb7kc 5 років тому +1

    Если рисовать графику таким образом, будет ли использовано аппаратное ускорение. То есть использует ли WinAPI аппаратное ускорение или это обеспечивают OpenGL, DirectX, Vulkan?

    • @TheDwcorp
      @TheDwcorp  5 років тому

      Нет, тут все на процессоре. Софтверный рендерер от того и называется софтверным, что не задействует графическое железо. Все это будет работать крайне медленно. Практического смысла в этом нет. Только чтобы понять все изнутри.
      P.S. Ах да, в данном примере РИСОВАНИЕ не происходит за счет WinAPI, здесь WinAPI используется только для ПОКАЗА. А вот если использовать WinAPI (GDI) именно для рисования готовых фигур (прямых, кривых и т.д.) - то там, если не ошибаюсь, уже не исключено частичное аппаратное ускорение.

    • @ubelian
      @ubelian 5 років тому +1

      Когда новый тутор по вулкану?

  • @dima_dmitrenok
    @dima_dmitrenok 10 місяців тому

    Огромное человеческое спасибо тебе

  • @olegbabichev4257
    @olegbabichev4257 5 років тому +2

    спасибо за видео :)

  • @gromitwoll6907
    @gromitwoll6907 2 роки тому +1

    9:57
    Это обусловлено тем что на заре зарождения программирования мониторы которые использовались, имели развертку кадров начиная с верхнего левого угла. Современные мониторы так же переняли данную систему координат от ламповых мониторов и нулевой пиксель находится сверху слева. Поэтому ось У смотрит вниз, а не вверх.
    Ну, а почему ламповые телевизоры начинали проецировать изображения с верхнего правого, предлагаю вам проявить силу дедукции. ))

    • @gromitwoll6907
      @gromitwoll6907 2 роки тому +1

      @You Tube Доподлинно мне не известно, и быть может нету четкого аргумента. Но вероятно потому что у нас письменность на любом листе бумаги начинается с верхнего правого угла.

    • @gromitwoll6907
      @gromitwoll6907 2 роки тому

      @You Tube Все правильно. развертка старых мониторов и нумерация пикселей так же идет справа налево и сверху вниз.
      "а не снизу верх." причем тут это? Автор видео как раз задавался вопросом почему координата Y идет сверху вниз, а не так как этому учили в школе на геометри.

  • @slavaglow6933
    @slavaglow6933 3 роки тому

    Интересно, информативно

  • @ATtiny13a-PU
    @ATtiny13a-PU 4 роки тому +2

    Помог сделать алгоритм соединения недостающих точек с мыши. Мышь при быстром движении не рисует линии, а оставляет точки, что надо соединять линиями

    • @ATtiny13a-PU
      @ATtiny13a-PU 4 роки тому

      Помог сделать алгоритм построения динамических теней шейдером. Для того, чтобы произвольная форма откидывала тень, мы должны сделать её в разном разрешении и потом на видеокарте построить линии от источника до пикселей по сначала большим квадратам, потом по более маленьким и т.д.
      и всегда нужно строить эти линии

    • @ATtiny13a-PU
      @ATtiny13a-PU 3 роки тому

      помогает сделать воксельный майнкрафт реймашингом

  • @dmitryponyatov2158
    @dmitryponyatov2158 Рік тому

    чем SDL не устроил?

  • @RPGsnik
    @RPGsnik 2 роки тому

    ЕЕЕЕ, БРААААТ!!! Я Изначально надеялся что WinAPI будет, и ты это сделал, еееееее

  • @user-ug6zr4oi1g
    @user-ug6zr4oi1g 5 років тому

    я добавил к себе в закладки,пора бахать на .срр и читать Страуструпа. До лучших времен!

  • @ATtiny13a-PU
    @ATtiny13a-PU 4 роки тому

    СПАСИБО!

  • @imtoster6168
    @imtoster6168 Рік тому

    13:57 А ВОТ ТАК

  • @atomspace2012
    @atomspace2012 3 роки тому

    Как это сделать без каких либо библиотек?С чего все начиналось. Неужели из одних математических формул состоит вся графика?

    • @TheDwcorp
      @TheDwcorp  3 роки тому +1

      Ну, в примерах из видео как раз не используются никакие библиотеки для графики. А по поводу математики.. ну наверное да, графика это математика. Если быть более точным - скорее линейная алгебра, но местами не только она

    • @atomspace2012
      @atomspace2012 3 роки тому

      @@TheDwcorp а как мне точку нарисовать без библиотек

    • @atomspace2012
      @atomspace2012 3 роки тому

      @@TheDwcorp пишу в aide на телефоне

    • @atomspace2012
      @atomspace2012 3 роки тому

      @@TheDwcorp пишу на java

    • @TheDwcorp
      @TheDwcorp  3 роки тому

      @@atomspace2012 Это уже вопрос к ОС для которой всё пишется. У ОС должны быть средства для вывода изображения (у библиотек операционки) С Java не знаком, не в курсе как там обычно происходит взаимодействие с разными ОС со стороны Java, но насколько мне известно - кроссплатформенность Java заключается в "виртуальной машине", взаимодействие с которой со стороны кода везде одинаково.. Я бы загуглил "Java - показ изображения"

  • @MrPontiPilat
    @MrPontiPilat 5 років тому

    Насамом дели координаты перевернуты потому что изображение на мониторе обновляется из верхнего левого угла по пиксельно

    • @ATtiny13a-PU
      @ATtiny13a-PU 4 роки тому

      в шейдерах glsl y не перевёрнута кстати)

  • @Kremniy1
    @Kremniy1 3 роки тому

    На фон бы более актуальные изображения, а то несколько минут только аудиоинформация. С точки зрения обучение - неайс) но лайк за саму информацию

  • @Igor_RU
    @Igor_RU 5 років тому

    Спасибо!

  • @ar4ys
    @ar4ys 4 роки тому

    Ахуеть, я угадал, возможность отобразить точку

  • @first-par
    @first-par 2 роки тому

    Крутой чел

  • @JohnWickMovie
    @JohnWickMovie 5 років тому

    Вероятно тебя вдохновил Андре Ламот

    • @northkoreaua
      @northkoreaua 5 років тому

      ну учитывая что местами были чуть ли не цитаты то можно сказать что не будь книг лямота то не было бы и этого видео в таком виде как оно есть

    • @TheDwcorp
      @TheDwcorp  5 років тому

      Забавно, но я к сожалению пока-что не знаю кто это такой) А на попытку написать свой собственный софтверный рендерер меня вдохновила статья, ссылку на которую как-то в комментах оставлял Василий Пупкин - habr.com/post/248153/ . Замечательная статься на самом деле. Я решил пройтись по темам из этой статьи и поэкспериментировать, ну и при возможности поделиться всем этим тут. В данном видео я не указал ее в качестве источника только потому что информация в целом довольно общая. Как рисовать линии обычным способом, без Брезенхэма, можно догадаться и самому (еще давно пытался делать нечто подобное, выводя это все при помощи обычных ASCII символов в консоль). А сам алгоритм можно найти в той же википедии. Если буду разбирать последующие темы из той статьи, то обязательно укажу в качестве источника. Но ссылку на статью вероятно стоило оставить, так что добавил ее в описание, как "источник вдохновения"..

    • @ubelian
      @ubelian 5 років тому

      Как я понимаю вулкана не будет.Да?

    • @TheDwcorp
      @TheDwcorp  5 років тому

      Почему же? Думаю будет

    • @ubelian
      @ubelian 5 років тому

      Слушай, а ты можешь рассказать как спроектировать игру? Пытаюсь зделать банальную змейку, но не знаю как сделать иерархию классов для этого используя OpenGL. p.s. А по огл будет что нить?

  • @Kremniy1
    @Kremniy1 3 роки тому +3

    По возможности менее сонную интонацию)

  • @user-rd3lj4gn4s
    @user-rd3lj4gn4s 4 роки тому +3

    На 1:20 правильно говоришь - «разноцветных пикселЕЙ».
    Так почему на 1:32 каверкаешь - «этими самыми пикселАми»
    Пиксель, Пикселей, Пикселями...

  • @abbosamritdinov419
    @abbosamritdinov419 4 роки тому +1

    графика с НОЛЯ? может НУЛЯ будет правильнее?

  • @Raspi8
    @Raspi8 4 роки тому

    Тату реал

  • @panzzyr
    @panzzyr 4 роки тому +1

    Пресвятой кинескоп
    Невозможно слушать
    Зачем так басов много

    • @ATtiny13a-PU
      @ATtiny13a-PU 4 роки тому +1

      у тебя наушники наверное говно, или может колонки не сбалансированы, проверь настройки звуковой карты, или хотя бы, если встроенная звуковая карта, то эквалайзер реалтека
      я ненавижу песок в ушах больше, чем даже самые бассистые низы, которые пердят к тому же. Тут вообще звук шикарен, всё в средней части

  • @ruslandad365
    @ruslandad365 Рік тому

    Вскипел моск
    Спасибо