Startide 3D Software
Science Fiction
David Brin Fan Fiction
Babylon 5
Star Trek
Isaac Asimov
Spacer Worlds
Art and 3D Graphics
Online Store
Chmeee's 3D Objects
3D Gallery
Animated GIFs
Web Design
Software Links
About Me
Million Dollar Band
OpenGL Projects


I wrote this C++ program to show off texture mapping and transparency effects in OpenGL. I got the physics algorithm from a galaxy collision simulator program written in BASIC, that I found in an old issue of Astronomy magazine. Like the original BASIC program, my program computes the effects of gravity on simplified galaxies made of concentric rings of particles. The original program displayed each particle as a pixel. In my program, each particle is represented as a square with a starry transparency map, making them look more realistic.


The Hash Animation: Master (A:M) 3D software uses color maps to determine the direction hair lays in its fur effects. When I got the idea to write this program, there was no built-in tool to create those control maps in A:M itself, so I decided to build an external program to do the job. The simple test program that I have so far lets the user select a color map file. The selected map is displayed on a rectangular plane, which is scaled to match the map's aspect ratio. The program then displays evenly-spaced "hair guides" across the map. The program reads the map's color value at the point beneath each hair guide, and uses that value to rotate the guide in the same direction that fur would lay in A:M. There is also a puck-like user interface object that moves with the mouse. In the finished program, it will eventually be used to "comb" the hair, by modifying the underlying color map.

This project illustrates texture mapping, and projecting two-dimensional mouse moves onto a rotated plane.


Painter 3D to Poser Fix

This zip file contains the needed rsr file that lets you connect Poser 4 to the free version of Painter 3D that came with it. This file is not mine. It's copyrighted by either MetaCreations, or possibly Curious Labs, who currently owns Poser. Since Meta's support page doesn't have this fix, I'm hosting a copy of the file.


PoseRay: An Alternative to Pose2POV!

New! Pose2POV has been buggy for a long time. I've felt guilty about it for almost as long, because I just haven't had the time to fix it. My guilt is lifted now, because has written a program called PoseRay to do the same thing my program does. So, if you can't get Pose2POV to work, please go to the PoseRay page to download the alternative. Version 1.2 is even better. He also has a gallery of sample renders you can look at.

GUI Pose2POV 1.0

GUI Pose2POV is a new Windows front-end for the classic Pose2POV. It turned out to be surprisingly easy to throw together on a weekend afternoon. You'll find everything you need to run GUI Pose2POV in this file.

Download GUI Pose2POV

Installation Instructions: Run the file you downloaded, named gp2pinst. Go ahead and click the Unzip button, because I've already set things up to put the files where they need to be. Run Windows Explorer. Use it to navigate to c:\bin, the directory where you extracted GUI Pose2POV's files. Double-click GUIPose2POV.txt for further installation instructions.

Can't run GUI Pose2POV? If you're getting a message like this: "A required .DLL file MFC42D.DLL not found", you need to get the MFC42 DLL. Just download and run it, and GUI Pose2POV should work.

I'm sorry to say I still haven't fixed the bugs in Pose2POV. That will be a much bigger job, but one I hope to do someday.

Pose2POV 1.1

Pose2POV is a command-line utility for converting the OBJ mesh and MTL texture files exported by various versions of Poser to POV-Ray format, with complete texturing. It includes options for exporting UV texture-mapping info to MegaPOV (formerly UV-POV) or the SuperPatch. It even reminds you to put the required image files in your path, and reminds you when to convert a non-compatible texture file (like a JPEG or TIF) to PNG. Another option allows Pose2POV to add the specular information from the MTL file to your POV-Ray textures, although I wouldn't use it for ordinary Poser figures, because it makes them look too shiny.

I've included source code for UNIX and DJGPP users.

New to Pose2POV 1.1: Ekkehard Kraemer modified the source code, improving the speed and stability of the Linux source code. It was a little buggy before. After I made a minor tweak to his code, the resulting Windows executable is also faster and more stable than version 1.0. Also, version 1.1 can now read OBJ files without the accompanying MTL files, and still generate a usable texture include file. This comes in handy for Poser 3 users.

I updated the documentation file, since a user was confused about how to scale a figure to match a scene. I added a "Tips" section to explain the process.

My Plans for Pose2POV 2.0: I'm currently porting Pose2POV to Perl. (Try saying that three times fast! ;-) ) I have several reasons. Perl is very portable and easy to program, it already has built-in text parsing that will make reading the OBJ and MTL files a lot more robust than parsing in my C version, and it should have less of the weird little memory problems that have been causing crashes -- or at least, less crashes that are caused by me... ;-) As far as I know, every major operating system has a Perl interpreter that will be able to run my Perl port. Diligent Perl promoters have seen to that. :-)

I also hope to learn enough about Renderman RIB files to add a RIB file and shader exporter for Pixar's PR Renderman and BMRT. I also plan to give the program better animation support.

Download Pose2POV 1.1 The Windows executable
pose2pov.txt Documentation (also included in
Updated! Source code, in ZIP format. Tweaked and improved for Linux by Ekkehard Kraemer
pose2povs.tgz Source code, in TAR/GZIP format. Tweaked and improved for Linux by Ekkehard Kraemer Visual C++ 4 workspace

Ray Benjamin
"Wow! It works great. I'm really impressed at how easy this thing is."

Screen Shots
[Chimp] The Zygote chimp, complete with texture maps. I used Poser 4 to give him a standing pose, exported him to Wavefront OBJ format, then used Pose2POV 1.0 to convert him. I edited the POV texture a little, just to make the image map easier to see, then used UV-POV 3.1 to render.

Head home to the Index Last modified:
June 12, 2003
E-mail me: