- 15
- 63 658
Oddstone Games
เข้าร่วมเมื่อ 11 ม.ค. 2022
Hello! I love graphics.
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
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
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.
Problem with Wayland is not everything works with it yet like the MS Team which is very important app for "working from home crowd"
This is by far the best explanation I found on x11 vs. Wayland. Really interesting and well put. Thanks!
Nowm is pretty cool.
Oi Veyland!
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
I need autistic detail and this isn't it yet
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. 👍
That's like saying misinformation is useful if you go Google all of the things that were said.
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.
Wayland is cool and all but damn X11, that old stuff just works.
when you talk - you don't need to say the words that people can - read on the screen...
X11 Compositors can absolutely use the GPU for rendering.
Apparently there's a primitive version of X11 for Commodore Amiga to ease porting UNIX applications to AmigaOS, though I know nothing about it
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.
thank you
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...
so what's the different between linux and windows in these area?
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
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.
Fantastic series. Needs more views. Liking and commenting for algorithm
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
I use X.0rg but I have used X11 in the past. X11R6
Why hello there! :)
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.
X11 makes more sense
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.
Boy am I glad we don't have "Weyland" on Solaris! Good old X11R6 (Solaris 10) and X11R7 (Solaris 11 / illumos) and driiivvveee....
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?
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.
@@NitroNilz the word you are looking for is "elitist", and yes it is, and so what? Enough with mediocrity!
@@AnnatarTheMaia I was referring to "who […] uses Solaris in 2024?" as elitist. Thank you for the word! Down with mediocracy!
this was nice to find after watching several videos that were just people reading web pages or spouting off opinions, thanks for this
loved the video, thank you very much!
Wasteland is not a display server, is a protocol
Wayland is X12.
Wayland is X0
Please continue this series, this is so interesting.
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?
Wow, thank you. Very well said my friend.
C++ class is missing on mine, even tried reinstalling visual studio
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.
How does the DM choose whether to load X11 or Wayland on the first boot?
@@neamupanselutelor7309 it depends on how the distro is configured on install
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.
Sorry, I meant to say in GDM's configuration file.
@@neamupanselutelor7309 I don't think any DMs "choose", they're just configured to use one out of the box
Imagine using winbugs
great video, thumbs up my friend
Hyprland dev commented :))
Oh wow! I am glad you watched it. 😄
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
There's zero benefit using Wayland on VM because the underlying GPU is a virtual GPU anyway.
I Like this explanation, but it ist not 100% correct :-) still good for understanding some things especially about X11
Wayland does NOT handle User input. Things like libinput is used for user inputs
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.
same with X11, just a protocol and there are display servers that implement it like xorg and xfree86
@@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.
@@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
SAAAAAR!!!!
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..
god is happy
22 seconds in an you already have made a considerable mistake. That's quite fast. Neither X11 nor Wayland are display servers.
Display protocol?
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 :)
@@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.
🤓
@@oddstonegames You just admitted you haven't even used the software you're talking about and made a video about them?
Incredible!
Thank you!
Thanks. Helped me a lot to understand. X11 has been such a mystery to me my whole life. Time to learn.
I am glad it helped you!
You learned about X11, you were mislead about Wayland from the absolute first sentence mentioning it.
Beautifully explained, thank you ❤
I am glad you liked it :)
thanks!