Building a 3D Engine in Perl, Part 1 (perl.com)
Basic framework, SDL_Perl and OpenGL set up, simple depth-buffered objects.
Building a 3D Engine in Perl, Part 2 (perl.com)
Rotating the view, time and animation, events and keyboard interaction.
Building a 3D Engine in Perl, Part 3 (perl.com)
Screenshots, moving the viewpoint, simple lighting, subdivided object models.
Building a 3D Engine in Perl, Part 4 (perl.com)
Benchmarking, profiling, display lists, bitmapped text, frame rate counter.
Examples for 3D Engine in Perl series (.tar.gz, 30 KB)
Includes all code and screenshots from all published articles in the series in one tarball for your convenience.
opengl-benchmarks 2008-07-28 (.tar.gz, 18 KB)

In this archive are two very low-level OpenGL benchmarks, plus some common code and data that abstract away a fair amount of boilerplate and allow the benchmarks to use either the SDL_perl or POGL bindings to OpenGL.

trislam is a crude but effective method for testing the overhead and maximum performance of various OpenGL methods for pushing triangles. It also handily demonstrates that, with proper care, Perl's performance limitations need not be a bottleneck for a 3D application. I have been able to achieve results within a few percent of theoretical maximum performance for my hardware, in both vertex/triangle and pixel throughput.

topspeed measures the maximum rate at which several very simple OpenGL operations can be performed, either in frames or megapixels per second. Even on relatively old (OpenGL 2.x class) hardware, the default window size will give tens of thousands of FPS, so I suggest using ./topspeed -? to look at the help for changing the window geometry.

PIGGE (PIGGE Interactive Graphics and Games Engine)
PIGGE is my most recent general 3D engine design, as opposed to one-trick ponies, benchmarks, research tests, and so on. Development on the Perl version began a few years after I stopped working on T3D, when OpenGL had become commonplace, SDL was all the rage, and it was clearly time to start over from scratch with a 3D engine based on more modern technology.
T3D
T3D was my first general 3D engine design in Perl. Unfortunately it was written before I had access to OpenGL hardware, and as a software-only interpreted renderer, it was slow. Very slow. Still, it could output to animated GIF images or a TK canvas, used PDL to handle the linear algebra, and generally taught me what not to do the next time. It's also pretty much the only thing you'll find here that doesn't require SDL_Perl or POGL to provide an OpenGL binding.
opengl-benchmarks 2008-07-28 (.tar.gz, 18 KB)
Description in Benchmarks above.
Examples for 3D Engine in Perl series (.tar.gz, 45 KB)
Includes all code and screenshots from all published articles in the series in one tarball for your convenience.
PIGGE 0.1.3 (.tar.gz, 91 KB)
This is just a tarball of my working tree (with VCS dirs and other effluvia removed), the same one linked from the PIGGE downloads area. Eventually I'll convert this mess over to some decent packaging, but given the current hacker-friendly state of the code base this will have to do. You will need my Config::Multilevel and Status modules to get this running; they can be downloaded from the modules section of the urandom page.
SDL_perl 1.x
Wayne Keenan's SDL_perl for Win32 1.x releases have their own homepage on this site. Please look there for updates and downloads. NOTE: You should probably be using Kartik Thakore's SDL Perl 2.x builds instead!