Minecraft... but dithered (C++ OpenGL)

แชร์
ฝัง
  • เผยแพร่เมื่อ 20 มิ.ย. 2024
  • I forked a C++ OpenGL Minecraft Clone and implemented various dithering algorithms (Floyd-Steinberg Dithering, Bayer Dithering which are also called Error Diffusion Dithering and Ordered Dithering respectively).
    Project GitHub: github.com/MartensCedric/Poin...
    Dithering Resources:
    surma.dev/things/ditherpunk/
    caca.zoy.org/study/part2.html
    blog.42yeah.is/rendering/2023...
    Chapters:
    00:00 Minecraft Dithering Showcase
    00:48 Dithering Explained
    02:12 Minecraft Fork
    02:47 Floyd-Steinberg Dithering (Error Diffusion)
    04:55 Making stuff look good
    06:47 Bayer Dithering (Ordered Dithering)
    09:20 Outro
    CREDITS:
    ALL Music: massobeats
    • massobeats - lucid (ro...
    • massobeats - midnight ...
    • massobeats - chamomile...
    • massobeats - peach pro...
    EXTENDED CREDIT:
    Music track: lucid by massobeats
    Source: freetouse.com/music
    No Copyright Vlog Music for Video
    Music track: midnight by massobeats
    Source: freetouse.com/music
    Royalty Free Music for Videos (Safe)
    Music track: chamomile by massobeats
    Source: freetouse.com/music
    Royalty Free Background Music
    Music track: peach prosecco by massobeats
    Source: freetouse.com/music
    Free To Use Music for Video
    Screen angles picture: Cmglee
    RGB: ImmanuellePixels: Photo by 🇻🇪 Jose G. Ortega Castro 🇲🇽 on Unsplash
    Pixel Art: @thisislux
    Leaf Picture: www.baeldung.com/cs/convert-r...
    Thumbnail Arrow: www.textures4photoshop.com
  • วิทยาศาสตร์และเทคโนโลยี

ความคิดเห็น • 31

  • @penguino118
    @penguino118 2 หลายเดือนก่อน +20

    Wish there was a proper way of doing the Floyd method in parallel, I don't like how Bayer ends up looking

  • @vytah
    @vytah 2 หลายเดือนก่อน +6

    Return of Obra Dinn has a really nice dithering shader, one of the goals of it was to stop pixels of non-flat textures from shimmering when you move - dithering dots instead of staying where they were on the screen, try to stay where they were in the world.

  • @Isti00105
    @Isti00105 2 หลายเดือนก่อน +10

    Amazing video, congrats!
    It feels amazing to see others building on something I created, thanks! :)

  • @Shlaboza
    @Shlaboza 2 หลายเดือนก่อน +7

    someone gotta put this on a flip display

  • @subzeroinshorts
    @subzeroinshorts 2 หลายเดือนก่อน +6

    Imagine a game made fully rendered with dithering. Would make a cool horror game with retro vibes

    • @darakken
      @darakken 2 หลายเดือนก่อน

      check obra dinn

    • @user-wv5po2dp4h
      @user-wv5po2dp4h 2 หลายเดือนก่อน +5

      return of obra din

  • @ircluzar
    @ircluzar 2 หลายเดือนก่อน +2

    nice, floyd-steinberg sounds like a good mid-way point in a grayscale image to ascii converter

  • @PersonManManManMan
    @PersonManManManMan 2 หลายเดือนก่อน +1

    This looks cool

  • @Enderkruemel
    @Enderkruemel 2 หลายเดือนก่อน +2

    i would like to see such thing implementet in an actual shader for minecraft

  • @doce3609
    @doce3609 2 หลายเดือนก่อน +1

    very very cool

  • @NiceHyper01
    @NiceHyper01 2 หลายเดือนก่อน +1

    This video was really well made

  • @elpanatv2537
    @elpanatv2537 2 หลายเดือนก่อน +1

    really nice project

  • @JoshuaGlazer
    @JoshuaGlazer 2 หลายเดือนก่อน +2

    How did you know to use Gamma Correction or to multiply by a constant, was that something you knew about already from video game graphics or something else?

    • @hexeldev
      @hexeldev  2 หลายเดือนก่อน +2

      I knew about gamma correction from taking a computer graphics course. I knew I needed to use it because the output was garbage. The multiplying by a coefficient was something I came up, a bit by trial and error. It just worked and looked good.

  • @WinterAlexander
    @WinterAlexander 2 หลายเดือนก่อน +3

    Would there be a way to get a smoother newspaper halftoning effect using some antialiasing?

    • @hexeldev
      @hexeldev  2 หลายเดือนก่อน

      We see in the video some artifacts because the matrix doesn't tile properly. It should be possible to fix that with better values. I don't think AA is required, as AA would defeat the purpose of dithering (we're using two colors only)

  • @davidhuculak1099
    @davidhuculak1099 2 หลายเดือนก่อน +1

    The C++ engine-in-a-weekend Chad strikes again

  • @DynoIstryingtowriteasmuchaspos
    @DynoIstryingtowriteasmuchaspos 2 หลายเดือนก่อน +1

    awesome

  • @howyay
    @howyay 2 หลายเดือนก่อน +1

    yo fire video 🔥please make more computer graphics vids

  • @claytonhiggins7526
    @claytonhiggins7526 2 หลายเดือนก่อน +3

    Is there a dithering technique where you just randomly choose any pixel to be black or white, weighted by its original shade? It seems like it would be a fast technique.

    • @hexeldev
      @hexeldev  2 หลายเดือนก่อน

      I'm sure this would work for a single image, but for a video, any shade that has 50% chance to be black or white would flicker like crazy, as every frame it would need to randomly determine it's color based off the weight

  • @PersonManManManMan
    @PersonManManManMan 2 หลายเดือนก่อน +1

    [1910]

  • @7thgeneration903
    @7thgeneration903 2 หลายเดือนก่อน +1

    0:14, have you heard of Aphantasia? well its actually a scale. 1-5: 1 being photo-realistic, 5 being nothing at all. If thats how your thoughts look your probably a 3-4 on that scale. does this matter? No, but it does make that analogy non-universal.
    Disregard this if you were being metaphorical or otherwise abstract.

    • @howyay
      @howyay 2 หลายเดือนก่อน

      could you elaborate? Im not quite getting the connection to aphantasia - not to be antagonistic, im genuinely curious

    • @7thgeneration903
      @7thgeneration903 2 หลายเดือนก่อน

      @@howyay Your not being antagonistic at all, I used aphantasia because its widely known and a good starting point since people with aphantasia aren't fundamentally different while still demonstrating the fact that peoples ability to imagine can vary. it itself isn't relevant and I also forgot to mention anything below a 5 is no longer aphantasia

    • @davidhuculak1099
      @davidhuculak1099 2 หลายเดือนก่อน

      what's the connection between the video and Aphantasia?

    • @7thgeneration903
      @7thgeneration903 2 หลายเดือนก่อน +1

      @@davidhuculak1099 the way he described the shader at 0:14

  • @bramhenstra5448
    @bramhenstra5448 2 หลายเดือนก่อน

    but whyyyyyyy, it hurts my brain when looking at it