Hexel
Hexel
  • Видео 3
  • Просмотров 177 430
Minecraft... but dithered (C++ OpenGL)
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/Pointcraft
Dithering Resources:
surma.dev/things/ditherpunk/
caca.zoy.org/study/part2.html
blog.42yeah.is/rendering/2023/02/18/dithering.html
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
ruclips.net/video/tEzzsT4qsbU/видео.html
ruclips.net/video/J8n...
Просмотров: 5 036

Видео

Making my own 3D GAME ENGINE and GAME in 48 HOURS? C++ OPENGL
Просмотров 154 тыс.Год назад
For GMTK2023 I made my own game engine using C and OpenGL and then made my own game. Itch: martenscedric.itch.io/portable-par GitHub: github.com/MartensCedric/portable-par Chapters: 00:00 Intro 00:43 Window 01:16 OpenGL Basics 02:40 First Triangle Done 03:23 Textures Done 04:21 Technologies used 04:59 Lighting and Shading 05:55 Game Ideas 06:30 Golf Ball 07:01 Terrain 07:40 OpenCV and Physics 0...
A Decade of Gamedev: My Journey in 25 Projects
Просмотров 18 тыс.Год назад
In the video, I'm sharing my story of how I got into programming and game development, and I'm showing off all the projects I've worked on over the last 10 years, every success and failure. My GitHub: github.com/MartensCedric Ludum Dare Entries: ldjam.com/users/martenscedric/games Chapters: 00:00 Fast-forwarded Showcase 00:30 Coin Eater 01:01 Learning Programming 01:32 Cells 01:56 FishEco 02:35...

Комментарии

  • @Innocent_Kitten
    @Innocent_Kitten 22 дня назад

    This video helped me to better understand the process of game development . Thanks man

  • @whiteingale
    @whiteingale 2 месяца назад

    I want you to be my girlfriend bro.

  • @oliverkis3971
    @oliverkis3971 3 месяца назад

    what the hell os is this

  • @alienrenders
    @alienrenders 3 месяца назад

    Gameplay or shadows? Oh, he's gonna mfing do the shadows!!! I was right. LOL

  • @user-sb5vt8iy5q
    @user-sb5vt8iy5q 3 месяца назад

    Watching this feels so good after learning openGL and understanding every step

  • @seawardspy-jl4hz
    @seawardspy-jl4hz 4 месяца назад

    Do Vulkan next 😂

  • @marco_martin
    @marco_martin 4 месяца назад

    All the APIs compatibility with other systems really saved your ass...

  • @deadsi
    @deadsi 4 месяца назад

    Not really, you can pretty much copy and paste bits and pieces and stitch em together into a game of sorts in very little time. It's once you want to expand your game to have multiple levels and objects with different properties and menus and so on that it gets a lot more complicated, cause you have to organise everything

  • @alebud1403
    @alebud1403 5 месяцев назад

    6:47 this how is called the app?

    • @hexeldev
      @hexeldev 4 месяца назад

      Portable Par

  • @lars-xi2re
    @lars-xi2re 6 месяцев назад

    can i get the game engine

    • @hexeldev
      @hexeldev 6 месяцев назад

      the GitHub link is in the description, the engine is highly coupled with the game though

  • @Enderkruemel
    @Enderkruemel 7 месяцев назад

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

  • @FA18_Driver
    @FA18_Driver 8 месяцев назад

    You’re S tier. Subbed. You code with the same passion I drive Hornets with in DCS. And all high skill programmers are so adept at language and optimization it shines through in your excellent narrative. No wasted words proper compressor on the music. 10/10

  • @vytah
    @vytah 8 месяцев назад

    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.

  • @PersonManManManMan
    @PersonManManManMan 8 месяцев назад

    This looks cool

  • @PersonManManManMan
    @PersonManManManMan 8 месяцев назад

    [1910]

  • @doce3609
    @doce3609 8 месяцев назад

    very very cool

  • @howyay
    @howyay 8 месяцев назад

    yo fire video 🔥please make more computer graphics vids

  • @jet_mouse9507
    @jet_mouse9507 8 месяцев назад

    This is really cool! I wanted to run the Floyd Steinberg algorithm at a higher resolution, and I figured out you just have to edit lines 41 and 42 of src/Scene/Effects/FloydSteinbergEffect.h. I couldn't run it at 1080p though. I got around 40 fps at 540p. It reminds me of my e-ink tablet. I bet they use similar algorithms.

    • @hexeldev
      @hexeldev 8 месяцев назад

      Yeah, I explain a bit later in the video where this algorithm cannot run in parallel, so it's fully on the CPU and is slow. You should be able to run bayer 60fps on higher resolution

  • @ircluzar
    @ircluzar 8 месяцев назад

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

  • @Shlaboza
    @Shlaboza 8 месяцев назад

    someone gotta put this on a flip display

  • @DynoIstryingtowriteasmuchaspos
    @DynoIstryingtowriteasmuchaspos 8 месяцев назад

    awesome

  • @bramhenstra5448
    @bramhenstra5448 8 месяцев назад

    but whyyyyyyy, it hurts my brain when looking at it

  • @7thgeneration903
    @7thgeneration903 8 месяцев назад

    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 8 месяцев назад

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

    • @7thgeneration903
      @7thgeneration903 8 месяцев назад

      @@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 8 месяцев назад

      what's the connection between the video and Aphantasia?

    • @7thgeneration903
      @7thgeneration903 8 месяцев назад

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

  • @NiceHyper01
    @NiceHyper01 8 месяцев назад

    This video was really well made

  • @claytonhiggins7526
    @claytonhiggins7526 8 месяцев назад

    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 8 месяцев назад

      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

  • @WinterAlexander
    @WinterAlexander 8 месяцев назад

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

    • @hexeldev
      @hexeldev 8 месяцев назад

      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)

  • @gamedevmage
    @gamedevmage 8 месяцев назад

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

  • @JoshuaGlazer
    @JoshuaGlazer 8 месяцев назад

    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 8 месяцев назад

      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.

  • @penguino118
    @penguino118 8 месяцев назад

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

  • @elpanatv2537
    @elpanatv2537 8 месяцев назад

    really nice project

  • @davidhuculak1099
    @davidhuculak1099 8 месяцев назад

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

  • @Isti00105
    @Isti00105 8 месяцев назад

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

  • @Gvantos0
    @Gvantos0 9 месяцев назад

    The level that i want to reach

  • @factorish
    @factorish 9 месяцев назад

    you have a french accent

  • @kalaherty
    @kalaherty 10 месяцев назад

    I liked the "I use Arch, btw" reference. Nice. Very nice work for 48 hours... I would of just coded a very simple platformer engine, but I'm pretty simple. I think my favourite part was the collision detection/physics. I've found 3D collision to be quite the pain to debug, so I really like how you simplified it to what you specifically needed for the project. Very neat :D

    • @jumbledfox2098
      @jumbledfox2098 5 месяцев назад

      i'm currently thinking about building my own platformer engine.. and let me tell you i wish i could call myself simple for doing that! physics is pretty hard and so is good movement. good luck with your projects, internet stranger! :3

  • @discotecc
    @discotecc 10 месяцев назад

    Getting into graphics programming is a humbling experience to say the least

  • @orca1361
    @orca1361 11 месяцев назад

    If I wanted to make a engine like the build engine but able to use 3d models like quake or heretic 2. What would be the way to start for a complete newbie? I want to make a retro shooter but without all the bloat that some game engine come with lol

    • @hexeldev
      @hexeldev 11 месяцев назад

      Assuming you know C++ well, OpenGL is the best graphics api (to learn graphics programming) in my opinion, it's a bit old now so Vulkan is better but Vulkan should be learned after understanding opengl.

    • @orca1361
      @orca1361 11 месяцев назад

      @@hexeldev alright, thank you

  • @DokkeMapper
    @DokkeMapper 11 месяцев назад

    Bro is that even possible

  • @OriginalC0dePr0xy
    @OriginalC0dePr0xy Год назад

    Yo, nice KDE Plasma setup btw. I love the Sweet GTK theme.

  • @grandpabazi3332
    @grandpabazi3332 Год назад

    Legendary bro🎉

  • @hucancode9
    @hucancode9 Год назад

    You got a new fan lol. I never actually implement shadow myself. Looks cool I have to try it some time

  • @ojasneelabh2599
    @ojasneelabh2599 Год назад

    as a beginner, this is terrifying me

  • @Roy_Royster
    @Roy_Royster Год назад

    I’m taking c++ in college rn and I. Honestly love it I hope to be as good as this one day

  • @IsaacDyck-cs8iy
    @IsaacDyck-cs8iy Год назад

    What operating system does he use? Really cool

  • @st4ndby
    @st4ndby Год назад

    And here am I, struggling with collision algorithm 😂

  • @ТестТестович-г2о

    13:39 Same problem every time 😄I'm always surprised by the fact people still use Windows ( I use Fedora most of the time, sometimes - Ubuntu )

  • @blacklistnr1
    @blacklistnr1 Год назад

    6:05 "All ideas we're pretty bad" I like all of them, the most meta slap joke would be 6 by forking an open source chess game and changing 1 line

    • @hexeldev
      @hexeldev Год назад

      or "roles reversed: the player writes the game"

  • @ChrisM541
    @ChrisM541 Год назад

    Let's be perfectly honest here, you were 'very, very well prepared beforehand' here ;) Still, huge kudos on showing how games used to be created. Infinite kudos if you could do this in 100% assembler!

  • @Tefyer
    @Tefyer Год назад

    Bro what Linux distribution were you using

    • @hexeldev
      @hexeldev Год назад

      Arch Linux (btw)

    • @Tefyer
      @Tefyer Год назад

      Nice

    • @Tefyer
      @Tefyer Год назад

      Also what gui did you use?

    • @hexeldev
      @hexeldev Год назад

      @@Tefyer do you mean desktop environment? KDE

  • @ThomasTheCoolerVersion108
    @ThomasTheCoolerVersion108 Год назад

    bro went from an orange triangle to a 3d masterpiece