I'm a C# ASP.Net programmer by trade and I've spent plenty of time doing 2D applications in XNA.
I was feeling adventurous yesterday and figured that I should start going on a long-postponed voxel (3D pixel - basically a cube) project, and decided to use OpenTK to take a stab at it.
My computer is a recent build, with an overclocked Intel i7 2600k and an NVidia 560Ti, in addition to 8GB of RAM.
It runs Crysis on 'very high' with full AA at a stable 30fps. Point being - it's pretty fast.
I wasn't really sure what to expect with OpenTK's performance, but given my card's OpenGL 4.1 support I suspected that it'd be pretty sweet.
Voxels are essentially polygons (or maybe six - one for each face) and the only figure that I've seen lately that relates to OpenGL's polygons/second fillrate is the Nintendo 3DS with 15.3mil , so I figured that my machine could crush that number without breaking a sweat.
Currently, and it's probably an issue of how I've coded it, it's only just managing to draw a 100x100 grid of cubes at 60fps (taking around 14ms per frame).
This shouldn't be the case, as it's only drawing 3.6mil faces per second by my math (100 * 100 * 6 faces * 60 fps).
I'm now thinking that it's due to not using OpenCL-accelerated code, and spending overhead on the C# rather than sluggish hardware performance.
Either way, if anyone could take a look at it and give me some pointers, I'd be very grateful.
I've posted my code here.