(author of the article)
100% agree. As others have said, a good graphics programmer works with tech artists and artists. Frankly, graphics programming is largely a role of service to enable those people to do what they want to do, or help create what they envision.
People mentioned Inigo Quilez as an example of a graphics programmer who is also an artist. He is a power house and a unicorn.
I personally like playing music / programming audio more, which is a good ground for learning DSP things - useful when for instance, you want to push your rendering noise into the high frequencies, so a low pass filter is more effective at denoising.
Yeah. Sampling bias is fixed with Cranley Patterson rotation.
For real time rendering, blue noise is the thing to use though. At low sample counts you can't converge so you should hide the error perceptually instead.
Game development tends to make code more in this style, half way between C and C++.
The reasoning of this is primarily the need to avoid hidden costs in the STL, but to be honest is also just momentum & culture :)
Heya ladberg:
* Were you doing direct light sampling (next event estimation)? If so that would explain it. It's the most naive path tracing you can imagine, so it's easier to understand.
* Or, it might be how shadertoy is vsync limited to 60 fps which means each pixel only gets 60 samples a second, when it could be getting ~64x as much before i see any slowdown.
See step 1 of the 3 step bulleted list, but yeah, it generalizes to 2 steps with a shared initialization value.
Maybe worth noting that if your world has some known starting state (eg after map load), it might be worth the client and server using that as the implicit initial state, even when a client joins a game in progress.
I hear you. It's hard to know what a good benchmark would be. Do you have any ideas for what you'd like to see measured and possibly what it's compared against?
Does this source code help you much with that? It only deals with wave files but can read / write 8, 16, 24 or 32 bit wave files, at whatever sample rate, with however many channels.
I really wish someone would make a header only C++ audio library, that would be soooo nice.