David Brin Fan Fiction
Art and 3D Graphics
Chmeee's 3D Objects
BMRT & VC++
Million Dollar Band
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
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
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
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
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
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
Download Pose2POV 1.1
||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.