It’s been a bit of a crazy week again over at FDL towers (I *say* tower – we’re on the top floor of an office building) and I left it late to decide on a topic for this week while we hold off a little more on talking about our current projects!
Looking back on the previous posts the open source libraries and sales posts were certainly very popular so along similar lines I’m going to talk about a couple of sources of useful code snippets (and slightly larger) I’ve found around the web which could be good reference for learning or even directly solve a problem in certain situations. As always be aware of license stipulations with any code you’re using online however. Again this isn’t by any means a complete list but hopefully a couple will be new to some of you!
- Bit twiddling hacks – some very useful bit twiddling tricks that you may not be aware of, some of these operations now have specific instructions for them on chipsets but these are still a fun set to look through and hopefully understand
- John Ratcliff’s Code Suppository – posted in the open source libs post and some of these are slightly larger than snippets
- Paul Nettles memory manager, a drop in debug memory manager which was has been popular for a very long time, we certainly got some ideas from this for our own debug memory manager and we still rely on these occasionally today when we run into issues
- A blog I’ve only discovered recently but has a very well written ‘efficient Gaussian Blur’ article with code . Look forward to some of the other posts over there.
- Another memory manager related blog, the BitSquid guys are posting some very interesting content and I thought this one on custom memory allocation could be useful
- A very neat looking UTF-16 <-> UTF-8 en(de)coder, haven’t tested but the results look fairly well investigated.
- Sean Barrett (almost a great name!) has some great public domain code available that I originally ran across over at the Molly Rocket forum http://mollyrocket.com/forums/viewforum.php?f=16
- Saw a link to this the other day, a single header command line option parser with pretty much all the features you’d ever want
- Another recent discovery, a GLUT alternative for Linux, Windows, Mac called PEZ
- http://prideout.net/blog/?p=44 – The same blog has a few python based mesh generation snippets
Couple of the big boys now..
- Microsoft – Some of the DirectX SDK code is a little scary side in terms of the handling of certain Win32 edge cases (in terms of handling input/windows/resizing/multiple monitors) but if you’ve not had to work through the pain yourself before you should check out the DX SDK for tips. Of course it’s a great reference for certain graphic techniques as well
- PowerVR – Providers behind a lot of the graphic / combined chips used on our modern smartphone devices, the SDK contains some useful reference code and emulation for PC
- NVIDIA – As well as PowerVR there are some great references (and free online versions of the very good GPU Gems books) at NVIDIAs developer site
- ATI / AMD – Took me a few seconds to track down the right page but ATI have also always worked very openly supporting developers
- GameDev.net still looks to be going strong and has some good articles / snippest within the reference section
- Stackoverflow is a very popular site and for non-games work I’ve done it’s normally shown up issues I’ve encountered higher up google searches than the iPhone reference materials. Note there is also a game developer stackexchange site (i.e. based on the same system as stackoverflow) which will hopefully increase in quality overtime.
- Mike Actons site CellPerformance including his concurrency and data design sketches, a very good read if you’re thinking about highly optimal code writing.
- Charles Blooms blog – previously mentioned this in the things we’ve been enjoying list but looking at my Google Reader profile I probably ‘star’ more of this blog than any other, some really interesting insights
- Paul Bourkes geometry, surfaces, curves , polyhedra page – a great reference
- GafferOnGames – Some great notes on physics and networking from Gaffer (Glenn Fiedler) someone I remember hanging around with on IRC many moons ago
- Emil ‘Humus’ Perssons pages – lots of different graphic technique samples for DX and GL.
- Wolfgang Engels blog – less in terms of code snippets but some great graphical technique discussion and even includes a few iPhone tips
- Bit of a shout out for iDevBlogADay as well here as it’s getting some really high quality posts, I was about to list some favourites but I think there have been so many high quality posts recently it would be unfair!
Not so small snippets
- Aras Pranckevičius has two great projects available from his great work on Unity, both very useful and ones I’m hoping to integrate with our work very soon
- Lock-free structures library, looks pretty interesting.
- .mischief.mayhem.soap.blog written by Maciej Sinilo contains some really interesting articles and some useful looking code snippets including a Win32 crash reporting, memory tracing system, his own ‘STL’ type classes and thread pool job system.
Things we’ve been enjoying this week
- Surviving Oktoberfest and not being thrown out of iDevBlogADay by mysterycoconut for my unfinished scheduled post on Saturday.
- Google announced webP this week a new image format for the web using VP8s intra frame encoding to encode static images as an alternative to JPEG. Jason Garrett-Glaser is one of the x264 developers and writes a great blog in which he’s posted about this as well
- Further reaction from Charles Bloom http://cbloomrants.blogspot.com/2010/10/10-02-10-webp.html
- Canabalt tuning article from Semi Secret