Drawing voxel pixels?

So, I’ve looked at games like Voxatron and that weird little thing that Kevglass made, and I liked his strange 2d-3d voxel pixel things enough that I wanted to create something like it.

So far as I’ve found, I need a 3d grid of cells, and the cells can be occupied by a kind of block with a color. However, the way to “cull” the blocks (Not draw those behind others to avoid drawing pixels) escapes me.

For that matter, I’ve looked into rendering with pixels, and I’ve seen a couple methods, such as OpenGL’s glDrawPixels() method and using a BufferedImage and modifying its RGB buffer. But both were apparently not very good in the optimization department. For reference, the area that must be rendered in pixels is 640 x 480.

I can easily create a 3d grid system with chunks (also dubious, but seem necessary) but I’m not sure how to translate 3d grid into the individual pixels.

Can anyone give me any pointers to methods of rendering, and how to implement them?