Is no one tired else of these repetitive, obviously Claude-made webdesigns?
HN user
imadr
Software developer, I love graphics programming, procedural generation, game dev, making interactive tutorials Checkout my website https://imadrahmoune.com
Is it the em dashes? I didn't get the feeling it was AI generated at all
Yes and? Let's suppose your statement is 100% true, I genuinely don't see the point of these kinds of comments.
Why every time some person/group of people enact an anti-LLM policy in their project, other people feel the personal need to stress how useful LLMs are and how that project is bound to fail if they don't use it?
Postmarketos clearly exists and works, EVEN if LLMs were absolutely perfect for speeding up development ten folds, is there any absolute moral necessity to use them?
Also isn't this just moving the goalpost that LLM fanatics love to point out?
I like your style! Reminds me of https://usgraphics.com/
What does this even do? Read most of the page but still didn't understand the project actually is
I definitely agree with you that the article lacks mathematical rigor, it's something I'll try to improve in the future. Thanks for the feedback!
The roughness reflection slider thingy is trivial to generate with any LLM, however you should try generating the BRDF illustration with:
- 3d primitives (arrows, hemisphere)
- billboarded text rendering
- mouse interaction/canvas rendering that works for multiple scenes
It might be possible to vibe code but you’ll hit a wall of complexity really quick
I took me about 3 months working on it on and off, it amounts to about 3 weeks of full time work. For my other projects I'm just writing everything to a single typescript file and compiling it with tsc, works like a charm and zero dependencies!
Yes, in rendering when we talk about “diffuse” reflection we implicitly mean fuzzy reflections due to light penetrating the material and exiting a small distance away from the entry point (less than a pixel far)
The term subsurface scattering is used for light that exits further away (more than a pixel) like in simulations of human skin
However that part of the article isn’t clear enough and warrants a rewrite
If i’m not mistaken that’s in part how they came up with micro facet models, or at least to verify their accuracy. Take this paper for example https://www.cs.cornell.edu/~srm/publications/EGSR07-btdf.pdf
Real life measures are also useful for inverse rendering.
Yes I didn't have time to write a chapter about camera sensors, the human retina, and the whole image formation process. I'll definitely expand on this later on.
Again, thanks for the thorough and constructive answer, it doesn't come off as mean, on the contrary I appreciate it :)
I strongly agree that teaching is absolutely the best tool for learning. I wrote this article in part because I got inspired by the "What I cannot create, I do not understand" quote by Feynman.
I agree that the article is disorganized, and it's not only a feeling: it literally is! I had to shuffle around parts of the chapter about radiometry because I couldn't find the right place for it. I was kind of in a rush because I submitted this article as part of 3blue1brown's summer of math exposition.
I find it interesting that between the 3rd and 4th edition of pbr book, chapters have been reorganized too. Monte Carlo Integration has been moved to an earlier chapter before radiometry, reflection models..etc which I found confusing, but I suppose the authors had a good reason to do that. So I have a lot to learn on how to improve my writing and how to organize ideas into something coherent.
I wrote everything from scratch in javascript and webgl. You can check the entire source code of the article here: https://imadr.me/pbr/main.js
Beaware though, it's a 8000+ lines of code js file that is very badly organized, it's by no mean a reference for good quality code. However I find writing everything by hand easier in the long term than using already existing libraries for example.
The code includes all the math functions, mesh primitive generation, shaders and even a sketchy text renderer using sdf fonts.
If I had to make it again I would use typescript, type errors were the biggest source of bugs.
I might be a stupid question but how hard would that be to explain, and to understand?
If you had to teach an alien from another universe physically based rendering:
- In an exhaustive manner and,
- You're only allowed to explain something if it derives from something more "fundamental" until we reach the most comprehensive physical models we have
How hard would be the math behind it for example? Because realistically in my article the hardest piece of math is a very basic integral
Could I for example start reading these Feynman lectures[0] and get up to speed on everything there is to know about photon-surface interaction?
Thanks for the constructive criticism! A few points I'd like to discuss:
Let's suppose the aim of the article was indeed to learn PBR from first principles, what would it look like? Quantum electrodynamics?
I think there is merit in exploring different physical models for fun and scientific curiosity (like I mentioned in the first chapter). I (personally) feel that it's boring to just dump equations like Snell's law without exploring the deeper meaning behind it. I also feel that it's easier to grasp if you have some surface knowledge about more complex physical models.
I agree however that I probably made many mistakes since I didn't study physics, I'd appreciate any feedback to improve that.
I dislike "Physically Based Rendering: From Theory To Implementation", I personally think that the literate programming approach of the book is way too confusing and disorganized. I prefer the SIGGRAPH talk by Naty Hoffman[0]
I developed this article on firefox desktop and tested it on safari ios, and here I was thinking my testing was exhaustive! I just hope it’s not some obscure webgl bug on android
Anyways thanks for the feedback I’ll look into it
And it shouldn't need to. Making (relatively) simple changes like checking-in fixed versions of dependencies in the code base and abstracting away core logic from the platform layer goes a long way. This works well for video games
I haven't used Rust extensively so I can't make any criticism besides that I find compilation times to be slower than C
The model has multiple layers which are basically a giant non-linear equation to predict the final shaded pixel, I don't see how it's inherently difference from a shader outputing a pixel "at once".
Correct me if I'm wrong, but I don't see how you can simulate a PBR pixel without doing ANY pbr computation whatsoever.
For example one could imagine a very simple program computing sin(x), or a giant multi-layered model that does the same, wouldn't it just be a latent, more-or-less compressed version of sin(x)?
Don't you think a sufficiently advanced model will end up emulating what normal 3D engines already do mathematically? At least for the rendering part, I don't see you can "compress" the meaning behind light interaction without ending up with a somewhat latent representation of the rendering equation
So, I don't think you can make a name for yourself by blogging alone
Or maybe you could if you post bangers like https://ciechanow.ski/
Nice blog either way!
Why?
So this security researcher can keep doing his research without worrying about paying bills. The company gets cheap security audit, the researcher gets money, everybody wins
I would agree with everything you said, If we ignore the fact that the company has billions of dollars in revenue and paying a bug bounty is a drop in the ocean for them.
Do you think it's reasonable to say the the ethics of what you call "extortion" should depend with how big the company is? I'm obviously not advocating for making a small company pay more than they can manage
I assumed they offered a bounty for bug disclosure? You mean to tell me that an internet provider with 11 billion in revenue can't pay someone that found a bug impacting all their clients?
Frankly he could have just sold the vulnerability to the highest bidder
I spent 10 minutes playing around with this https://oimo.io/works/water3d/
Wow this sounds incredible. How do people get exposed to this bacteria? Is it common enough to be a concern and how simple is the treatment?
I had to take some weird psychometric assessment (GIA/PPA) for a software engineer position
If your hiring process includes the weird IQ-test thing, it kinda sucks
The article looks really interesting, can't wait to dig in!
Side note: the articles on compilation also seem to be good and simple to understand, especially the one about code generation (which is a topic that other articles somehow always skip)
If everything is verified locally couldn't you also change the firmeware verification key, and whatever verifies the firmware verification..etc ? Isn't it turtles all the way down?