- 3
- 163 607
Hexel
Canada
เข้าร่วมเมื่อ 25 ธ.ค. 2013
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
th-cam.com/video/tEzzsT4qsbU/w-d-xo.html
th-cam.com/video/J8n0zKQe35U/w-d-xo.html
th-cam.com/video/YFuAgsA4bNI/w-d-xo.html
th-cam.com/video/23Yj0EgZ_VM/w-d-xo.html
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-rgb-to-grayscale
Thumbnail Arrow: www.textures4photoshop.com
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
th-cam.com/video/tEzzsT4qsbU/w-d-xo.html
th-cam.com/video/J8n0zKQe35U/w-d-xo.html
th-cam.com/video/YFuAgsA4bNI/w-d-xo.html
th-cam.com/video/23Yj0EgZ_VM/w-d-xo.html
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-rgb-to-grayscale
Thumbnail Arrow: www.textures4photoshop.com
มุมมอง: 4 657
วีดีโอ
Making my own 3D GAME ENGINE and GAME in 48 HOURS? C++ OPENGL
มุมมอง 141K9 หลายเดือนก่อน
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
มุมมอง 18Kปีที่แล้ว
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...
can i get the game engine
the GitHub link is in the description, the engine is highly coupled with the game though
Baldi's Basics also has the same dithering for sprites and even the pause animation and even a lot more!
i would like to see such thing implementet in an actual shader for minecraft
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
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.
This looks cool
[1910]
very very cool
yo fire video 🔥please make more computer graphics vids
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.
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
nice, floyd-steinberg sounds like a good mid-way point in a grayscale image to ascii converter
someone gotta put this on a flip display
awesome
but whyyyyyyy, it hurts my brain when looking at it
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.
could you elaborate? Im not quite getting the connection to aphantasia - not to be antagonistic, im genuinely curious
@@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
what's the connection between the video and Aphantasia?
@@davidhuculak1099 the way he described the shader at 0:14
This video was really well made
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.
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
Would there be a way to get a smoother newspaper halftoning effect using some antialiasing?
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)
Imagine a game made fully rendered with dithering. Would make a cool horror game with retro vibes
check obra dinn
return of obra din
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?
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.
Wish there was a proper way of doing the Floyd method in parallel, I don't like how Bayer ends up looking
really nice project
The C++ engine-in-a-weekend Chad strikes again
Amazing video, congrats! It feels amazing to see others building on something I created, thanks! :)
The level that i want to reach
you have a french accent
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
Getting into graphics programming is a humbling experience to say the least
"do i want to spend the rest of the time by making the game look better by adding shadows or make the game more fun? of course .. i added shadows" i'll never understand this. why is everybody thinking like this? why are GAMERS even thinking like this? why would it ever NOT be the choice to make the game more fun? (although in your case both targets incidentally overlap because the shadows help to understand the terrain)
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
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.
@@hexeldev alright, thank you
Bro is that even possible
Yo, nice KDE Plasma setup btw. I love the Sweet GTK theme.
Legendary bro🎉
You got a new fan lol. I never actually implement shadow myself. Looks cool I have to try it some time
as a beginner, this is terrifying me
I’m taking c++ in college rn and I. Honestly love it I hope to be as good as this one day
What operating system does he use? Really cool
Arch Linux
And here am I, struggling with collision algorithm 😂
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 )
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
or "roles reversed: the player writes the game"
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!
Bro what Linux distribution were you using
Arch Linux (btw)
Nice
Also what gui did you use?
@@tefyergames28 do you mean desktop environment? KDE
bro went from an orange triangle to a 3d masterpiece
what IDE did he use?
nvim first then clion
@@hexeldev ohh right thanks! i’m to broke for CLion lol
I have a free license with my school
@@hexeldev I wish I had that too, unfortunately CLion says you cant use it for anything other than educational purposes, if i ever got my hands on it from school i ain’t following that lmao
Game engines like Unity and Godot etc are great but often times you will be struggling to get what you have in mind implemented. They are not magic bullets. Sometimes they can actually get in the way. I highly recommend anyone with a serious interest in game dev try making a few games using only OpenGL. Its harder yeah but i don't think its as hard as most people that have nt done it think. I love and use game engines as well but ive always got a hand in a opegl only project. Ive written a couple of different model loaders for use in those projects that support pbr materials and skeletal anim for dae and gltf in windows and one for android. Qoite a piece of work but not as hard as i would have initially thought.
„I use Arch BTW“ got me rolling 😂
Amazing! Short and detailed.
Can you tell me where you learn opengl? is there good source for learning??
learnopengl.com
@@hexeldev thanks bro👍
13:44 - "I use Arch btw" .