Oddstone Games
Oddstone Games
  • 15
  • 63 658
X11: Creating a Linux Window | C++ Game Engine
Good day everyone! This is the 9th video of this game engine from scratch series. Here we will learn how to create a window using Xlib and we will also fix some bugs.
Thank you for watching!
Timecodes
00:00 : Bug Fixes
02:50 : Creating a Linux window
09:06 : Result
GitHub Repo:
github.com/oddStoneGames/MiniEngine
You can join our discord channel to connect with me:
discord.com/invite/d65zTzrhrp
I also stream on twitch sometimes:
www.twitch.tv/oddstonegames
มุมมอง: 1 642

วีดีโอ

From Pixels To Perception: Linux's X11 vs Wayland in Great Details!
มุมมอง 40Kปีที่แล้ว
Discover the evolution of graphical user interfaces for linux! Join us in this informative TH-cam video as we explore the history and inner workings of the X Window System, X11, and Xorg. Through engaging explanations and illustrative code examples, we'll unlock the secrets of how X11 manages window systems and different window managers using the command line interface (CLI). But that's not all...
Win32 API: Creating a Window | C++ Game Engine
มุมมอง 1.8Kปีที่แล้ว
Good day everyone! This is the 8th video of this game engine from scratch series. Here we will learn how to create a window using Win32 API and we will also add the ability to Remove Listeners in our Event System. Thank you for watching! Timecodes 00:00 : What is Win32 API? 01:44 : What are Handles & Modules? 02:57 : How does window creation work? 04:15 : How to handle window events? 08:15 : Cr...
C++ Game Engine: The Event System Guide
มุมมอง 7Kปีที่แล้ว
Good day everyone! This is the 7th video of this game engine from scratch series. Thank you for watching! Timecodes 00:00 - What are Events? 02:40 - Event & Event Dispatcher 05:00 - Different Types of Events 06:47 - Event Handler 08:50 - Update CMakeLists.txt 10:16 - Test Events 11:10 - Update MiniEngine Header 11:25 - Adding Listeners to Events 13:20 - Outro GitHub Repo: github.com/oddStoneGam...
How to Create a Custom Logger | Game Engine From Scratch
มุมมอง 624ปีที่แล้ว
Good day everyone! This is the sixth video of this game engine from scratch series. Thank you for watching! Timecodes 00:00 - Apology 00:24 - Intro 00:54 - Structure of Logs 03:35 - Logger Class 09:27 - Wrapper for Logging 11:34 - Update CMakeLists.txt 11:46 - Testing the Logger 12:20 - Result 13:00 - Output to text file 13:42 - Outro Daniel's Yelloger: github.com/danielblagy/Yelloger GitHub Re...
Making a Game | Game Engine From Scratch
มุมมอง 350ปีที่แล้ว
G'day everyone! This is the fifth video of this game engine from scratch series. Thank you for watching! GitHub Repo: github.com/oddStoneGames/MiniEngine You can join our discord channel to connect with me: discord.com/invite/d65zTzrhrp I also stream on twitch sometimes: www.twitch.tv/oddstonegames
Delta time? | Game Engine From Scratch
มุมมอง 693ปีที่แล้ว
G'day everyone! This is the fourth video of this game engine from scratch series. Thank you for watching! GitHub Repo: github.com/oddStoneGames/MiniEngine You can join our discord channel to connect with me: discord.com/invite/d65zTzrhrp I also stream on twitch sometimes: www.twitch.tv/oddstonegames
Adding CMake | Game Engine From Scratch
มุมมอง 677ปีที่แล้ว
G'day everyone! This is the third video of this game engine from scratch series. Thank you for watching! GitHub Repo: github.com/oddStoneGames/MiniEngine You can join our discord channel to connect with me: discord.com/invite/d65zTzrhrp I also stream on twitch sometimes: www.twitch.tv/oddstonegames
Adding an Entry Point & Window Class | Game Engine From Scratch
มุมมอง 837ปีที่แล้ว
G'day everyone! This is the second video of this game engine from scratch series. Thank you for watching! GitHub Repo: github.com/oddStoneGames/MiniEngine You can join our discord channel to connect with me: discord.com/invite/d65zTzrhrp I also stream on twitch sometimes: www.twitch.tv/oddstonegames
Why are you making a game engine from scratch?
มุมมอง 1.8Kปีที่แล้ว
G'day everyone! This is the first video of this game engine from scratch series & discusses the scale and the need for this project. You need to have some knowledge about C to follow along or you can implement all of this code in some other language. Thank you for watching! You can join our discord channel to connect with me: discord.com/invite/d65zTzrhrp I also stream on twitch sometimes: www....
PBR vs Blinn-Phong Reflection Model
มุมมอง 2K2 ปีที่แล้ว
Hey! I implemented PBR in my render engine based on the tutorials from learnopengl.com. My sincere thanks to Joey De Vries :D Features- PBR Workflow (Physically Based Rendering) Deferred & Forward Lighting SSAO (Screen Space Ambient Occlusion) FXAA (Fast Approximate Anti Aliasing) Bloom Tone Mapping HDR Rendering Parallax Occlusion Mapping Shadow Mapping .glTF Model Loader HDR Maps - www.hdrlab...
Advanced Lighting - Bloom, Shadow Mapping, Reflections, Parallax & Tone Mapping
มุมมอง 1.1K2 ปีที่แล้ว
For this project, I made my own GLTF loader very much based on the tutorial by Victor Gordan(th-cam.com/video/AB_f4slL2H0/w-d-xo.html) to properly load all the .glTF models & textures. Everything else includes doing MSAA, Fast Soft Shadow Mapping, Bloom, Reflections, Parallax Occlusion Mapping & Tone Mapping which I learnt from learnopengl.com. Models Used: Aladdin's Lamp - sketchfab.com/3d-mod...
what is this XDD
มุมมอง 2093 ปีที่แล้ว
idk how it happened, i was trying to generate like 81 triangles in geometry shader from just a single line as vertex position output, and my first run gave me this xdddddddddd
Horror - OpenGL Game
มุมมอง 3.1K3 ปีที่แล้ว
A test Horror game i made using glfw, dear imgui & assimp. Hand Model: sketchfab.com/3d-models/hand-a43c9c9059b24e2aa4af08d1a76f0916 Flashlight Model: sketchfab.com/3d-models/retro-style-flashlight-1bca09efb5154e75b6f6f17d8f71deeb House Model: sketchfab.com/3d-models/old-house-19a1121bab5a4aaaad4d973abe5b61cb Tree Model: sketchfab.com/3d-models/trees-dbd3f20966de4cae9170413b9c6f891d
2D Platformer - OpenGL Game
มุมมอง 2.1K3 ปีที่แล้ว
A test platformer i made using glfw & OpenGL 4.6. Player Texture: pixeljoint.com/forum/forum_posts.asp?TID=15046 Background Texture: opengameart.org/content/2d-pixel-cloudy-backgrounds Ground Texture: opengameart.org/content/platformer-grass-tileset

ความคิดเห็น

  • @FuchsDanin
    @FuchsDanin 3 วันที่ผ่านมา

    The first actual definitional sentence is completely wrong. Wayland is not a display server. It's protocols to be implemented by a display server. I'm literally learning Wayland from the ground right now, I know nearly nothing, foundationally almost nothing, and I know you're wrong. This is why TH-cam had Downvote count visible, to prevent misinformation from being a top result.

  • @NixUgriBugri
    @NixUgriBugri 7 วันที่ผ่านมา

    Problem with Wayland is not everything works with it yet like the MS Team which is very important app for "working from home crowd"

  • @yossirachman2888
    @yossirachman2888 8 วันที่ผ่านมา

    This is by far the best explanation I found on x11 vs. Wayland. Really interesting and well put. Thanks!

  • @Fetrovsky
    @Fetrovsky 13 วันที่ผ่านมา

    Nowm is pretty cool.

  • @Fetrovsky
    @Fetrovsky 13 วันที่ผ่านมา

    Oi Veyland!

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

    Hello. What you wrote is an example of the observer pattern and the one-to-many relationship it represents. A typical Event Dispatcher does not contain a list of listeners or operate on a for loop. But it is an interesting approach to the problem of handling events. Best regards

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

    I need autistic detail and this isn't it yet

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

    I found the video helpful, but I also found the comments pointing out the video's mistakes to be helpful as well. So thanks for leaving those up. 👍

    • @FuchsDanin
      @FuchsDanin 3 วันที่ผ่านมา

      That's like saying misinformation is useful if you go Google all of the things that were said.

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

    Riddled with errors. Modern Xorg uses libinput as well. KMS is not used to get graphics on the screen, as the name says its responsibility is mode setting. Check Wikipedia. You're confusing it with DMR (direct rendering manager). Xorg supports hardware-accelerated compositing. MIT-SHM is not used for IPC between clients, but only for clients to efficiently push image data to the server if they're on the same machine. MIT-SHM is more efficient than connecting through a unix domain socket.

  • @agentotten
    @agentotten 3 หลายเดือนก่อน

    Wayland is cool and all but damn X11, that old stuff just works.

  • @kencreten7308
    @kencreten7308 3 หลายเดือนก่อน

    when you talk - you don't need to say the words that people can - read on the screen...

  • @Mattia_98
    @Mattia_98 4 หลายเดือนก่อน

    X11 Compositors can absolutely use the GPU for rendering.

  • @sacredbanana
    @sacredbanana 4 หลายเดือนก่อน

    Apparently there's a primitive version of X11 for Commodore Amiga to ease porting UNIX applications to AmigaOS, though I know nothing about it

  • @akashashen
    @akashashen 5 หลายเดือนก่อน

    Minor note, over a year later, initramfs loads the root file system. It loads first in case a problem disrupts that sequence (that's why it has itsown mini-toolkit/environment.

  • @RishiYT-is1ld
    @RishiYT-is1ld 5 หลายเดือนก่อน

    thank you

  • @xXaymanXxBG
    @xXaymanXxBG 6 หลายเดือนก่อน

    Dawg now i understand why since i stopped using wayland my pc stopped freezing forcing me to cut off electricity on the entire pc just to reboot...

  • @NKG416
    @NKG416 6 หลายเดือนก่อน

    so what's the different between linux and windows in these area?

  • @wile123456
    @wile123456 6 หลายเดือนก่อน

    The only annoying thing in wayland is vsync is forced on for everything, so the vsync setting in video games litterally does nothing. Vsync should be enabled for windows and desktop applications, but its annoying it doesnt allow easy changing of vsync of games or 3D applications

  • @ToyKeeper
    @ToyKeeper 6 หลายเดือนก่อน

    I use X11 because network transparency and accessibility and automation are important, and Wayland sacrificed those things to solve problems I don't have. I could list many examples if youtube's filter would let me, but it blocks long comments... so I'll try to describe just one. I have a bunch of computers, including desktops, notebooks, and servers. I rely on being able to use all of them regardless of where I am or which hardware is in front of me. With X11 I can mix and match freely, but Wayland is designed to prevent that because it's considered unnecessary and a security risk. Like, if I'm at my desk I have a desktop and two notebooks, so I use the desktop's mouse and keyboard for all three, simply moving the cursor off the edge of one screen and onto the next, using a trivial little program called x2x. But frequently I'll grab a notebook to go elsewhere, like a cafe or the loo or a client meeting or even just the living room couch. I can still use every computer, either by exporting a running session as a remote desktop, or running individual programs over the network for remote display, or simply moving the cursor to any screens which happen to be nearby. It all "just works" easily and reliably, even for servers with no screen or keyboard attached. When doing local stuff it's a smooth 60fps with no perceptible lag, and when remote, things are slower but still very usable. But Wayland doesn't do that. In a time when nearly everything in computing is getting more flexible, more interoperable, and more network-transparent... Wayland strives to go in the opposite direction. With Wayland, I can't even use my notebooks while I'm at my desk.

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

    Fantastic series. Needs more views. Liking and commenting for algorithm

  • @iamwatchingthisvid.7682
    @iamwatchingthisvid.7682 7 หลายเดือนก่อน

    I ran into problems with wayland being unable to drag and drop archive contents to my file explorer when extracting... but on x11 worked just fine... wayland is much responsive tho and I use gnome desktop.... if this problem in wayland is fixed then I might use it again

  • @1pcfred
    @1pcfred 8 หลายเดือนก่อน

    I use X.0rg but I have used X11 in the past. X11R6

  • @oglothenerd
    @oglothenerd 8 หลายเดือนก่อน

    Why hello there! :)

  • @PoeLemic
    @PoeLemic 8 หลายเดือนก่อน

    Thank you for explaining this -- thru showing us an example. It makes total sense. I had basic idea of how X worked, but I'm coming from Windows. And, I want to understand Linux better.

  • @samucancld
    @samucancld 9 หลายเดือนก่อน

    X11 makes more sense

  • @GnuChanOS
    @GnuChanOS 9 หลายเดือนก่อน

    I tried Wayland before in Manjaro, but it only showed a cursor and a black screen, so I gave up. Xorg works fine for me.

  • @AnnatarTheMaia
    @AnnatarTheMaia 9 หลายเดือนก่อน

    Boy am I glad we don't have "Weyland" on Solaris! Good old X11R6 (Solaris 10) and X11R7 (Solaris 11 / illumos) and driiivvveee....

    • @JacksonNick-j6i
      @JacksonNick-j6i 8 หลายเดือนก่อน

      Using Solaris is even more funny than using BSD OSes as a desktop. At least FreeBSD and OpenBSD are good for servers. Who tf uses Solaris in 2024?

    • @NitroNilz
      @NitroNilz 8 หลายเดือนก่อน

      That's very "racist" in terms of OS'es. (Does it have a term? OS-ist?). I would also suggest jumping to open source like an illumos distribution, but still respect people who'd stay on proprietary shit.

    • @AnnatarTheMaia
      @AnnatarTheMaia 8 หลายเดือนก่อน

      @@NitroNilz the word you are looking for is "elitist", and yes it is, and so what? Enough with mediocrity!

    • @NitroNilz
      @NitroNilz 8 หลายเดือนก่อน

      @@AnnatarTheMaia I was referring to "who […] uses Solaris in 2024?" as elitist. Thank you for the word! Down with mediocracy!

  • @ClintAnderson808
    @ClintAnderson808 9 หลายเดือนก่อน

    this was nice to find after watching several videos that were just people reading web pages or spouting off opinions, thanks for this

  • @anonymouscommentator
    @anonymouscommentator 9 หลายเดือนก่อน

    loved the video, thank you very much!

  • @CocolinoFan
    @CocolinoFan 9 หลายเดือนก่อน

    Wasteland is not a display server, is a protocol

  • @SlinkyD
    @SlinkyD 10 หลายเดือนก่อน

    Wayland is X12.

    • @1pcfred
      @1pcfred 8 หลายเดือนก่อน

      Wayland is X0

  • @vaibhavmishra5179
    @vaibhavmishra5179 10 หลายเดือนก่อน

    Please continue this series, this is so interesting.

  • @luigiistratescu2756
    @luigiistratescu2756 10 หลายเดือนก่อน

    What do you think? Is Phong still worth using it in games these days? Trine 1 and 2 used Phong, Trine 3+ used PBR. Apparently WoW was using Phong all this time, except that now they also added Raytracing. Do you think Phong lighting still has a place in games today?

  • @aka6double0
    @aka6double0 10 หลายเดือนก่อน

    Wow, thank you. Very well said my friend.

  • @calebcasual
    @calebcasual 11 หลายเดือนก่อน

    C++ class is missing on mine, even tried reinstalling visual studio

  • @lealcy
    @lealcy 11 หลายเดือนก่อน

    The display manager (KDM, GDM, XDM) loads after X11 or Wayland. The DM is just a graphical program to manage the login to the desktop and need a graphical server to load on.

    • @neamupanselutelor7309
      @neamupanselutelor7309 8 หลายเดือนก่อน

      How does the DM choose whether to load X11 or Wayland on the first boot?

    • @lealcy
      @lealcy 8 หลายเดือนก่อน

      @@neamupanselutelor7309 it depends on how the distro is configured on install

    • @yusefaslam9675
      @yusefaslam9675 6 หลายเดือนก่อน

      In GDM (GNOME Display Manager), there is an option called "WaylandEnable", if that is set to true, GDM uses Wayland, if it is false or commented out it uses X11.

    • @yusefaslam9675
      @yusefaslam9675 6 หลายเดือนก่อน

      Sorry, I meant to say in GDM's configuration file.

    • @mgord9518
      @mgord9518 3 หลายเดือนก่อน

      ​@@neamupanselutelor7309 I don't think any DMs "choose", they're just configured to use one out of the box

  • @gustavojoaquin_arch
    @gustavojoaquin_arch ปีที่แล้ว

    Imagine using winbugs

  • @twachl8039
    @twachl8039 ปีที่แล้ว

    great video, thumbs up my friend

  • @dragos-andreirotaru2316
    @dragos-andreirotaru2316 ปีที่แล้ว

    Hyprland dev commented :))

    • @oddstonegames
      @oddstonegames ปีที่แล้ว

      Oh wow! I am glad you watched it. 😄

  • @HikaruAkitsuki
    @HikaruAkitsuki ปีที่แล้ว

    If you running Linux in VM which is the host is also Linux, X11 version of your DE is work better than Wayland's DE

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

      There's zero benefit using Wayland on VM because the underlying GPU is a virtual GPU anyway.

  • @methos1024
    @methos1024 ปีที่แล้ว

    I Like this explanation, but it ist not 100% correct :-) still good for understanding some things especially about X11

  • @methos1024
    @methos1024 ปีที่แล้ว

    Wayland does NOT handle User input. Things like libinput is used for user inputs

  • @methos1024
    @methos1024 ปีที่แล้ว

    Wayland is not a Display Server that first statement is alredy wrong. It is a Protocol and the actual Desktops have to program thyr Display managers etc. around that protocol for compatibility.

    • @whoman0385
      @whoman0385 9 หลายเดือนก่อน

      same with X11, just a protocol and there are display servers that implement it like xorg and xfree86

    • @methos1024
      @methos1024 9 หลายเดือนก่อน

      @@whoman0385 Yeah, that should be correct. So i should Frame what i want to say a bit different so everyone gets what i really want to say.

    • @mgord9518
      @mgord9518 3 หลายเดือนก่อน

      ​@@whoman0385 Yeah, except X11 is so complex that XOrg is the only usable one. Mind you that XOrg is also a fork of XFree86, which has now died so talking about them as if they're separate projects is a little misleading

    • @happygofishing
      @happygofishing 20 วันที่ผ่านมา

      SAAAAAR!!!!

  • @methos1024
    @methos1024 ปีที่แล้ว

    There is not really a question whether to go with wayland or X11. its more like have you an nvidia Graphics card oder an AMD/Intel graphics card. With the first one you have no real choice. witch the others the best option for many usecases ist the not deprecated standard - wayland. But you also may have A workload that does currently not support wwayland - so again no choice..

  • @miku
    @miku ปีที่แล้ว

    god is happy

  • @vaxryy
    @vaxryy ปีที่แล้ว

    22 seconds in an you already have made a considerable mistake. That's quite fast. Neither X11 nor Wayland are display servers.

    • @dragos-andreirotaru2316
      @dragos-andreirotaru2316 ปีที่แล้ว

      Display protocol?

    • @oddstonegames
      @oddstonegames ปีที่แล้ว

      Ok, I did my research when i made this video but found that the two terms were used interchangeably, I don't have any kind of experience with wayland or x11, i did it only for a month or two and decided to make a video about it. If you can explain in detail it will be of help to anyone reading :)

    • @slycordinator
      @slycordinator 10 หลายเดือนก่อน

      ​@@oddstonegames As alluded to, X11 is a windowing system and protocol. A big component of it is the server, but X11 itself isn't the server. Though, the distinction can be confusing, given that X11's canonical implementation is XOrg Server.

    • @khaled-0
      @khaled-0 8 หลายเดือนก่อน

      🤓

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

      ​@@oddstonegames You just admitted you haven't even used the software you're talking about and made a video about them?

  • @BirfTheSpider
    @BirfTheSpider ปีที่แล้ว

    Incredible!

  • @MrCWoodhouse
    @MrCWoodhouse ปีที่แล้ว

    Thanks. Helped me a lot to understand. X11 has been such a mystery to me my whole life. Time to learn.

    • @oddstonegames
      @oddstonegames ปีที่แล้ว

      I am glad it helped you!

    • @FuchsDanin
      @FuchsDanin 3 วันที่ผ่านมา

      You learned about X11, you were mislead about Wayland from the absolute first sentence mentioning it.

  • @mikesmorningwood3653
    @mikesmorningwood3653 ปีที่แล้ว

    Beautifully explained, thank you ❤

  • @harshpandey703
    @harshpandey703 ปีที่แล้ว

    thanks!