3 ms·
As someone who has done a fair amount of OpenGL programming, I can honestly say that it's becoming a convoluted spec. It's no longer elegant or something that
by zackmorris 13y ago
As someone who has done a fair amount of OpenGL programming, I can honestly say that it's becoming a convoluted spec. It's no longer elegant or something that should be aspired to IMHO, YMMV. The principles are generally sound, just not the implementation or API.
I would rather see an FPGA being used as a general purpose DSP with the ability to run shader code in software, perhaps inside a runtime written with Go or Erlang. I've thought about doing a kickstarter to emulate, say, a 256 core processor with an FPGA. The main problem is that the last time I wrote VHDL was in 1999 and I've become too accustomed to writing mainstream code which mostly involves putting out fires.
I think a highly parallel multiprocessor like this to make a break with the past and explore more scalable approaches like ray tracing would be good for the world. And by ray tracing I mean "not rasterization". I realize that RT has its faults and that there are many other approaches that do things like soft lighting/shadows and depth of field but they are difficult to explore now because processors are still effectively single threaded.
- pjc50 13y agoOr you could buy a 72 core processor: http://www.tilera.com/products/processors/TILE-Gx_Family http://www.tilera.com/products/processors/TILE-Gx_Family (it's not as powerful as it sounds; memory bandwidth ends up being a major constraint, and programming all those cores effectively is hard in itself)
- zackmorris 13y agoYa I was excited about the Xeon Phi too: http://www.intel.com/content/www/us/en/processors/xeon/xeon-phi-detail.html http://www.intel.com/content/www/us/en/processors/xeon/xeon-... I just don't know if anything from Intel will be cost-effective because it's going to be over-engineered to not compete with existing products. For example caching is largely useless with something like Go that is sending copies of data around. I don't know if it's possible to use copy-on-write with so many cores. It's just a hunch but I think multiprocessing in the future is going to use something like content addressable storage and not worry so much about a complex router or interconnect. Only the most naive algorithms will probably win out, so basically chop the screen up into a bunch of 16x16 squares and send them to each processor. Also I think it will be really awesome to be free of middleware and be able to run physics or AI directly. I've even thought about trying to write something to emulate a bunch of cores on my computer so I can at least play with the algorithms until affordable hardware arrives.
- jwatte 13y agoIntel tried exactly that with Larrabee. Didn't work out.