Details
-
AboutAAAAAAAAAAAAAAAAAAA
-
SkillsRust and other things
-
Locationhere
-
Website
Joined devRant on 12/8/2018
Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
-
I hate free cloud services needing a login. Just let me fucking access the damn app. What difference does it make, it's literally free anyways?? I just want to make a god damn spreadsheet and now I need to login to like 3 different microsoft accounts
WHYYYYYYY7 -
The downsides of coding drunk: Implementing the same thing you've already implemented but forget you did13
-
Fucking finally got xkb and xcb to work after hours of bullshit
Why is it so fucking hard getting a damn keyboard layout on linux 😭11 -
bevy_reflect is literally the best thing since sliced bread
It allows you to do type and value reflection IN RUST!! A compiled language with dynamic runtime reflection of values. And with custom annotations on fields and structs too like
#[derive(Reflect)]
#[@SomeDataIWantToAttach {x: 20, y: 10} ]
struct MyComponent {
#[reflect(@MyCustomRangeAnnotation(0..10))]
pub num: u32,
}
It is nice. It is so nice1 -
Garbage collectors are actually pretty dang clever. I always thought they are inferior but honestly they can be really fast and the ergonomic benefit you get from them is just priceless
One really cool trick of multi generational GCs is having a young generation where all new objects are allocated and on each GC cycle you fully clean it out by deleting dead objects and promoting living objects to a higher gen
This way you can just linear allocate new objects in the young gen which is magnitudes faster than a general purpose allocation algorithm
You can basically heap allocate for almost free! Bunch of short lived temporary strings? No problem!9 -
Maybe crazy idea but couldn't you implement a kernel level garbage collector for compiled languages like C/C++/Rust?
The biggest issue is that without a runtime you don't have safe points at which you know a thread isn't updating references... except you do! At thread context switches you know the thread isn't executing code, so you can safely do your stack traversal and reference marking without fearing race conditions
That's still somewhat problematic because OTHER threads may still be executing but there's probably concurrent gc designs that could deal with that...
Hmm maybe I should actually try to work on this11 -
Man, you start doing computer graphics you really get an appreciation for nature
Like "got dayum, god got some good ass graphics, no way I can compete with that"6 -
Man, I really want to write a book called "The little book of errors" about correct error management strategies and patterns
Not that I know what they are.... but I'd really like to write a book about them -
@retoor Idea against spam: Make your bots spam comments on spam posts with walls of text of insults or something14
-
@anyone hating on Rust I bet you won't be talking shit after seeing some 10x developer rust code 😤 https://github.com/rust-lang/rust/...7
-
Holy shit, the exr crate is one of the most overengineered pieces of shit I have ever seen
... well maybe nalgebra is even worse, but that's not a fair comparison. Nothing is worse than nalgebra
Check out this fantastic function: https://docs.rs/exr/1.73.0/...3 -
HLSL, for the love of all that is holy, this is now the THIRD time you made me waste hours trying to debug a shader because of stupid implicit conversions
Turns out that multiplying a float3 by a float4x4 silently truncates the matrix to float3x3, dropping the translation part 😐
Thank you dxc, very cool1 -
Man going from Rust to other languages is making me go insane
Why does no other language have a high quality, standard documentation tool!? I just want to know what classes and functions you have 😭21 -
Just had the realization that the reason why the internet is so toxic isn't really because of anonymity
It's because if you're a massive asshole to someone, that person can't punch you in the face
I mean this for real, and it's kinda counter intuitive, but the underlying threat of violence is what keeps society civil and polite21 -
The license for assets on epics new asset store is insane:
For any Content licensed to you under a Standard License, you may not:
i. attempt to reverse engineer, decompile, translate, disassemble, or derive source code or data from the Content;
HOW IN GODS NAME AM I SUPPOSED TO USE ASSETS I BOUGHT WHEN I CAN'T EVEN DERIVE FUCKING DATA FROM THEM???? Like how in hell am I supposed to load textures and meshes when the only thing I'm allowed to do is to maybe look at them
They DO know graphics cards can do sweet fuck all with a JPG texture, right? Like I /genuinely/ have to translate that thing into a proper format for it to have any use11 -
PSA: All quixel assets are completely free on the new fab store until the end of the year!
If you need any high quality models, make sure to check it out
(why does this read like an ad lol)24 -
Okay so my last idea has one big problem: I need to project vertices into a single space which encompasses an entire hemisphere. AND straight lines need to remain straight when projected.
That's not something a typical projection matrix can do. Damn. I'm thinking maybe something like octahedral projection? [1]
But I'm not sure there's an answer. Else I would have to chop up the hemisphere into parts and try rastering each tri for each view. Ugh, that sucks
[1] https://researchgate.net/figure/...5 -
New idea: Fuck raytracing for global illumination because you just need too many rays for it to converge
What if we do surfels (to keep the number of probes down and relevant to our scene) and we update the 4x4-ish sized hemisphere irradiance maps not by tracing a single ray per frame per surfel. I have a fast as shit compute shader rasterizer... What if I just raster each surfel each frame? Should be around the same number of pixels as the primary visibility so totally feasible....
Each frame just jitter the projection a bit and voila. Should have extremely high quality diffuse global illumination at well below 1 ms. Holy shit this might just work3 -
It just hit me. If you wanna achieve something great you have to dream big. If you aim for something humble, you'll just get lost in the endless land of diminishing returns where you take forever to make little progress
If you aim high, you are naturally inclined to do big strides since you feel that there is still so much left to be done
Just a thought I had working on my engine2 -
Tangent space normal maps are going to drive me insane I swear to god
Why can't you just work??? 😭😭😭 -
There's been talk that UE5's Nanite isn't actually all that efficient (sometimes slower than the alternative) and that kind of got me thinking.
You give developers very high end machines so that they can move quickly. But that doesn't always translate to lower machines. When benchmarking how would you even target lower machines in a simple way? Like for me, I have two GPUs in my system, but one is passed through to a Windows VM. I'd love to test on that GPU but it's just not feasible
All the great test results I (and others) have been seeing might just be a result of the newest cards being insanely fast in relation to cache. Is visibility rendering really faster on a few generation old card? I don't know! Nvidia MASSIVELY beefed up L2 cache on the 4000 series. Does that play a role? Maybe even a big one...2 -
My dumbass thinking it would be easy to get a string value of an exported symbol in a .so and now I'm manually parsing and applying symbol relocations3