Happy hour: Trying to merge my GUI framework
3:46:20
Small mistakes can have massive consequnces
3:20:59
Fixing my incredibly broken graph layout
2:03:42
I tried mapping my codebase
2:27:52
14 күн бұрын
Goodbye IMGUI, hello sph-i-am-gui
1:56:25
Popup support in my UI framework
1:57:21
Oops, we re-invented HSV
2:21:09
28 күн бұрын
Adding a scrollbar to my GUI framework
2:41:31
Adding buttons to my GUI framework
1:45:17
I'm making a GUI framework
1:54:08
Our text engine renders words now!
2:05:43
Using SDFs to make big text small
1:26:54
Pixel perfect bezier curves
2:21:08
Font files are kinda whack
2:25:48
Пікірлер
@punkdigerati
@punkdigerati 22 сағат бұрын
Canadian?
@sphaerophoria
@sphaerophoria 21 сағат бұрын
yup yup
@yashjain7558
@yashjain7558 Күн бұрын
Thanks for the visualizing and for sharing that Blog resource helped a lot.
@leonardoestacio5437
@leonardoestacio5437 Күн бұрын
mprotect only works on addresses that are page aligned, though. You could've created a page "flloor" function that returns the nearest page aligned address from any other address
@JustAGamerT4g
@JustAGamerT4g Күн бұрын
Love the vids 😎
@Dekharen
@Dekharen 2 күн бұрын
Based on what you were saying about immediate mode GUIs, you might be interested to check out how egui for rust works. I think it takes an interesting approach thanks to the way traits work in rust, to allow you to create long-lived structs (your app and/or widgets) while expecting the rendering itself to happen every frame by calling methods on them. It's a bit of both world, so you might be interested in checking out how they designed their approach :)
@bobby9568
@bobby9568 3 күн бұрын
The King himself!
@twobob
@twobob 3 күн бұрын
OMG
@tobeypeters
@tobeypeters 3 күн бұрын
Easiest way, loop through the objects, check to see if the mouse is "over" it, and check to see if the pixel inside that object has alpha. No alpha means there's no pixel there. It does have any alpha, that's the object that gets selected. Cause, you made it seem that the whole rectangle is there and is only displaying the portion, which you cut out.
@bobby9568
@bobby9568 3 күн бұрын
@@tobeypeters looping through objects isnt efficient at all
@truanthh
@truanthh 3 күн бұрын
hi mom im on tv
@miezekatze3536
@miezekatze3536 4 күн бұрын
1:40:50 hb *panic ?
@miezekatze3536
@miezekatze3536 4 күн бұрын
31:25 seems like you nissed -ffreestanding
@miezekatze3536
@miezekatze3536 5 күн бұрын
you can do `println!("{}", panic_handler);
@miezekatze3536
@miezekatze3536 5 күн бұрын
memcmp always returns 0 😂
@mbarrio
@mbarrio 6 күн бұрын
I really enjoy your videos. Can't see your streams because well, no money. Your fixation with Zig is always a real wall for me, because there is no real use for it. Also seeing the nix shit you have to deal with isn't pretty but hey, you do your thing and I'll probably enjoy it. Would love to see your skills on some FOSS projects, like hunting bugs or improving features of real projects. Anyway, cheers from the south
@sphaerophoria
@sphaerophoria 6 күн бұрын
> Your fixation with Zig is always a real wall for me, because there is no real use for it Wait till he finds out about how useless everything else we do here is
@kritikusi-666
@kritikusi-666 6 күн бұрын
I missed few of your streams, and at this point I am afraid to ask what you were working on because I have no F-in clue what the fuk I am looking at. How far back do I have to go to fully comprehend this crypt? lol
@sphaerophoria
@sphaerophoria 6 күн бұрын
It's not a ton, here's the project playlist kzbin.info/aero/PL980gcR1LE3KIs5eFKyMb_1TNE2UB6hBC
@ak00ma1
@ak00ma1 6 күн бұрын
By far my favourite channel rn 👏
@keycapslapper7080
@keycapslapper7080 7 күн бұрын
kernel mode setting 💀
@twobob
@twobob 7 күн бұрын
Tidy sir... Tidy
@anime_erotika585
@anime_erotika585 8 күн бұрын
Finally, someone who's as insane as i am, awesome video/stream? btw <3
@Cmanorange
@Cmanorange 8 күн бұрын
1:36:22 a wild mista azozin appeared
@Levi_OP
@Levi_OP 8 күн бұрын
laugh at 1:16:45 is too relatable
@Levi_OP
@Levi_OP 8 күн бұрын
1:20:36 😭😭😭
@abdulrhman2514
@abdulrhman2514 8 күн бұрын
Finally, i was wondering why you haven't posted till now
@ramyakmehra312
@ramyakmehra312 12 күн бұрын
so its the gravity force and the size/weight matters ur main function is the sun
@SavagePlay
@SavagePlay 13 күн бұрын
what is his neovim colorscheme
@twobob
@twobob 14 күн бұрын
"Conservation of angular momentum" and "Quantised energy levels"... WTF are you making again? :P
@Stroopwafe1
@Stroopwafe1 14 күн бұрын
It would probably be nicer if only main was trying to go to the centre. Since everything is orbiting main, it would make sense for main to be central
@krishgaur894
@krishgaur894 14 күн бұрын
ya got me
@thefloatingrock
@thefloatingrock 14 күн бұрын
2:24:57 thats a waveplot babeeeee
@sphaerophoria
@sphaerophoria 14 күн бұрын
baybeeeeee
@CrashLaker
@CrashLaker 14 күн бұрын
2:22:43 awesome haha
@Keegan.M
@Keegan.M 14 күн бұрын
First? Idk what else to comment yet I’ll edit after the video
@truanthh
@truanthh 15 күн бұрын
great!
@Musikvidedo
@Musikvidedo 16 күн бұрын
proton already said all the important things
@proton..
@proton.. 16 күн бұрын
meow meow
@jonarmani8654
@jonarmani8654 17 күн бұрын
Once you get to visualization, you'll want to check Sugiyama's Method for determining the layout of your graphs. There are some NP-Hard issues afoot, e.g. minimizing overlapping connections.
@Cmanorange
@Cmanorange 17 күн бұрын
finally i see someone notice "reify" in the zig manual lmaooo, tripped me up too. like i get that the word fits there but come on. gnu headass
@ProjectV95
@ProjectV95 17 күн бұрын
22:20 I laughed so hard at this, even though I knew it was coming!
@LuizMoraes-xb7qj
@LuizMoraes-xb7qj 17 күн бұрын
Damn, I was making my own language for fun and I had this exact same idea, you would be able to add a tag to a function and build a graph from the tags, but using an lsp in an already existing codebase makes even more sense lol
@anantshukla3415
@anantshukla3415 19 күн бұрын
For indentification of the 3 square markers , in a version 2 QR code cant you just hardcode the index points as the binary matrix size is fixed i.e 25 x 25 i guess, for other versions I dont know.
@twobob
@twobob 20 күн бұрын
good to see "Sphui" finally making the Big Leagues
@Levi_OP
@Levi_OP 20 күн бұрын
Why no balls D: I don't want maze
@movization
@movization 20 күн бұрын
No smiley face in intro, im so angry (>_<)
@Diamonddrake
@Diamonddrake 20 күн бұрын
I love watching you hack around and make cool stuff, this the kind of media I enjoy.
@twobob
@twobob 20 күн бұрын
firemoji
@10e999
@10e999 20 күн бұрын
I'm just starting, but it's a pretty cool series idea!
@tobeypeters
@tobeypeters 21 күн бұрын
Multi-Select items work?
@vk-hm6te
@vk-hm6te 21 күн бұрын
you say that you hate every other GUI framework in the notes, but what don't you like about imgui specifically? or is it just wanting to make ur own thing for the sake of making ur own thing which i can totally respect
@sphaerophoria
@sphaerophoria 21 күн бұрын
I think its just that guis are complex beasts. Theres a lot of surface area required to be a reasonable generalized framework. This automatically comes with complexity and a lot of effort spent on learning the ins and outs of a specific framework. Tradeoffs have to be made, and with so much stuff. eventually a different tradeoff has to be made then the one i would make With imgui I just struggle with putting things where I want, styling things the way I want, the way it uses labels under the hood can be confusing, its easy to misuse and get runtime errors, I dont know how to write my own custom widgets, I have to use null terminated strings, i end up writing a non immediate mode gui ontop of an immediate mode gui, no accessability, etc. etc. Now a lot of this stuff is easily resolved. I believe a refusal to read docs, or try very hard to gain context, results in an unfair judegment. I dont think theres anything wrong with imgui, but im also not happy when using it I do not think what I am doing is better, but it behaves the way specificall i expect it to, and i enjoy working on it
@DoctorGester
@DoctorGester 21 күн бұрын
@@sphaerophoria in our game I made my own imgui framework which solves some of the issues you mentioned: 1. After UI code runs there is a layout pass which actually positions the elements instead of using a cursor system. So we have auto sized containers (from sizes of children), % sized containers, alignment, etc. For inputs basically previous frame layout is used. 2. Instead of having low level primitives like rectangles and whatnot we instead have a concept of elements which have their own “render” code. So if there is a complicated UI element we don’t have to express it in our layout engine, we can just drop down to the renderer and write any code based on UI bounds provided by layout. I feel like that fixes lots of issues I had specifically with dear imgui
@cryptonative
@cryptonative 21 күн бұрын
Sometimes I get happy about this GUI framework like I’m the one who builds it lol
@kiwiladi
@kiwiladi 22 күн бұрын
fuck with your energy.
@thefloatingrock
@thefloatingrock 22 күн бұрын
So smart
@MsSexpanther123
@MsSexpanther123 22 күн бұрын
I also think that he is smart
@zhaosinicholas921
@zhaosinicholas921 23 күн бұрын
This series is definitely a gem! I wondered if all hardware specific manipulation (like rd wr registers) should be put into those helper functions?
@indrasusila00
@indrasusila00 24 күн бұрын
Bro speak 1.5 by default.