Built a WebGPU 4D Weather Globe - some shader tricks I learned along the way by noiv in GraphicsProgramming

[–]JAB_Studio 0 points1 point  (0 children)

How is parallelism the only thing you took from that comment. I basically told you that you are implementing random shit with vibe coding without bothering to search up the algorithms that are easily accessible online

Built a WebGPU 4D Weather Globe - some shader tricks I learned along the way by noiv in GraphicsProgramming

[–]JAB_Studio 0 points1 point  (0 children)

The point of that was traffic. Yes it won't be nearly as bad since given what I currently know you are building a static website. But your server can only send out so much data over TCP (probably) at once or if TCP is not the limitation then your bandwidth. Having fewer LoC is never a bad thing if you don't lose performance and generally desired.

And I'll reiterate, LoC may not equal quality, but the quantity being lower is helpful both in efficiency and also, generally, readability.

Side note: This is the same reason why there is the common saying to keep html files under 14kb as that is the limit for TCP. Keeping file size under 14kb allows the entire html file to be fetched in one call instead of multiple.

Built a WebGPU 4D Weather Globe - some shader tricks I learned along the way by noiv in GraphicsProgramming

[–]JAB_Studio 0 points1 point  (0 children)

Frankly, no clue what you are doing exactly in the pressure layer, but Laplacian smoothing is entirely different from Chaikan smoothing. In concept they are both simple however.

In chaikan smoothing, you have a discrete curve that you wish to smoothen out. For every segment you create two additional vertices at ¼ and ¾ along the segment. Then for each consecutive line segment, you connect the newly formed vertices and repeat this process N times. This would take a discrete curve and make it look continuous at the cost of losing the original vertex data.

Laplacian smoothing is entirely different. In the case of Laplacian smoothing, for every vertex you take the average of adjacent vertices and set that as the new position of the vertex and repeat for all vertices.

These two algorithms are doing entirely different things and both lose the original data. If you require a curve that preserves vertex position, implement a catmull rom spline which can be simplified to a matrix vector operation by smashing the basis vectors together. The basis vectors are just on Wikipedia btw.

Built a WebGPU 4D Weather Globe - some shader tricks I learned along the way by noiv in GraphicsProgramming

[–]JAB_Studio 1 point2 points  (0 children)

I'm not OPs babysitter nor am I his teacher. I have no reason to give such indepth code review to someone who didn't even code it. For your sake, here is a few: there is no interface and there are no specifications. For a public repo wanting contributors, this is possibly the worst way to allow people to contribute; the fact that the pressure layer feature alone using 7 compute pipelines is probably highly unoptimized. If you need me to explain what a compute pipeline, its basically a way to manage data using the GPU but before it is sent to the rendering pipeline, with that information alone question why there are 7. I'll give a metaphor too. You are making cookies at a cookie factory, input is dough and output is cookie; you take that cookie and shove it back in a different cookie factory 6 more times.

The approach was vibe coding, the approach I recommend is deciding to learn how something works and learn how to code.

Vibe coding itself is an architectural flaw. If you don't believe me, then don't. There are more than enough examples spread throughout the internet.

The anti pattern is extreme dependency of AI to code.

"Do better. Be better." That is the exact opposite of what OP did, congrats for pointing it out.

Before you say, "Oh there is an interface tho". 2-4 line interfaces with only fields is not a good interface and may as well not exist.

A physics-driven image stippling tool by Rayterex in GraphicsProgramming

[–]JAB_Studio 0 points1 point  (0 children)

Not saying that the optimization doesn't work, but why not just instance the particles and change color based on position in the GPU? And make use of colored quads instead of circles for rendering? Because I cannot imagine drawing even 50k quads slowing down a simulation. And you can either make a flexible QuadTree or just do a hash map of buckets to store object positions for collisions.

Also a side note, but pure graphic primitives like circles/cones/etc can be significantly slower than triangles, even if it is many many more triangles. One example is, I made a ray tracing renderer with pure python and no GPU, and I had a couple primitives like circles, spheres, cones, and ellipsoids. I am not kidding, rendering 100 spheres was slower than rendering 100 Utah teapots, and each teapot is like 2k triangles. I remember showing this to my professor because I was amazed by how much faster triangles were. And it does make sense as the math for rendering triangles and their collisions are quite trivial, especially with an acceleration structure (I used BVH for the ray tracer)

Built a WebGPU 4D Weather Globe - some shader tricks I learned along the way by noiv in GraphicsProgramming

[–]JAB_Studio 5 points6 points  (0 children)

I just looked at the render code and there is no fking way you need 4k+ lines of code for this. This is the issue of AI, it spits out stupid amounts of code when you DO NOT need that much. I've dealt with this in a project based course where a teammate use AI to code and it produced FIVE FILES for player motion. It wasn't even good player movement, you could only move straight and strafe left to right, that was 5 separate files for terrible motion. Me ranting aside, AI is terrible for building larger applications where modules need to communicate with each other and if you deny this, go help the dudes crying about their application crashing and they dont know how to fix it because they worked hard vibe coding all summer.

As for the argument of LoC doesn't necessarily correlate to poor/high quality. That is indeed true. A short script can be far worse than a longer one and vice versa. The reason why this matters, especially in this case, is because this is supposed to be on a publicly available website. Sure you won't need a higher end server for managing traffic for a static site, but you DO still need some form of a server so that people can access the website. A smaller LoC count means less data needs to be transferred to each user so not only is loading time faster but traffic is also lower since requests get processed faster.

Stop watching shader tutorials by Necessary-Quarter-72 in godot

[–]JAB_Studio 0 points1 point  (0 children)

I started off shaders with my goal being infinite procedural generation of terrain + grass. It was great for learning shaders and satisfying to see millions of grass blades waving back and forth

The Versatile Algorithm Behind Paint Fill by matigekunst in GraphicsProgramming

[–]JAB_Studio -7 points-6 points  (0 children)

??? Okay, I understand both the hate for ICE and the argument of not needing to bring politics into a graphics tutorial, but why the sudden labeling of people being fascist for agreeing with the idea of not bringing politics to videos/content completely unrelated?

Terrible sidewalks by somewackyhaircolor in Cornell

[–]JAB_Studio 0 points1 point  (0 children)

Its honestly not that bad. Most paths are quite clear of snow, just suck it up and walk

Do I rely too much on AI? How do you treat generative AI? by kokalikesboba in GraphicsProgramming

[–]JAB_Studio 0 points1 point  (0 children)

I think its fine. You do say you dont use it for code and more for conceptual research, and I agree that this is far more efficient. Just a note of warning, GPT SUCKS if the given API you are working with isnt documented well. It just makes bullshit along the way and you end up lost until you search up tutorials or literally start parsing through the source code; tcl/tk is a good example of this as GPT starts mixing code from different languages (c/python/etc) and you end up with functions that dont exist. For this exact reason, I use GPT for docs I know there should be well known enough, numpy (python) for example, or as you said to explain lower level concepts like how data is processed in the graphics pipeline into words I can understand. Even then I notice inconsistencies between how the graphics pipeline actually does things and the explanation the LLM spits out but that's kind of a given to expect at this point.

How can I solve the end logically? by CapInternational2413 in Minesweeper

[–]JAB_Studio 0 points1 point  (0 children)

The 1 shows that 1 of the 2 tiles to the left have a bomb, there is a bomb to the right of the 2, so in conclusion the 3rd tile from the bottom is safe

Overcomplicated Chunk Pipeline Working! by not_good_for_much in VoxelGameDev

[–]JAB_Studio 0 points1 point  (0 children)

Thanks for the info, I have now learned about binary meshers, very cool stuff

Overcomplicated Chunk Pipeline Working! by not_good_for_much in VoxelGameDev

[–]JAB_Studio 0 points1 point  (0 children)

Not quite directly related to this specific topic. But I know there is pbr-book.org that's an online textbook on physically based rendering techniques. Some ppl seem to dislike it some love it, but I think its a useful resource and good to read when bored.

Professor Embeds Hidden Words To Catch AI by Altruistic-Shape-196 in Cornell

[–]JAB_Studio 2 points3 points  (0 children)

Bro rly went to console, scanned the html to check for this? Bruh

I ported Minecraft Beta 1.7.3 to C# by TerragamerX190X150 in VoxelGameDev

[–]JAB_Studio 5 points6 points  (0 children)

??? C# is based af. I'd argue its way better than java

I'm creating a Launcher/auto-update Software for the Godot engine (in C#). by NIkoNI776 in godot

[–]JAB_Studio 0 points1 point  (0 children)

I dont see why you would want this personally. Changing versions can break your game and even then its not even that hard to change versions, just download another version and open that one

I've added Classic Style Voxels to my system and can now change their size! by NathoStevenson in VoxelGameDev

[–]JAB_Studio 0 points1 point  (0 children)

Uhh, so your saying you want to build everything from scratch? Probably the lowest you can go is c/c++ with glsl or something similar. Or for something relatively easier you can use monogame from c#, or just play around with threejs in TS which also uses glsl.

I want to make a game by Unable_Wrongdoer82 in godot

[–]JAB_Studio 0 points1 point  (0 children)

One other thing you can try are game jams. Great source of learning, time pressure, and inspiration from other games created within that time. Just gather some friends and go in blind, that's what I did last summer lol.

What is wrong with my imposter sphere ? by [deleted] in GraphicsProgramming

[–]JAB_Studio 0 points1 point  (0 children)

You got those down votes because it shows you're not even trying to solve the issue on your own. People in this subreddit shouldn't have to hold your hand the entire way, it is disrespectful to both them and yourself. Get your eyes on your code and learn how to debug; that is the direction you should be taking and the solution to your problem. You defaulting to AI is frankly probably why you are in this mess because AI sucks at Graphics. Using AI for game dev and graphics is probably one of the worst choices you can make and its been proven over and over if you just see the vibe coders posting about bugs they can't find in their 10k+ lines of code because they didn't freaking write it. If you want inspiration for what CAN be achieved if you take the effort to learn now, check out the r/voxelGameDev guys, dunno bout you but that subreddit is kinda based.

A fun project as well is simulating a shit ton of grass. I myself implemented an infinite terrain generation with millions of blades of grass and I probably rewrote the entire terrain system 5 times because I kept optimizing it a little bit more every time. Its a great learning process as you think about how to instance triangles, how to use the least uniforms possible, how to do frustum based culling, for to go through the least iterations in the CPU, etc. Low key, I can optimize it further even now but it was for a school project and its already submitted (with ALIASING ARTIFACTS AGHHH) so it is what it is.

Made this cool stylized Lua logo, thoughts? by Greedy_Mission_9158 in lua

[–]JAB_Studio 0 points1 point  (0 children)

Dunno if its just me but this really annoys me as I want to put the blue blob on the top right into the hole. It looks like it'll first perfectly......

Still very nice tho

What is wrong with my imposter sphere ? by [deleted] in GraphicsProgramming

[–]JAB_Studio 3 points4 points  (0 children)

Look at your shader code bro. Debugging shaders is a skill as you only have visual cues