When I started my own firm in 2005 I adopted a no-overtime policy in reaction to that. This was more feasible since I was creating and delivering software and this was more predictable and containable than doing VFX itself. This has loosened a bit as the company grew, we got funding, then got other divisions, etc.
I couldn't take the hours, honestly. The place I worked I was ended up sleeping under the desk and doing 20hr days to make crunches.
I think all of this is also completely unnecessary. Work-life balance is necessary if you want to have a family and enjoy it - that means you need weekends off, and you need standard business hours. Otherwise, it messes up daycare, evening children events and the split of chores between you and your significant other (which will lead to fights.)
I looked at your code and saw only .cpp files. I had to open your triangle renderer, and there it was - you'd inlined your x86. I don't think I ever inlined my assembler, even though I was using Borland C++ like you. I think I must have linked it in somehow?
Is your old code posted anywhere? I think many of us were working from the same example projects/tutorials. I wouldn't be surprised if the code is incredibly similar.
> I had to open your triangle renderer, and there it was - you'd inlined your x86.
Being able to inline asm was amazing. The code:
https://github.com/bhouston/3DMaskDemo1997/blob/master/src/N...
Being able to access C++ variables on the stack directly from assembler to read and to write to them was so nice. You get the speed benefits without adding significant complexity.
I did find one of my commercial releases on the Internet the other day because it was on a magazine cover disk in 1994 which saved it from obscurity :)
I would love to be able to properly decompile my old demos, but it would require a bit of work.
For phong rendering, I remember I interpolated the full vector along each line (with an "integer" square root table stored in memory, taking 512k or something), it was fun times :-)
I implemented real-time Phong rendering on 486SX (no FPU) with a chrome-like effect (see https://github.com/thbar/demomaking#obez-1995) and this still gives me chills.
I met great people back then, and had a ton of fun.
My only regret is that source code is lost, and decompiling properly is not easy!
The demo scene is a bunch of kids having fun and learning algorithms primarily. To tell them that they need to write unit tests is ridiculous. They will have time to learn about large scale architecture and unit tests in time - by why not try to have fun for a bit?
Shadertoy isn’t meant to be reusable/production code. It is meant to be a fun computer graphics algorithm place. A place to experiment and learn.
We can take the fun out of coder later - that is what paying jobs are for. Why not have some spaces for fun?
Booze Design - Edge of Disgrace
Specially in commercial gaming.
My 1997-era renderer did reflections, bump, color textures, etc all in 16 bit using x86 assembler rasterizers, no floating point, with 256 color palette - source can be found from that like:
https://twitter.com/benhouston3d/status/1260346800176877571
Another demo from the same era (1996), also includes source: https://twitter.com/benhouston3d/status/1272530352070971397
Nearly 30 years later I am still doing 3D graphics, contributing to Threejs (which is run by mrdoob, another demo scene coder), glTF, VFX software, https://web3dsurvey.com and have run a computer-graphics company for the last ~20 years: https://threekit.com