Hacker News new | past | comments | ask | show | jobs | submit login

This is a quite nice article and an interesting project.

Related: A coworker of mine wrote a 3d accelerator with FPGA that outperforms some of the early Voodoo -era 3d accelerators. It could do higher triangle counts at a higher resolution with multisample antialiasing. The demos he had looked quite spectacular.

He is a software engineer and he gave us a very nice demo and a very enlightening presentation on how writing software differs from writing FPGA code.

Unfortunately, since we work for a GPU company, it's unlikely that he'll ever release the work to the public. There's no way the company lawyers would allow that and releasing it without consulting them first could result in him losing his job :( Despite that he did it on his own time and did not use any company IP.




If he wanted for the code to be available, though, he could give it to someone else (who doesn't work for a GPU company), and that person would then release it (and would own the copyright).

He would not gain more "reputation points" because his name wouldn't be linked to the project, but that would avoid for the code to be forgotten in the cellar while nobody cares.


Yeah, you could always try to circumvent or work around the company lawyers. But quite frankly, it's not a gamble you want to take when you've got wife, kids and a mortgage to worry. And a job you like. It's just not worth it for him to try to make it happen.

I've tried to encourage him to try to convince the company lawyers to give him the OK to release it but he's no too keen. Like most engineers, he is allergic to lawyers and isn't too interested on sharing the code anyway. It was "just" a learning experience for him.


Would you be able to share platform/performance numbers? I've actually been thinking about doing something like this but I'm coming from the opposite direction (hardware guy who's always wanted to learn more about 3D graphics).


Going at 640x480, 32 bits per pixel, 4x multisample antialiasing at 60 frames per second, he could do triangle counts that "beat the first Voodoo cards" (I don't remember the figures). Voodoo2 could push out 3 million triangles per second, so that would be around 50k per frame. In the same ballpark but something a bit less than that.

Output was bit-banged VGA signal into a cheap-ass monitor.

Like the first Voodoo-era 3d accelerators, it was a triangle rasterizer with Z-buffering and perspective correct texture mapping. Ie. there was no 3d transformations done on the chip, they were done on the CPU. The limiting factor in the demos was actually the ARM CPU (synthetic on the FPGA) which couldn't push enough triangles to keep the GPU busy.

It was a tile based rasterizer (in two stages: coarse and fine) rather than a scanline rasterizer (like SW rasterizers in the Quake era).

This is pretty much all I can remember about it.


That's very helpful, thanks. The company I work for doesn't do any 3D graphics, so I should be able to open-source my implementation (if and when it gets done).




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: