PoseRay
Import 3D models into POV-Ray and Moray
v3.8.7 - March 13, 2005
Web: user.txcyber.com/~sgalls/
Email: flyerx_2000@yahoo.com
Contents
Introduction
PoseRay is an utility to convert 3D model meshes into POV-Ray
scenes and Moray UDO files. PoseRay can also edit the materials and
act as a simple transformation tool for the geometry. PoseRay can
export the modified model into a new OBJ file for use in other 3D
programs. A list of main features is shown below. (Check the
history for changes with the latest
version)
Geometry:
- 3D Preview of geometry using the OpenGL ® API.
- Import mesh geometry from OBJ, 3DS, RAW, LWO, POV, INC and DXF files.
- Special handling of DAZ Studio and Poser scenes saved as OBJ models.
- Surface subdivision: smooth and flat.
- Export a complete POV-Ray scene from imported model including lights and camera.
- Export of Moray v3.5 UDO files.
- Export Wavefront OBJ files with the applied transformations and materials
- Geometry transformation: Translate, rotate, scale and axis transpose with automatic normal update.
- Normal transformation: smooth with crease angle and flip.
- Vertex transformation: change winding order, weld, split by crease.
- UV transformation: transpose, flip U, flip V, scale/translate U, scale/translate V.
- UV creation in planar, cylindrical, spherical and cubic schemes.
- Displacement mapping on original mesh
- Easy setup of placeholders for POV-Ray geometry.
Materials:
- Reads materials from OBJ (MTL), LWO, 3DS and DXF files.
- Import materials from Poser 4.03 or higher scene files
- Material editor including color, surface finish, texture, transparency and bumpmap properties.
- Support for POV-Ray texture definition for each material
- Blending of 2 textures in the same material
- Built in resize, conversion and inversion of maps.
- Built in file search for maps
- 3D preview of applied materials.
Lights + Camera:
- Interactive camera and light setup.
- HDRI simulation
- Import Camera and lights from Poser 4.03 or higher scene files
- Light editor with options for color, intensity, position, rotation, light type and shadow.
- Camera editor with options for angle, type, position, rotation and focal blur.
- Camera presets.
Requirements
Install / Uninstall
Install:
- Uncompress archive and place all the files in the same
directory.
- Run PoseRay and it will tell you that the POV-Ray executable
has not been selected. Go to the POV-Ray output tab, select the
render options sub-tab and in the location of the POV-Ray
executable put in the location of pvengine.exe.
Uninstall:
- Delete poseray.exe, poserayhelp.htm, pr_manual*.gif,
pr_manual*.jpg, Preview_Sky_*.tga, poseray_plane.obj, and
poseray_plane.mtl. All these files should be in the same
directory.
- The file custom_pov_texture_lib.inc is in the PoseRay directory
and will contain any custom POV-Ray textures you saved
- PoseRay does not use the Windows registry and all of its
settings are saved in poseraysettings.ini which can also be
safely deleted.
PoseRay Main Tabs
PoseRay is broken into main tabs. Each tab is used for a different
step in the conversion process. The bottom of PoseRay's window
shows the status messages and any warnings.
Click on it to expand it. The status bar also shows the progress
indicator. The image below shows the typical components of
PoseRay.
Input Tab:
- Load Model will load the selected file (or files) into
PoseRay. PoseRay remembers the past 20 files loaded. For details on
what files can PoseRay handle see this section.
- Merge Model will add one model at a time to the geometry
already loaded.
- Batch process will prepare several input files for
POV-Ray batch rendering. All the current options will be used in
the output. See this section for more
details and this tutorial.
- Reorient 3DS and DXF files. These formats default
to z being up. PoseRay defaults to y being up. This option will
rotate these models -90 deg around the x axis.
- Extract from OBJ files: Camera, Placeholders, Lights and
lines When PoseRay exports an OBJ file it can save the camera,
lights and placeholders that were used in PoseRay while previewing
the model. This option allows you to reimport them into
PoseRay.
- Crease angle (deg): [angle] PoseRay will automatically
calculate the normals in case the model does not have them.
Preview Tab:
This tab has a toolbar and 4 sub-tabs on the left that control
options, camera, lights and placeholders.
Toolbar buttons:
- Show tools will show/hide the sub-tabs on the left.
- Background: Changes the background of the preview
window. When selecting one of the POV-Ray skies PoseRay will ask
you to create a preview of the sky to use it in the preview. If the
preview has been created the sky preview will be loaded
automatically. The background types are as follows:
- Color: sets the background to a solid color
- Map: uses a spherical map on the background
- S_Cloud1 .. S_Cloud5: Predefined POV-Ray skies.
- O_Clound1 and O_Cloud2: Predefined POV-Ray skies mixed
with the background color.
- Blue_Sky, Bright_Blue_Sky, Blue_Sky2, Blue_Sky3, Blood_Sky,
Apocalypse: POV-Ray sky pigments applied to a custom sky.
- Clouds, P_Cloud1, P_Cloud2, P_Cloud3: POV-Ray sky
pigments mixed with the background color.
- Shadow_Clouds, T_Cloud1, T_Cloud2, T_Cloud3: POV-Ray sky
textures mixed with the background color.
- Starfields: POV-Ray texture with a starfield.
- For skies that mix with the background using red=0/255,
green=64/255 and blue=128/255 as a background color works
best.
- PoseRay stores the sky previews as TGA images in poseray.exe
directory.
- Save preview... will save the current preview to a JPEG
or TGA file. PoseRay will ask you if you want to antialias the image before saving it to smooth the edges of the image. To raytrace in POV-Ray instead use the POV-Ray output tab.
Preview Options sub-tab:
Camera sub-tab:
- Poser Camera... will import the camera that was saved
into a Poser PZ3 or compressed PZZ file. The Poser cameras
recognized by PoseRay are MAIN, AUX, TOP, BOTTOM, LEFT, RIGHT,
FRONT and BACK. If the camera in the Poser file is not one of these
PoseRay will default to the MAIN camera. If the camera read is one
of TOP, BOTTOM, LEFT, RIGHT, RIGHT or FRONT then it will have no
perspective. PoseRay will match the horizontal field of view that
was used in Poser. When a Poser camera is read it is automatically
added to the camera presets.
- No perspective will toggle the perspective of the
camera.
- Use focal blur will make POV-Ray use blur in the
camera.
- Show focus limits will display two grid planes
(magenta - back and cyan - front) that will
delimit the focused area seen by the camera. The distance to each
plane is referenced to the center of the geometry.
- Recenter camera will make the camera rotate about the
center of the geometry
- Reset camera will set the camera to an angle and zoom
that will show the entire geometry
- Zero roll will set the camera such that the y-axis is
vertical.
- Snap to closest quadrant will align the camera such as
the world axis frames the current view.
- You can save camera presets by setting the camera as
desired and pressing [+] and give it a name.
- You can recall camera presets by selecting the camera
from the list.
- Camera settings can be saved to any exported OBJ file. PoseRay
will be able to read the camera back from the OBJ file. If you are
setting up a scene and need several camera settings you can use the
Camera Presets to save camera settings for later use. To
save a new preset just set the camera as desired and press save
camera preset. You can recall that preset by selecting it from
the drop down list. The camera presets will be saved when PoseRay
closes.
Lights sub-tab:
- PoseRay uses a default light that is attached to the camera.
When you add lights to the scene this camera light is
disabled.
- Poser Lights... will import the lights from a Poser file
(.PZ3, .PZZ). PoseRay will recognize parallel and spot lights with
variable intensity, color and with or without shadows.
- Delete all will remove all the lights and use the camera
light only
- Light intensities add up to [ ]% will distribute the
intensity of the lights to match the value given.
- Multiply all intensities by [ ] will scale the intensity
of all the lights.
- Lighting on toggles the lights on the scene. All
geometry is full bright when lights are disabled.
- Show light locations will toggle the preview of the
light positions.
- Press [+] to add a light and [-] to delete it
- To change the type of light change the type tab. You can use
parallel, spot or area lights. Area lights are made up of an array
of point lights and allow you to have soft shadows. In PoseRay
there are 3 parameters that control area lights:
- Jitter will mix the shadows of area lights to decrease
shadow banding.
- Size controls how big the area light is in 3D
space.
- Number of lights. The total number of lights in an
area light. More lights will give better soft shadows but with longer render times.
- Light settings are saved to any exported OBJ files. PoseRay
will be able to read these lights back from the OBJ file.
- Right clicking on a tab or light property will allow you to
apply it to all lights
Placeholders sub-tab:
- PoseRay allows you to put boxes, spheres, cones or cylinders
marking POV-Ray scene elements that you may want to modify within
POV-Ray.
- Placeholders are defined by their shape, color, size, rotation
and position of their center.
- Rotation, translation and scale are referenced to the center of
the placeholder
- Display placeholders will toggle the visibility of all the placeholders.
- drop 1 will place the top of the placeholder at the bottom of the geometry
- drop 2 will place the bottom of the placeholder at y=0
- Center will place the center of the placeholder at the center of the geometry
Materials Tab:
This tab controls the materials properties for the loaded geometry.
Each material is divided into surface properties, bump map,
blending (or transparency) map and POV-Ray material. All the
material settings will be saved to any exported POV or OBJ files.
For any of the material properties right-clicking on an entry will
allow you to set the same property value on all the materials.
Double click a material in the list to edit its name.
The top of the tab has options that apply to all materials:
- Poser mats... In case you loaded an OBJ file form Poser
this will read the material definitions from a Poser file (.PZ3,
.PZZ, CR2, .CRZ, .PZ2, .P2Z, .HR2, .HRZ). It will read the map
names, colors and other settings and assign them to the materials
list. See the limitations section below
for more details. It is preferred to use PZ3 or PZZ formats. If a
Poser file calls for a BUM file PoseRay will search for the
corresponding JPG, TGA, BMP or TIF file with the same name in
the same directory. Bumpmap BUM files are proprietary to Poser and
cannot be loaded by PoseRay or POV-Ray but usually an image of the
bumpmap in another format is included with most Poser models. If the file is a
Pose scene (PZZ or PZ3) file then PoseRay will ask if you want to load the camera
or lights from it also.
- MTL mats... will read a Wavefront MTL file and apply the
new materials in it.
- Find maps... will do a global search of every map
used.
- Randomize will make all materials have a random
color.
- Groups->Materials will delete the materials list and
create a new set of materials based on the groups list.
- Invert Mapping will swap surface 1 and surface 2
properties for all materials.
- Automatically update same maps for all materials will
automatically update the map used in several materials when it is
changed. This option only works when changing from one map to
another. It will not auto-assign for materials with no previous
maps or vice versa.
- Show thumbnails will show/hide the preview
thumbnails.
- Resize converted maps to [ ]x[ ] controls the output
size of the maps that are converted with the convert button.
If left unchecked the map will not be resized when converted.
- On the left all the materials are listed. Select a
material to show its properties. To edit the name double click the
name on the list.
- Before loading any maps keep these points in mind:
- See this section for image types that
PoseRay can preview.
- POV-Ray can only use gif (non-interlaced), tga, iff,
ppm, pgm, png, jpg, tiff (non-LZW compressed) and bmp.
Special builds of POV-Ray may be able to read other formats.
- If a map is applied to a surface that is not UV mapped the map
will not be displayed properly.
Pigment & Finish 1
- Color will set the surface color of the material.
- Ambient is the color the material would have if there
were no lights. Ambient is usually black unless it is a glowing
surface or similar.
- Specular is the color of the light that the highlight
will have at its brightest.
- Glossiness is how much of the highlight covers the
surface. A polished surface would have high glossiness while a
rough surface would have low glossiness.
- Transparency is how much light is let through the
material.
- Reflectivity is how much of the surroundings the
material reflects. To multiply the reflection by the pigment color
enable metallic.
- Image Map will put a texture on the surface. Surface
must have UV coordinates to show properly.
- Mix with diffuse color will allow the map to mix with
the base color.
- Make this material invisible button will set the
highlight to black, glossiness to 0, transparency to 100%, mix to
0% and remove all maps from the current material. This will result
in the material being completely invisible.
- Copy from pigment 2 will copy all the properties from
pigment 2 into pigment 1.
Pigment & Finish 2:
Bump map:
- Invert colors and resave will create a negative of the
current map and allows you to save it to disk.
- It is recommended for best results that you use gray scale
images for bump maps.
- The default bump size of 1.0 should be enough for most
purposes.
Blending (Transparency) map:
- When blend mapping will apply pigment 1 where the map is black
and pigment 2 where it is white. The material in-between will be
linearly combined.
- Invert pigment 1 and 2 switches all the properties
between the two pigments and finishes.
- Invert map and resave will create a negative of the
current map and saves it to disk.
- Invert transparency will swap transparency values
between pigments 1 and 2.
- Invert specular will swap specular colors and glossiness
values between pigments 1 and 2.
- It is recommended for best results that you use gray scale
images.
- If you want transparency mapping only then load a map
into the blending map tab and make transparency 1 and 2 either 0 or
100% according to the map.
- To view an example of blending see below
Pigment 1 map |
Pigment 2 map |
Blending map
Black=pigment 1
White=pigment 2
|
Transparency 1=0%
Transparency 2=0%
|
Transparency 1=0%
Transparency 2=100%
|
Transparency 1=100%
Transparency 2=0%
|
POV-Ray Texture:
- For some materials sometimes it is better to use the built in
POV-Ray textures. For example Polished _Chrome for a car bumper or
Glass for a windshield.
- Check here to use this texture for this material will
make PoseRay use this material only. Otherwise it will use the
values in the other material sections.
- Three ways of defining a POV-Ray texture:
- Full texture definition will list the POV-Ray predefined
textures. Select the texture name and click on Apply. The
texture will appear on the text box.
- Texture Components allows you to define the 3 basic
POV-Ray texture components: pigment, normal and finish.
Scale will control the size of the texture features.
Size by the normal entry is to control the maximum size of
the bumpmap pattern you will be using. If you select the
Color pigment a color selector will appear by the name so
you can change it. Select from the list of presets and click on
Apply. The texture will appear on the text box.
- You can type in the POV-Ray texture also. Any POV-Ray
command is valid (including comments) and will be stored with the
material.
- Pressing the Insert button will append a new texture in
the text box at the cursor location.
- Preview in POV-Ray will call POV-Ray and render a simple
scene using the current material to give you an idea of how it
looks.
- Save as map... will call POV-Ray, render a square
texture at a resolution of 512x512 and save it. This can be useful
to preview the POV-Ray material in PoseRay. You can do this by
creating the texture, saving it as an image map and then loading it
as a map for the material.
- Copy will copy the contents of the text box into the
clipboard
- Clear will delete the contents of the text box
- Paste will paste any text that is on the clipboard into
the text box at the current cursor location.
- The text box supports standard Windows editing such as cut
(CTR+X), paste (CTR+V) and mouse drag.
- By using several textures in layers you can create new
materials. The first texture will be on the bottom of the material
and the last one will be on the top. If you use several POV-Ray
textures in a material make sure that the ones on top of the bottom
one have some transparency.
- If you setup a custom POV-Ray texture that you want to use in
later models you can save it by pressing Save as custom
texture. The text will be saved into an include file
(custom_pov_texture_lib.inc). The texture will be added to the
bottom of the full texture definition list.
- To recall a custom texture select it from the full texture
definition list and click on Insert. This will paste the
texture code into the text box at the current cursor location
- The material definition will be saved if the model is exported
to OBJ.
- POV-Ray has many ways of setting up a texture and the
predeclared sets mentioned above are just a simple way of defining
a texture. Check section 3.4 of the POV-Ray 3.6 documentation for
more details.
Geometry Tab:
The way transformations are done in PoseRay is by selecting the
groups/materials that you want to change and then pressing
Update. The best way of using the geometry tab is to change
a single item at a time. To set all the values in this tab back to
the default click on the Reset values button. Reset
camera after update will recenter and rearrange the camera to
show all the geometry automatically.
Before updating the geometry select the groups/materials that you
want to modify. If you leave any groups or materials unchecked
after leaving the geometry tab they will not be exported or shown
in the preview.
Faces, Vertices and normals:
- Transform Here the geometry can be transformed by
flipping the coordinates, scaling, rotating and translating. A
negative scale will mirror the geometry. The normals are
automatically updated with scaling and rotation.
- Calculate Normals will force any two faces that have an
angle larger than the crease angle to appear to have a sharp edge.
If the angle is less than the threshold the edge between the faces
will appear to be smooth. This is accomplished by creating or
removing normals at the face edges. No vertices are created with
this option. The crease angle ranges from 0 to 180 degrees. If it
is set at 0 then all the faces in the model will appear flat. If it
is set to 180 then all of the faces will appear to be smooth.
Smoothing only works on faces that share edges. If two faces seem
to share an edge and smoothing does not change their appearance
then most likely the edge is not shared and each face has its own
edge. To fix this you can weld vertices (PoseRay will suggest to
smooth when you check on weld vertices). There are 4 methods to calculate normals:
- Normal sum calculates
the normals at each vertex by direct average of the normals from
the faces sharing that vertex.
- Angle-weighted sum will weight
the average according to the face angle at the vertex. (This method usually gives the best results)
- Unique normal sum uses the unique normals at each vertex to calculate the average.
- Inverse area sum weights each normal at a vertex by the inverse of the area of its face.
- Split faces by crease angle works similarly to smoothing
but it does not create new normals. Splitting will break any two
faces that share an edge by duplicating the shared vertices. It
uses the crease angle entry for the normals.
- Weld vertices will merge any two vertices that are
within a tolerance. The tolerance is automatically calculated for
each model but you can change it. The larger it is the longer the
weld procedure will take. It is recommended that smooth be active
when welding vertices so that redundant normals are removed.
- Flip normals will invert the orientation of the
normals.
- Reverse vertex winding will reverse the numbering of the
vertices around a face.
- To reverse the face orientation check both Flip normals
and Reverse vertex winding.
UV:
- Transposing will rotate and flip the texture on the model.
- Inverting U or V will flip the texture appearance on the
model.
- Scaling up U or V will decrease the texture coverage on the
model and even appear as a repeated texture. Decreasing the scaling
will enlarge the appearance of the texture. Translating a texture
will move it along the surface of the model.
- Pressing Fit to unit box will change scale and
translation such as the selected groups and materials will have UV
coordinates from 0 to 1 on both directions.
- Refresh will update the UV mapping preview
- You can do simple UV mapping of the model. Enter the main axis
components (ex: y axis = 0,1,0) and select method.
- Planar: the mapping is perpendicular to the chosen
axis
- Cylindrical: the mapping is around the chosen axis (no
caps)
- Spherical: mapping is done around the chosen axis
- Cubic: mapping aligned with the 3 main axis.
- See examples below
Map |
Untextured sample box
|
Planar mapping perpendicular to vertical axis.
Note that the edges of the map stretch along the other faces. |
Cylindrical mapping around vertical axis.
Note that there is no vertical distortion.
|
Spherical mapping along vertical axis.
Vertical distortion is visible.
|
Cubic mapping |
Subdivision:
PoseRay can subdivide a model and smooth its appearance.
Subdivision will result in each original face broken into 4
sub-faces and the addition of 3 vertices per face. Not all models
are suitable for subdivision and results will vary.
The number of subdivisions control how many times each triangle is broken.
For example 3 subdivisions on a 5000 face model will result in 43=64 faces
per original triangle. This would result in a total of 64*5000=320000 faces after subdivision.
It can be easily seen that the model could get very large with just a few subdivisions.
Usually 1 subdivision should be enough for most cases.
There are two subdividing methods:
- Smooth is subdivision method based on the modified
Loop's algorithm. After successive number of subdivisions the
surface will resemble a continuous NURBS surface. Geometry
subdivision automatically subdivides UV mapping. If the original
grid is extremely coarse the UV mapping may become distorted.
- Keep mesh creases will not smooth over existing sharp edges in
the geometry.
- Smooth mesh edges will smooth any free edges in the
geometry. May distort seams in some cases
- Smooth UV edges will smooth any free edges in the UV
map
- Smooth material boundaries will maintain and
smooth the edges between materials during the subdivision
- Only work on subdivision faces (if present). LightWave
models can contain faces that need subdivision to be shown
accurately. Leaving this on will only subdivide those surfaces
only. If the model does not have any subdivision surfaces then this
option has no effect and all the faces will be subdivided
- Flat will keep the surface shape intact. This is useful
for increasing the resolution of the mesh before displacement mapping. UV mapping is
automatically subdivided with this option.
Below are a few examples of the smooth subdivision options used on
the same mesh.
Original mesh.
|
Subdivided 2 times while keeping
the creases and edges intact.
Mesh ended up stretched along the
edges.
|
Subdivided 2 times ignoring creases and edges.
This setting is more appropriate for an organic-type model.
|
Subdivided 2 times while keeping
creases and modifying edges.
This is the desired effect with sharp
edges and smooth surfaces.
|
Displacement
This deforms the grid by moving each vertex along its normal
according to the color of a map at the UV coordinate of the vertex.
The model must have texture (UV)
coordinates for displacement to work. For the
deformation you can choose to move a vertex along the normal at
that vertex or just some of its components. If the model does not
have UV mapping you can create it in the UV sub
tab.
The amount of displacement can be controlled by setting the values
at pure black and at pure white. The detail on the deformation will
be dependent on how dense the model is. You can use subdivision to increase the resolution of the
mesh before it is displaced. See this
section for the types of images that PoseRay can use. Usually
gray scale images are the best for displacement.
Tip: to get an idea of how much to displace click on the status
messages and in the expanded status message box click on geometry
stats. This will give you the size of the geometry loaded. Start
with small increments.
Typical displacement steps are shown below.
Undeformed box 1 unit side
with cubic UV mapping
|
Mesh of undeformed box
|
Displacement map.
|
To get a better deformation the
mesh was flat subdivided twice
|
Mesh deformed with map
Black = 0.1 displacement
White =no displacement
|
Shaded box with deformation applied
|
HDRI Simulation
PoseRay can use a high dynamic range image to simulate
environmental illumination by creating a set of lights with the
intensity and color of the surroundings. Usually HDR images (or
probes) are in radiance format (.hdr) and are Light Probe (angular
map) mapped. PoseRay uses Portable Float Maps (.pfm) using
Latitude-Longitude mapping. They can easily converted using
HDR Shop v1. Some HDR
images can be found at www.debevec.org/Probes/.
Uffizi probe
using angular
mapping
|
Uffizi probe using
Latitude-Longitude mapping
needed by PoseRay and converted
by HDR Shop
|
Uffizi probe used in a
POV-Ray scene for
lighting and background.
|
HDR probes can contain areas where the color intensity is higher
than 100%. These usually indicate sources of illumination.
Steps to convert an HDR probe into usable lights in PoseRay:
- Get HDR Shop v1 from www.debevec.org/HDRShop/
- If the HDR probe needs remapping and conversion then start
HDRShop. Load the image you want to use and if it is not using
Latitude-Longitude mapping (see above for example) go to
Image|Panorama|Panoramic Transformations... and in the
source image format select Light Probe (angular map) and the
destination image format select Latitude-Longitude and click
OK. A new remapped image will be created. Save it as a Portable
Float Map file (.PFM). You can use non-HDR probes with HDR Shop
too by loading them into HDR Shop, remapping and saving them to
PFM.
- In PoseRay's HDRI tab click on load HDR probe... and load the
.PFM image just converted. To extract the lights click on
<<Extract Lights into scene This will place the new
lights into the lights tab. Using the default search criteria will
work for most images.
- If you want to see the image on the background of the scene
click on save & set as Env. map.
- If the HDRI probe is very large you can resize it in HDR
Shop
- If the scene is not aligned with the background the way you
want it you can rotate the scene around y in the geometry tab
During the light extraction PoseRay will search the image for areas
of illumination that match the search criteria. The available
options are
- Sampling. Enter the maximum number of lights that you
want to extract. The lights will be placed around the scene using
an uniform random distribution.
- Light Properties.
- Check Remove previous lights will clear all the lights
before the new ones are extracted from the image.
- Outdoor scene will make all the lights have a white
color with varying intensities to match sunlight.
- Lights can be with or without shadows and the threshold can be
entered as intensity. This tells PoseRay what sources are strong
enough to create shadows. Usually 90% or higher is best.
- The type of lights that PoseRay creates can be selected.
Usually shadowless lights are best kept parallel or point. For
smooth shadows (but longer render times) area lights work best for
shadow lights.
- To keep the lights from saturating the scene they need to be
scaled. Increase the value of this if the scene is too dark and
decrease if it is too bright. Keep in mind that the PoseRay preview
of the lights may not be too accurate so you may want to do a quick
render of the scene to test first.
- Search region. Limits the search to an area of the
image.
- Intensity/Color Range. To get sources of illumination
search for areas where the intensity is greater than 100%.
Searching from black to white will scan all possible colors. If the
scan does not return any lights then decrease the lower intensity
limit.
POV-Ray Output Tab:
You can save all the POV files needed to render the scene by
clicking on Export files. Optionally you can automatically
render them by clicking on Export & Render files or edit
them in POV-Ray by clicking on Export & edit files.
File options (default - single scene)
PoseRay creates all the files needed to render the scene in POV-Ray. For example: with an input file
filename.OBJ PoseRay would create 4 files.
File options (Batch/animation mode)
For a tutorial/example on loading an animation from Poser (or
similar program) see this section. The current camera and lights will be
used on the POV-Ray output. There are two ways of rendering
multiple files: Using a batch file or using a POV-Ray file with clock/frame keys.
- Use Batch file will create a BAT file that will
sequentially call POV-Ray, render and exit for each file in the
batch. This is better suited for a set of unrelated models.
- Use a POV-Ray scene with clock/frame_number is suited
better for animations where the input files have the same materials
and consecutive naming. Enter the name for the POV-Ray file. This
also will be the root name of the rendered images.
- Clock from [ ] to [ ] controls how the clock variable
changes from start to finish of the animation
- Initial frame is the frame at the start of the
animation. If the files start with file3.ext then Initial frame is
3.
- Input file name prefix. Input files should be named as
prefix#.extension where # is a number. PoseRay tries to get the
prefix from the input files but check that it is right for your
case.
- Common object name. When using the clock/frame_number
method the input mesh is changed with every frame and the object
name in the POV-Ray file is kept constant.
- Common input material file if you need to use a single
material MTL file instead of the materials listed on each
model.
- Use a common POV-Ray material file if you want a single
material file for the exported POV-Ray files instead of one for
each file. Makes it easier to edit a material that affect many
files.
Scene Element options:
- Use Mosaic. This will preview the render at several low
resolutions before the final render is produced. This is helpful in
previewing the render quickly before it is finished.
- Use Radiosity is included using the options that I
though worked best for PoseRay output. POV-Ray radiosity has many
options and you can browse the radiosity tutorial in section 2.3.7
of the POV-Ray 3.6 manual for more details.
- Use an Spherical Camera will render the scene into an
image that can be wrapped around a sphere. Useful for creating
environment maps.
- Include placeholders will add the preview placeholders
into the POV-Ray scene as boxes, spheres or cylinders.
- Mesh type can be chosen as either mesh{} or mesh2{}.
Mesh2{} is smaller and parses faster but mesh{} can display the
geometry separated into groups.
For large
models mesh{} can lead to extremely large files.
- Line thickness will be used if the geometry has line
entities. Usually a very small number should be enough. Since I do
not know of a built in line command in POV-Ray PoseRay will use
cylinders to simulate the lines. This option will increase the
render time.
- Simulate cartoon appearance. This is a quick material
trick to simulate the appearance of cartoon shading in the POV-Ray
render.
For better results use a single
light with this mode.
- Fix TIFF Orientation will help with POV-Ray 3.5 since it
rotates TIFF textures. POV-Ray 3.6 does not have this problem.
Using the conversion tool in PoseRay's
material tab you can convert all your TIFF maps into TGA or JPEG
images.
- Below are examples of renders with different settings. The sky
was Bright_Blue_Sky, one parallel light and ground active.
No radiosity. Renders quickly but
unlighted areas may be too dark.
Adding fill lights improves appearance.
|
Radiosity. Takes longer but the
lighting is better.
|
Cartoon with highlights on.
PoseRay sets the material
properties to simulate cartoon rendering.
|
Render options
- If you want to automatically render the images from PoseRay you
need to tell it where the POV-Ray executable (pvengine.exe) is in
your computer. If you are using a modified executable then use that
instead.
- The resolution of the render image can be set to an arbitrary
size or it can have the size of the preview window by clicking on
Get preview window size. If the aspect ratio of the image is
unchecked then the output image will not match the preview window
but it will not be distorted.
- Recursive anti-aliasing will give out slightly smoother
results than non-recursive at the expense of longer render
times.
- Enabling alpha channel in the rendered image will result
in an image that is transparent where the background color is
present. As far as I know, from the available formats, only TGA and
PNG can store the alpha channel transparency information.
- Render can be paused will make it possible for you to
pause and continue long renders in POV-Ray. Note that if you want
to render to an image that already exists and this option is
enabled it will result in POV-Ray not rendering anything new
because it will think that the new render is a continuation from
previous image.
- If you are a POV-Ray power user you can set up extra
initialization settings that will be saved to the filename_POV_main.ini
file. Check the POV-Ray documentation for available ini options. If
you want to use your special set of ini commands and skip the ones
that PoseRay creates then check Use this initialization commands
only.
Export options (after pressing save):
- Overwrite files (except render) will overwrite all
exported files but not the render. PoseRay will always ask if you
want to overwrite the render.
- Include file paths to image maps should be enabled if
the maps are located in a different directory than the one used for
the POV-Ray files.
- Copy all maps to the same directory will make copies of
all maps used by the scene and place them in the same directory
where the POV files will be saved. Note that when this option is
enabled the paths to the images are not included in the output
files.
- Fix non-ASCII characters in map names removes all non
alphanumeric characters from the map filenames.
- Fix max resolution to [ ]. This will resize the maps as
they are copied. Largest dimension will have this resolution. All
resized maps are converted to JPEG format.
Moray Output Tab:
PoseRay creates 3 files for Moray. For a typical 3D model file
filename.obj these would be as listed below.
- filename_moray.udo: contains the UDO model to be
imported into Moray.
- filename_moray.inc: contains the 3D mesh.
- filename_moray_mat.inc: Contains the material
definitions (optional).
Misc. options:
- If you want to use Moray's material editor on the model you will
need to check Disable the original materials so that PoseRay
will not link and export the materials list.
- Simplify the Moray UDO mesh to a bounding box will create a box
with the dimensions of the geometry. This is useful if the model is
very dense and Moray has a problem trying to display it.
Export options (after pressing save):
- Overwrite files (except render) will overwrite all
exported files but not the render. PoseRay will always ask if you
want to overwrite the render.
- Include file paths to image maps should be enabled if
the maps are located in a different directory than the one used for
the POV-Ray files.
- Copy all maps to the same directory will make copies of
all maps used by the scene and place them in the same directory
where the POV files will be saved. Note that when this option is
enabled the paths to the images are not included in the output
files.
- Fix non-ASCII characters in map names removes all non
alphanumeric characters from the map filenames.
- Fix max resolution to [ ]. This will resize the maps as
they are copied. Largest dimension will have this resolution. All
resized maps are converted to JPEG format.
Important notes using
Moray, POV-Ray and PoseRay:
- The path where the POV-Ray include files are typically saved
must be in the POVRAY.INI file. Start POV-Ray and in the tools menu
click on Edit | Master povray.ini and add this entry to the
end of the file: Library_Path=xxx where xxx should be the
location where the include files are. For example I have this entry
at the end of my povray.ini file: Library_Path=C:\Work\3D
since I place the files that PoseRay exports there. So this way
when Moray calls POV-Ray to do a render using a PoseRay-created UDO
file it will find all the needed include files.
- I recomend always closing POV-Ray before rendering from
Moray.
- When you save your scene in Moray do not use the root of the
UDO filename because it may interfere with the .INC files created
by Moray. Just use a different name for the Moray .MDL file. For
example if you imported Box.udo into Moray do not save the
scene as Box.mdl, use another name.
- If you include an UDO model in Moray and use some of Moray's
materials in other parts of the scene you may encounter problems
with the material names. To avoid any naming conficts any Moray
material used should be renamed. For example Moray's Bronze_Metal
conflicts with POV-Ray's Bronze_Metal. You can rename Moray's
material to Moray_Bronze_Metal.
- If POV-Ray or Moray hangs when rendering from Moray you should
uncheck the Auto-Load Error File menu item and check the Auto-Show
Parse Messages menu item in POV-Ray's Editor menu. Note that the
Editor menu is only displayed if a POV file is currently open for
editing.
OBJ Output Tab:
Poseray can save a Wavefront OBJ file and its materials containing
all the modifications done in PoseRay. Saving the scene as an OBJ
file from PoseRay will save all the scene information such as
lights and camera as well as materials. Reloading the OBJ file will
restore the entire scene if desired.
For a input file filename.obj the corresponding output files will
be:
- filename_mod.OBJ: contains the modified Wavefront
model.
- filename_mod.mtl: contains the materials used in the OBJ
file. You cannot edit the name of this file since it is
automatically changed with the OBJ name. All the material
properties will be saved including map names, blending and POV-Ray
textures. Specular will be saved as an exponent from 4 to
4096.
Misc. options:
- Save normals will save the normals into the OBJ file. Some
programs require this information for properly displaying the
model.
- Save texture coordinates (UV) will save the texture coordinates
into the OBJ file. These are needed if the model is texture mapped.
- Save Light and Camera information will save these settings into
the OBJ file as comments. The file will still be compatible with
other programs and PoseRay will still be able to read the camera
and lights back when loading this file.
- Save Placeholders will save all the placeholder shapes into
the OBJ file as comments. PoseRay can read this information back
when loading this file.
- Replace non-ASCII chars and spaces in material/group names into
underscores. For example a material called skin:2 will be
renamed skin_2. This is useful if the importing program has
problems with the original naming.
Export options (after pressing save):
- Overwrite files (except render) will overwrite all
exported files but not the render. PoseRay will always ask if you
want to overwrite the render.
- Include file paths to image maps should be enabled if
the maps are located in a different directory than the one used for
the POV-Ray files.
- Copy all maps to the same directory will make copies of
all maps used by the scene and place them in the same directory
where the POV files will be saved. Note that when this option is
enabled the paths to the images are not included in the output
files.
- Fix non-ASCII characters in map names removes all non
alphanumeric characters from the map filenames.
- Fix max resolution to [ ]. This will resize the maps as
they are copied. Largest dimension will have this resolution. All
resized maps are converted to JPEG format.
Tips &Tutorials
Rendering a 3D model in POV-Ray:
- Start PoseRay and on the Input tab
click on the desired model (or models) and click on Load
Model.
- After the model loads you can see the model in the preview tab. Set the camera and lights as
desired. You can also modify the materials and geometry.
- If there are warnings that maps are missing you can use the
search tool in the materials tab to find them.
- Once the options have been set the model can be rendered by
selecting the POV-Ray Output tab and
clicking on the Export & Render files button.
Importing a 3D model into Moray:
- Make sure Moray is setup properly to work with POV-Ray This section has more details.
- Start PoseRay and on the Input tab
click on the desired model and click on Load Model.
- After the model loads you can see the model in the preview tab. You can also modify the materials and geometry if needed. Camera and lighting is not
used for Moray export.
- Go to the Moray export tab
and press Export Moray files. Default options should work for most
cases
- Run Moray and import the UDO file just created. Moray may ask
you to add the directory where the file is, just press OK to add
the location of the file.
Rendering a Poser scene in POV-Ray:
- Create the scene in poser and save it. (PZZ or PZ3 format)
- In Poser go to File | Export | Wavefront Object and save the
scene as a Wavefront OBJ file. Use the default options.
- Start PoseRay and load the OBJ file just created.
- After the model loads go to the materials tab and load the
materials from the Poser file you created. Once the file is read
PoseRay will open a search box. Select the directory from where you
want to start searching for the maps used. Typically this will be
the /poser/runtime folder. PoseRay will store the directory name
for future use and can be recalled by clicking on the directory
drop down list.
- After loading the materials PoseRay will ask you if you want to
load the camera and lights from the Poser file also. Click yes to
both.
- Go to the preview tab and make sure the camera is the way you
want it.
- Check that there are no missing or incompatible textures by
looking at the warning text on the status tab. Click on the status
tab to get more details.
- Optional: If the geometry has normals that make sharp
corners look dull you may want to go to the geometry tab and
recalculate the normals using a crease angle between 45 to 70
deg.
- Go to the POV-Ray export options tab and press Save &
Render (defaults should work for most cases).
- More POV-Ray export details in this section.
- If you want to save the scene as it is in the preview tab go to
the OBJ export tab and save the model. The file will keep the
camera and lights from the scene.
Rendering a DAZ Studio scene in
POV-Ray:
- Export the scene from DAZ Studio using File | Export and select
Bryce 5 Object.
- Start PoseRay and load the OBJ file just created.
- PoseRay then will show a map search dialog. Since DAZ Studio
exports transparency and bump maps that cannot efficiently be used
in POV-Ray then the original images must be used. Here select where
DAZ Studio keeps its maps. For DAZ Studio 0.9.12.11 this directory
is usually C:\Program Files\DAZ\Studio BETA\content. PoseRay will
store the directory name for future use and can be recalled by
clicking on the directory drop down list. If the model in the scene
was originally for Poser then the directory will be something like
c:\Program Files\Curious Labs\poser 4\runtime\textures\ . It all
depends on where you installed the Poser model
- Check that there are no missing or incompatible textures by
looking at the status messages at the bottom.
- Optional: If the geometry has normals that make sharp
corners look dull you may want to go to the geometry tab and
recalculate the normals using a crease angle of around 45 to 80
deg.
- Go to the preview tab and make sure the camera and lights are
the way you want it. DAZ Studio lights and camera are still pending
until the release of the DAZ Studio SDK.
- Go to the POV-Ray export options tab and press Save &
Render (defaults should work for most cases).
Using PoseRay to import models
into Poser/DAZ Studio (and other auto-smoothing programs):
Poser 4 and DAZ studio automatically smooth the meshes and
disregard any normal information. PoseRay can break a model so that
sharp edges are kept even after full auto smoothing. This is
important if you want to import a model into Poser/DAZ Studio and
keep the proper appearance of any sharp edges.
- Start PoseRay and load the model that you want to import.
- Go to the geometry tab after the model loads.
- If the file is DXF, RAW or POV-Ray mesh (POV, INC)then check Weld equal
vertices only and press update.
- Go to the preview tab and check that the face orientation is
right. Check show normals in the preferences tab. If normals
are shown pointing out of the surface the geometry is oriented
right.
- Go to geometry tab and if the normals are not pointing
out of the surface then check both Flip normals and
Reverse vertex winding only and press update
- In the geometry tab select a normal crease angle. Usually 35 to
60 degrees works best. A crease angle of 0 will make the model have
flat faces and 180 will make the model appear fully smooth.
- To preview the appearance of the smoothed model check
smooth only, press update and go to the preview tab.
Increase the angle if you want the surface to be smoother.
- Once you have settled on a crease angle select split
faces and press update.
- Change material properties if desired.
- Export the modified model as a Wavefront model from the
OBJ Output tab
- Import the modified model into Poser or DAZ Studio as a
Wavefront model. The surface of the model should be smoothed out
properly.
- Keep in mind that if the model uses any texture maps Poser will
not load them if they are not in the poser/runtime/textures
folder.
- Since splitting faces creates extra vertices the modified model
will have a larger file size than the original.
Importing a Poser scene into Moray:
- Make sure Moray is setup properly to work with POV-Ray.
This section has more details.
- Create the scene in poser and save it. (PZZ or PZ3 format)
- In Poser go to File | Export | Wavefront Object and save the
scene as a Wavefront OBJ file. Use the default options.
- Start PoseRay and load the OBJ file just created.
- Once the model loads go to the materials tab and load the
materials from the Poser file you created. Once the file is read
PoseRay will open a search box. Select the directory from where you
want to start searching for the paths of each of the maps used.
Typically this will be the poser/runtime folder.
- Check that there are no missing or incompatible textures by
looking at the warning flag on the status tab.
- Go to the Moray export tab and press Save. Default options
should work for most cases
- Run Moray and import the UDO file just created
- You can get more Moray details in this section.
Rendering a Poser Animation (Batch
processing)
- Create the animation in poser and save it. (PZZ or PZ3
format)
- In Poser go to File | Export | Wavefront Object and save the
animation as a set of OBJ files. This may take a long time for
dense meshes and numerous frames.
- For this tutorial I will assume that the OBJ files are called
walk_0.obj, walk_1.obj, walk_2.obj, ... walk_60.obj with a
common material file walk.mtl and a scene file
walk.pz3
- Start PoseRay and load the first of the OBJ files just
created. (walk_0.obj)
- Once the model loads go to the materials tab and load the
materials from the Poser file you created (walk.pz3). Once the file
is read PoseRay will open a search box. Select the directory from
where you want to start searching for the paths of each of the maps
used. Typically this will be the poser/runtime folder. Check that
there are no missing or incompatible textures by looking at the
warning flag on the status text. This step will ensure that the
materials are properly set and that there are no orphan image
maps.
- Go to the preview tab and set the camera to what you want.
Camera and lights are not animated so this will be fixed during the
animation.
- Go to the lights subtab and load the lights from the Poser
file.
- Go to the OBJ Output tab and save the OBJ and MTL files. This
will contain the updated material file for the animation. It has
the right paths for all the image maps. In this case PoseRay will
default to walk_0_mod.obj and walk_0_mod.mtl.
- Now from the input tab select ALL of the OBJ files from
the animation and click on Batch Process. Do not select the one
created in step 8.
- For a Poser animation select Use a POV file with clock.
For the POV file you can leave it at poseray_batch_render.pov This
will be the root name of all images created by POV-Ray for this
batch.
- Make sure that the input file name prefix is right. Using the
files above the prefix should be walk_
- If you are using the clock variable during the animation set
it. Clock = 0 for the first frame (walk_0.obj) and clock = 1 for
the last frame (walk_60.obj)
- Initial frame is the first index of the input files. For the
files in this tutorial Initial frame = 0 because the first input
file is walk_0.obj
- Common object name can be left unchanged
- For the common input material file select the material file
saved in step 8 (walk_0_mod.mtl).
- You can leave the default POV-Ray material file as a common
file.
- Click on Save&Render to create the files. The render files
created by POV-Ray will be poseray_batch_render0.ext to
poseray_batch_render60.ext
- Once POV-Ray is done use your favorite program to put all the
rendered frames into a movie. You can use VirtualDub for this purpose.
Changing the materials
in POV-Ray:
PoseRay can edit some of the material properties but POV-Ray allows
you much more flexibility and power. If you want to use some of the
nicer materials available in POV-Ray you can modify the *_mat.inc
file created by PoseRay. For example the following is a definition
from a typical material include file for a material called
SkinBody_1:
#declare SkinBody_1= texture {
pigment {color rgb <1,1,1> transmit 0} //color}
texture {pigment{p_map4} //image map
normal{p_map5} //bump map
finish {phong 0 phong_size 30 ambient rgb <0,0,0> reflection{0}}
}
If you want to use one of the built in POV-Ray glass textures you
can change the definition to look like
#include "glass.inc" //T_Glass1 is in glass.inc
#declare SkinBody_1= texture {T_Glass1} //use T_Glass1 for the SkinBody_1 material
Creating a morph target for
Poser using the displacement mapping in PoseRay:
- In Poser load the model that you want to apply the morph
to.
- Make sure that the model has its joints zeroed and that the hip
and/or body positions and rotations are zero.
- Export the body part that you want to apply the morph to as a
Wavefront OBJ file. Leave the options in their default state.
- Load the body part into PoseRay and go to the geometry tab and
load the displacement map that you want to use. The map will use
the UV coordinates so it will use the same template as a
texture.
- Enter the values and click on update geometry from original
geometry button in the geometry tab. Change values and update until
you are happy with the results. Remember that Poser models have
very small extents so start with a small amount of
deformation.
- Save the modified geometry into a OBJ file. The filename can be
changed in the export options tab of PoseRay. No need to export
pov, inc or udo files.
- Go back to Poser and select the body part you want to morph.
Load the file saved in PoseRay as the morph target and name the
morph. Change the dial in Poser to get the morphed geometry.
How do I merge an exported
model from PoseRay into an existing POV-Ray scene?
PoseRay can create complete POV-Ray scenes but if you have an
existing scene where you want to place a converted mesh then check
Only export geometry and material files in the files section
of the POV-Ray tab. This option will export POV files with the
geometry and the materials only. In your existing POV-Ray scene you
can add an include statement at the top of the scene file and call
it in the code as shown below. Once the model is loaded as an
object{} you can manipulate it inside POV-Ray as any other object.
The example below assumes the geometry was saved into
poseraymodel_POV_geom.inc and the materials were saved into
poseraymodel_POV_mat.inc. Make sure that POV-Ray can find them when
it runs so best place to put it is in the same dir as the main
scene file. The materials are called from poseraymodel_POV_geom.inc so
there is no need to include an additional call for
poseraymodel_POV_mat.inc.
//top of pov file with the existing scene
#include "poseraymodel_POV_geom.inc" //file that PoseRay exported
.
.
//POV-Ray commands here.....
.
.
//call the model that is inside poseraymodel_POV_geom.inc.
//In this example it is called PoseRayModel (Capitalization matters)
object{ PoseRayModel } //modifiers are accepted
.
.
//end of pov file
How to create a height field
from an image map
- Load the model poseray_plane.obj. It is in the directory where
poseray.exe is located. This plane is centered at the origin, 1
unit by 1 unit and has UV coordinates from 0 to 1 along each
edge.
- Go to geometry tab and flat subdivide the model several times.
This will create a high resolution mesh from the plane.
- Go to the subdivision subtab and select the image map you want
to use. Enter a min and max displacements.
- Press update to deform the mesh.
- Do a single smooth subdivision using the default settings. This
will smooth out sharp edges.
- To smooth out the appearance Faces, vertices & Normals
subtab and make the crease angle 180 deg and press update.
- The plane is smoothed and deformed. Now it can be textured and
used in a render. You can save it as a OBJ file and used in other
scenes.
- This is a very similar procedure to what POV-Ray does
internally with the height_field object. The main difference is
that with PoseRay you can control how dense the mesh is and that
you can save the deformed mesh.
Tips on reducing amount of
memory needed by PoseRay.
PoseRay can take quite a large amount of memory for very complex
models. It saves triangles, normals, vertices, UV coordinates and
materials among others. The use of the OpenGL ® API also
requires memory for maps and display lists. The settings that will
allow you use less memory are listed below:
- Enable preview. Located on the preview options sub-tab.
Un-checking this option will disable the preview and clear the data
from memory.
- Preview map size [#] x [#]. Located in the preview
options subtab. All preview images in PoseRay are 32 bit. This
means that every pixel in an image requires 4 bytes. So for a
preview map at a resolution of 1024x1024 the needed memory is 4 MB.
If the preview map is resized to 128x128 then the memory needed is
65 KB (less than 2% of the memory needed for the original
image).
- Model subdivision dramatically increases the allocated memory.
Do not subdivide a model if it is not needed.
Tips on POV-Ray render
times
Sometimes POV-Ray parse/render may take a very long time. The
following items will lengthen the time to get a rendered
image:
- Focal blur
- Radiosity
- Transparency and reflection
- Too many lights, very dense area lights, area lights with
jittered shadows
- Anti-aliasing
- High resolution of the render
- High resolution maps
- Very dense meshes
You can reduce the map dimensions by enabling the resizing of all
the maps when you click on the Save & Render button in PoseRay.
There is no point in having a 4000x4000 resolution map if your
rendered image will be about 640x480 and the map will cover only a
small fraction of that image. High resolution is only good for
close-ups.
What types of files can PoseRay handle?
PoseRay will extract polygon meshes from ASCII or binary files. ASCII files can be line
terminated by CR, LF or a combination of them. Besides mesh PoseRay
will extract the material properties and load any image maps that
the model uses if they are present. Although I do not have an
extensive list of 3D applications PoseRay has been tested
successfully with exported models from 3DExploration , Poser, DAZ
Studio, Cinema 4D, AutoCAD, Rhino3D, Wings3D, Anim8or, Xfrog,
Blender, Milkshape, MetasequoiaLE, ppModeler, and UVmapper. It is difficult to
say from which 3D programs PoseRay will recognize the 3D model
files but below is a description of how it handles each format to
give you and idea.
Wavefront (OBJ) (ASCII)
Geometry: Only groups identified with the g
'groupname' entry will be recognized. Each group in the OBJ file is
preserved in the conversion. If the group is reused many times in
the file it will be combined into a single group. PoseRay reads the
vertex data in vertices (v), normals (vn) and texture coordinates
(vt). Weights in these entries will be ignored. The polygon faces
recognized are defined by f or fo statements and can have positive
or negative vertex indices. If the a face has more than 3 sides
PoseRay will break it up into triangles but the vertices will be
left unchanged. The line entities (l) will be also read and if it
has more than 2 vertices it will be broken into line segments. The
least minimum that a OBJ file must contain so that PoseRay can load
it is a vertex list (v statements) and a face list (f or fo
statements) or a line list (l statements). Normals and texture
coordinates are optional.
Materials: PoseRay reads the material names from
the OBJ file. Then it opens the linked material file (.MTL) and
reads the material properties. Materials not used will not be
loaded. If a material is not listed on the mtl file PoseRay will
use a default white material. If there are polygons with no
material calls in the OBJ file then PoseRay will assign a generic
material to them called 'poseray_material' and it will be set to
default white. PoseRay will recognize the following material
commands: Ns, Ka, Kd, Ks, d, tr, map_Kd, and map_Bump. If the
material file is not present then all materials will have a default
white color but will still be separated by name. The specular
exponent (Ns) is taken to be glossiness from 0 to 1 if the file was
exported from DAZ Studio or if the materials were read from a Poser
file. Ns will be assumed to be an exponent for any other OBJ file.
If the model was exported from DAZ Studio transparency mapping will
not be visible in PoseRay but it will work in
POV-Ray.
AutoDesk 3D Studio (3DS)
Geometry: PoseRay will read 3D studio version 3
or later 3DS binary files although it will try to load any 3DS file.
Meshes will be read as a set of triangles linked to a set of
vertices and uv mapping coordinates. Each mesh entry in the file
will be assigned as a group. Normals are automatically calculated
for all the meshes. If the file is truncated PoseRay will try to
close the mesh properly. Parenting information is not read. The
geometry will be rescaled by the master scale in the file.
Materials: PoseRay will read diffuse, bump and
transparency map names (including paths). Surface properties
include color, ambient, highlight, glossiness, transparency,
reflectivity and bump strength. It can read percent or integer
values and 24bit or floating values for colors. If no material
definitions are found in the file then PoseRay will create a new
material and all the polygons will be linked to this new material.
Some 3DS files may have unusually high ambient colors.
LightWave 5 and 6+ (LWO)
Geometry: PoseRay will recognize binary LightWave 5
object (LWOB), LightWave 5 Layered object (LWLO) and LightWave 6
object (LWO2) or later files. The faces will be grouped with the
surfaces if there are no layers present. If the file is layered
then it will group the geometry by layers. If the layers do not
have a name PoseRay will name them "Layer_1, Layer_2,...". Layer
offsets are kept after loading the file. If the model uses
subdividing patches it can be subdivided
in the geometry tab. You can check if the model uses subdivision
surfaces by looking at the statust text window
Materials: For LightWave 5 files the properties
recognized are color, diffuse multiplier, ambient, specular level,
reflectivity, transparency, glossiness, color map, bump map,
transparency map, projection axis, projection mode, map size, map
center and bump amplitude. In case the model is LightWave 6+the
same material properties from a LightWave 5 model are also
recognized plus map wrapping and map rotation. For LW 6+ files the
material is read by blocks and only the first block of each
material property will be read. VMAP, VMAD, Planar, cylindrical,
spherical and cubic UV mapping are supported. After reading a LWO
model you may need to search for the maps using the materials
tab.
POV-Ray mesh or mesh2 objects (POV, INC)
Geometry: PoseRay can read triangle meshes defined as mesh{} or mesh2{}.
UV and normal information is also read. Each mesh is saved as a group.
PoseRay can handle comments and other POV-Ray code.
Mesh types can be mixed in the same file. Note: This format replaces the UDO import.
Models created by Moray can still be imported through the INC files that Moray saves.
Materials: Because of the complexity of the shading language PoseRay
only reads the material entry in the mesh and saves it as a POV-Ray material in the material tab.
PoseRay assumes that the materials are defined separately and identifiers are used in the mesh.
PoseRay reads the identifiers only. Unspecified materials will default to white.
Virtual Reality Modeling Language - VRML (WRL, GZ)
Geometry: PoseRay has a very limited VRML import function that can read indexed face sets from ASCII VRML 1.0 or 2.0 files.
Transformation nodes are recognized and modify the vertices as they are read. Each mesh
node is saved as a group. All polygons must be closed with -1.
PoseRay can also load gzipped files automatically and they will be indentified by the .gz extension.
Materials: Basic material properties are recognized.
Materials saved as DEF statements can also be read. Shape nodes with repeated material nodes will be merge into a common material. Unspecified materials will default to light gray.
AutoDesk Drawing Interchange Format (DXF)
Geometry: PoseRay can recognize ASCII AutoCAD R10 DXF
files or later although it will try to read any DXF file. PoseRay
can read 3DFACE and polygon mesh entities encapsulated by the
POLYLINE entity. Faces with 4 vertices will be broken into 2
triangles. Normals are automatically calculated for both polygon
descriptions. Geometry will be separated into layers or blocks
where each will be a group.
Materials: DXF files only store the surface
color. PoseRay will read the colors by block, by layer or the local
color. Materials will be named ACAD_color_# where # is the
AutoCAD color used. Default AutoCAD colors from 1 to 255 are
recognized. Unspecified/out of range colors will default to white
(ACAD color 7).
Raw Triangle file (RAW)
Geometry: PoseRay can read multiple objects in
raw format. The file must be in ASCII format and contain a triangle
definition per line. A new object will be delimited by having a
name at the start of the group of triangles that corresponds to
that object. For example a RAW file can be defines as shown below.
The x,y,z are the 3D coordinates of the triangles. The RAW file can
be space, comma or tab delimited. Blank lines will be
ignored.
Wheels
x1 y1 z1 x2 y2 z2 z3 y3 z3
x1 y1 z1 x2 y2 z2 z3 y3 z3
x1 y1 z1 x2 y2 z2 z3 y3 z3
.
.
Doors
x1 y1 z1 x2 y2 z2 z3 y3 z3
x1 y1 z1 x2 y2 z2 z3 y3 z3
x1 y1 z1 x2 y2 z2 z3 y3 z3
.
.
Hood
x1 y1 z1 x2 y2 z2 z3 y3 z3
x1 y1 z1 x2 y2 z2 z3 y3 z3
x1 y1 z1 x2 y2 z2 z3 y3 z3
.
.
Materials: Raw files do not contain material information. All
geometry will be linked to a default material. PoseRay can create
materials from the groups in the materials
tab.
All Formats:
Geometry: If there are polygons without a group
name then PoseRay will create a generic group. Any degenerate faces
will not be read and any degenerate normals will be set to (1,0,0).
Image Maps:
PoseRay is able to load the following map types:
- JPEG images (.jpg, .jpeg)
- TIFF (.tif; .tiff)
- GFI fax images (.fax)
- sgi (.bw, .rgb, .rgba, .sgi)
- Autodesk (.cel;.pic)
- Truevision (.TGA; .vst; .icb; .vda; .win)
- Zsoft (.pcx, .pcc)
- Word 5.x screen capture files (.scr)
- Kodak Photo-CD images (.pcd)
- Portable pixel/graymap images (.ppm, .pgm, .pbm)
- Dr. Halo images (.cut,.pal)
- CompuServe images (.gif)
- SGI Wavefront images (.rla,.rpf)
- Standard Windows bitmap images (.bmp,.rle, .dib)
- Photoshop images (.psd, .pdd)
- Paintshop Pro images (.psp)
- Portable network graphic images (.png)
For formats where vector and raster elements are present the raster
part is the only one recognized. If an image has several layers
only the bottom layer will be loaded. Any image type not listed
above will not be displayed but will be kept in the
translation.
Limitations/Known Issues
- Materials
- Sometimes materials in Poser files are not loaded right. This
is related to how the materials are exported by Poser into the obj
files. Poser will name all the figure materials properly but props
that share the same name will be named the same even if they are
different in Poser. For example if there are two boxes each with
its own color in Poser they will have the same material name
(preview) when exported from Poser.
- Specular strength is not supported from DAZ Studio files.
PoseRay assumes that all materials have 100% specular strength
which may result, under some circumstances, in renders that are
glossier than the DAZ preview.
- Reflectivity is not exported from DAZ Studio in OBJ files so reflective
objects in DAZ Studio will not be reflective in PoseRay unless they use a reflection map
- Preview
- PoseRay cannot show accurately all the lights in the scene if
there are too many of them. The OpenGL ® API in Windows is
usually limited to 8 lights. Any more will be merged into 6
weighted global lights. This depends on the implementation of the
OpenGL ® API in your hardware. PoseRay will check for how many
lights it can use before displaying them. This only affects the
preview and the POV-Ray render will use all the lights.
- PoseRay does not show shadows. Because of this the image
rendered in POV-Ray may look darker than the preview in
PoseRay.
- Sometimes transparent textures in PoseRay look strange. The
OpenGL ® API (v1.1) requires polygon sorting for transparency
to show properly and I have not implemented that into PoseRay.
PoseRay can display threshold transparency to alleviate this and
will work most of the time for previewing purposes.
- Bump maps are not shown in the preview.
- PoseRay lighting is by vertex. This means that light
calculations are done from vertex to vertex. If the model has a
very coarse mesh any lighting on it shown in PoseRay will look very
blocky. The render in POV-Ray will not show this limitation.
- PoseRay cannot preview .IFF maps.
- PoseRay only shows reflection as 100% and it is just a rough
approximation of a real reflection.
- Geometry
- Sometimes placeholders do not transform well in the geometry
tab. Add them after any transformations are done.
- PoseRay does not read parenting information from 3DS files.
This may result in models with parts not aligned or scaled properly
when read.
- Under rare conditions the triangulation routine may not be able
to break some folded or crumpled polygons.
- Subdivision of UV coordinates may give bad results on unusual folded meshes
- Not all models subdivide well. Usually organic models work best with default settings.
- POV-Ray
- Materials using PNG maps may show too dark in POV-Ray renders.
You can convert to another format in PoseRay.
- Materials using TIFF maps may show washed out in POV-Ray
renders. You can convert to another format in PoseRay.
- Other
- The batch file method of rendering a set of models may not work
in Windows 98. It was tested only on Windows XP and the behavior of
the batch commands may be different between Windows versions.
- Camera and lights from DAZ Studio scenes cannot be imported
until DAZ releases the SDK for the scene files.
Help!
Warning Messages:
- Help file poserayhelp.htm missing - must
be in PoseRay's directory. The help file was not found.
Check that it was extracted properly from the download
archive.
- POV-Ray executable not set in POV-Ray
render options tab. This is shown the first time you run
PoseRay. PoseRay needs to know where POV-Ray is if you want to
directly render the POV files from PoseRay. Just go to the POV-Ray
tab, render options tab and enter the location of the POV-Ray
executable (pvengine.exe). The filename may be different if you use
a special build of POV-Ray. For example MegaPOV uses megapov.exe
instead.
- Material (materialname): Map
filename.ext is not compatible with POV-Ray. Convert
image. POV-Ray can only use gif (non-interlaced), TGA,
iff, ppm, pgm, png, jpg, tif and bmp. You can convert the map
by going to the materials tab, select the material and convert the
map to a compatible format. Special builds of POV-Ray may be able
to read other formats but PoseRay only checks for these.
- Material (materialname): Map
filename.ext not found. Use search tool in materials
tab. If the map was not found you can use PoseRay to find
it. The search utility is in the materials tab.
- Material (materialname): POV-Ray
may not load filename.tif if it uses LZW compression.
If the map is a TIFF image it may be LZW compressed and POV-Ray may
not be able to use it. You can convert it to TGA or JPEG in
PoseRay's material tab. This warning is not shown if the model is a
DAZ studio OBJ file.
- Material (materialname): POV-Ray
will not load filename.ext because of non ASCII characters
in filename. POV-Ray (at least for windows) will not load
image maps that have international characters in their filenames.
You can resave the file with another name in PoseRay.
- Material (materialname): POV-Ray
may not load filename.gif if it is interlaced.
POV-Ray does not load interlaced GIF images. You can convert it to
TGA or JPEG in PoseRay's material tab.
- There are no vertices in geometry. Check
transformation. This usually happens after welding vertices
with a very large tolerance resulting in all vertices welded into a
single point.
- There are no faces in geometry. Check
transformation. This usually happens after welding vertices
with a very large tolerance resulting in all vertices welded into a
single point and all faces disappearing.
- Geometry extents too large. POV-Ray may
not render it properly. POV-Ray is limited to how far the
camera can be from the extents of the geometry. PoseRay checks that
the geometry bounding box diagonal be no larger than 106
units.
- Geometry extents too small. POV-Ray may
not render it properly. POV-Ray has a minimum tolerance for
the geometry size. PoseRay checks that the geometry bounding box
diagonal be no smaller than 10-6 units.
- Geometry too far from origin. Recenter to
avoid precision loss. PoseRay will loose preview precision
if all of the geometry is too far away from the origin. This is
visible by broken polygons in the preview. Only the preview is
affected and POV-Ray, OBJ and Moray output is not affected.
Internally PoseRay uses double precision. The threshold is at
(magnitude of geometric center)/(bounding box
diagonal)=30000.
Troubleshooting:
Read the limitations first.
Most crash problems can be traced to
outdated video drivers so make sure that you have the latest video
drivers for your hardware.
- Problem:PoseRay does not work or crashes.
- Suggestions:
- If you are using Win95, Win98 or WinME I strongly recommend
upgrading your operating system to at least Windows 2000. The
latest release of PoseRay uses memory management tailored for NT
systems (such as Win2000 or WinXP) and was not tested with WinME,
Win98 or Win95.
- Check that you have the latest official drivers for your video
card. For PoseRay to work Your card must have hardware acceleration
for OpenGL ® API v1.1 or later. Software rendering was not
tested and it is not supported.
- The model may be too close to the viewer. Set Camera to Show
All to re-center the model on the window. If the window is still
black then an OpenGL ® API error may have occurred or you are
running out of memory or resources. Close unnecessary programs and
restart PoseRay.
- If you need to use Win95 you must have the latest libraries for
the OpenGL ® API to work. You can obtain them from the Microsoft support
site. PoseRay was not tested with Win95 so it may not work at
all.
- I have received reports that the combination of Norton System
Works 2000 and Win98 does not work well with PoseRay.
- If another OpenGL application is using the OpenGL ® API PoseRay may not show all the geometry
or maps. I do not know what causes this but it only occurs with DAZ
Studio. Close DAZ Studio before using PoseRay if you are having
problems with PoseRay.
- Problem: I loaded DAZ's Victoria and/or Michael model (or
derived model) from Poser into PoseRay. The eyes have a frosted
appearance.
- Suggestion: Go to the materials tab and load a Poser scene
file with the proper materials or select eyeball and press
Make this material invisible. See the tutorial on how to properly import a Poser
scene.
- Problem: Transparency effects do not look good in
PoseRay.
- Suggestion: This usually happens with overlapping
transparent surfaces. Click on use cutoff on the preview options
subtab. This only changes the preview and does not modify the
maps.
- Problem: Sometimes the POV-Ray render model shows random
dark blocky spots on a surface.
- Suggestion: POV-Ray has problems with coincident geometry.
Two or more triangles taking up the same room in 3D space. Some
models may have this problem and you can use the geometry tab and
deselect the offending material or group before rendering in
POV-Ray.
- Problem: Sometimes the model shows artifacts around the
edges of shadows.
- Suggestion: This is a known problem with mesh geometry in
POV-Ray. See section 2.4.8 of the POV-Ray 3.6 manual for details. I
have found that decreasing the light intensity and using some
filler lights alleviate this problem. Also if the model is low
resolution you may want to subdivide it
to make it smoother.
- Problem: The POV-Ray render does not match the resolution I
typed in PoseRay.
- Suggestion: Make sure that the command line box in POV-Ray's
toolbar is empty before you render.
- Problem: After subdivision the model shows numerous
gaps.
- Suggestion: Weld the vertices before subdivision to prevent
gaps.
- Problem: The sky is not blue behind the clouds
- Suggestion: Some of the skies have transparent areas and
will let through the background color. Set the background color to
what you want first and then set the sky.
- Problem: The sky is not visible
- Suggestion: Make sure the camera is in perspective mode. If
you are using a floor check that the camera is not set up such as
the horizon is not visible.
- Problem: PoseRay shows black or transparent areas on the
model where I know it is not.
- Suggestion: The model has normals or winding order in the
opposite direction. By default PoseRay displays surfaces with the
color in the direction of the normal and applies black to the back.
Check on Apply mats to both sides and Draw double
sided on the preview tab.
- Problem: The textures in the POV-Ray render have a washed
out appearance.
- Suggestion: This usually occurs with TIFF textures from
Poser. You can convert them in PoseRay to JPEG.
- Problem: The POV-Ray render has a dark band/shadow over the
model and sky
- Suggestion: Make sure that a light originating below the ground
is not casting shadows. The headlight always casts shadows.
- Problem: I apply a map on a model but it does not show or
the model just changes color.
- Suggestion: The material where the map is being applied does
not have UV coordinates. Create some UV coordinates in the Geometry
+ UV tab for that material.
- Problem: A model is shown with inverted transparency
mapping
- Suggestion: Go to the materials tab and click on Invert
mapping button.
- Problem: PoseRay is not displaying reflections
- Suggestion: PoseRay uses spherical reflection mapping to
give the illusion of a reflective surface. For this to work PoseRay
checks for the extension ARBMultiTexture which is available in
later versions of the OpenGL ® API. Also there must be an
background map loaded (see preview
tab).
- Problem: I try to re-render a scene in POV-Ray but it renders
it very fast and does not update the image.
- Suggestion: The Render can be paused option may be
enabled in the POV-Ray Render options tab in PoseRay. Disable it
and re-render from PoseRay.
- Problem: Poser 5 dynamic hair does not show right.
- Suggestion: Poser 5 exports hair as line elements. PoseRay can
read those lines with no problem but unfortunately it seems that
Poser 5 does not export all the dynamic hairs. It only exports the
guide hairs. Maybe in a future service pack this may be
enabled.
- Problem: POV-Ray started a render but nothing happens and it
seems locked.
- Suggestion:POV-Ray takes some time to parse the files before it
renders them so it may look like it has stopped responding. Look at
POV-Ray's bottom status bar while it processes the file.
- Problem: The line mode preview is too slow.
- Suggestion: With some OpenGL ® API implementations line
preview is very slow. Disable Apply mats to both sides in
the preview options to speed this up. Also upgrading to the latest
video drivers should help.
- Problem: I lost the INI file and want to render the scene with
the proper settings. I still have the POV and INC files.
- Suggestion: Start POV-Ray, load the pov file. There should be a
line in the comments that looks similar to "//+W1016 +H544 +FT
+AM2 +A0.3 +UA". This contains the render settings that were
saved in the ini file. Right click on that line and select copy
"..." to Command Line to transfer them to the command line box
in the toolbar. Then press Run and the scene will render
with the settings that you wanted.
- Problem: I exported the files. Now what?
- Suggestion: Make sure that all the files are in the same
directory. Start POV-Ray, load the ini file that PoseRay created,
clear the command line box in POV-Ray's toolbar and click on
render.
- Problem: Where is PoseRay's source code?
- Suggestion: At this time I will not release the source code. If
you need to run PoseRay in Linux or Mac OS you can try an emulator.
I may release the source at a later date.
- Problem: I see some texture seams on the preview tab. I know
my texture is perfect. What is wrong?
- Suggestion: By default PoseRay internally resizes the textures
before using them in the preview tab. This resizing will degrade
their appearance in PoseRay. This will not affect the final
rendered image in POV-Ray. If you want to see the textures closer
to their actual size change the preview map size option in the
preview options subtab. Then press reload maps to update the
preview.
- Problem: The POV-Ray render is too dark.
- Suggestion: Use more lights, increase the light intensity or
enable radiosity.
- Problem: Cannot get Moray 3.5 to work with POV-Ray.
- Suggestion: Read this section for
tips on getting Moray to work.
- Problem: The geometry is too small/big or aligned wrong.
- Suggestion: Use the scaling, translation and rotation tools in
the geometry tab.
- Problem: I exported a OBJ file from Poser 3 but it does not
have any materials no matter what options I select.
- Suggestion: Unlike Poser 4, Poser 3 does not export MTL files
but it will include the material calls in the OBJ file. Make sure
that the version of Poser that you are using has been updated to
the latest revision. Go to CuriousLabs for free revision
updates available for Poser 3, 4 and 5.
- Problem: How do I make the POV-Ray files portable?
- Suggestion: If you want to render the scene in another system
go to the export tab and select Copy all maps to the same
directory. This will place all maps in the same directory and
will not include any path information in the POV files. Copy the
.ini, .inc and .pov files and all the maps into the same directory
into the other system.
- Problem: I loaded a set of materials from a Poser file but it
does not set all the materials right.
- Suggestion: See the limitations.
- Problem: I just loaded a model and it looks too bright (or
just white).
- Suggestion: This usually happens with 3DS models. Sometimes
they have a very high ambient color. Go to the materials tab and
increase the glossiness and make the ambient color darker. To do it
for all materials right click over the material property and select
apply to all materials.
- Problem: The POV-Ray render is just a solid color or
justblack
- Suggestion: If you are using a floor check that the geometry
is not below it. If the scene is inside a closed room do not use
parallel lights. The enclosing room will not let any light in. Use
point, spot or area lights and make sure that they originate inside
the room.
- Problem: I created a scene in Poser with the built-in props
(cone, box, ball, etc) and when I export them I only get one
material: 'preview'. I had every object with different material
properties now all of them use the same material.
- Suggestion: This is a limitation of how Poser exports .OBJ
files. In poser the material name for each built in prop is
'preview'. When the file gets exported all the materials get merged
into the same because they use the same name. This only occurs with
props, figures are immune to this. You can import the scene into
DAZ Studio and export it again in OBJ format. DAZ Studio keeps the
names separate.
- Problem: PoseRay seems to hang while reading camera,
material or light information from a Poser file.
- Suggestion: PoseRay may take a long time while searching for
the camera and light information contained in large .PZ3 files. It
may take longer if the file is a compressed file (.PZZ). This may
give the impression that PoseRay has stopped working but it is
still searching just give it a minute or so to search. In a 23MB
file PoseRay can take about 20 seconds to search for the camera.
The speed also depends on your system.
- Problem: I used a sky but the POV-Ray render shows it
repeating below the horizon.
- Suggestion: POV-Ray skies work best with the ground visible.
Activate the ground (in the preview options subtab) before
exporting the POV-Ray scene.
- Problem: How can I get the cool effects with environmental
maps using PoseRay?
- Suggestion: POV-Ray does not support environmental maps but you
can get the real thing using reflectivity. Turn the reflectivity of
the material to more than 30% and set the glossiness to about 50%.
Add a background other than a simple color so that the material
reflects it. If you enable metallic make sure that the pigment
color is not too dark or it will barely reflect.
- Problem: Reflective surfaces look too bright in POV-Ray.
- Suggestion: Background color will reflect. For example if
you have a reflective ball and a white background the ball will
look almost solid white. Try using a darker background if possible.
A sky will reflect nicely also and it can be added in the preview tab.
- Problem: I can't get a texture to line up properly in
POV-Ray.
- Suggestion: In some models if two coincident surfaces are
textured POV-Ray may select the wrong one to display. Removing the
texture that is a problem may help. If the texture is the same for
both meshes then try to remap the UV coordinates of the model.
UVmapper is a good program for that.
- Problem: I get the following message in POV-Ray: I/O
restriction prohibits read access to 'texture name...'.
- Suggestion: Just click OK and POV-Ray will have access to
the texture. If you want this to be permanent disable restrictions
in POV-Ray using the POV-Ray Options menu and selecting Script I/O
Restrictions -> No restrictions.
- Problem: I get this error in POV-Ray: Expected 'object',
keyword found instead.
- Suggestion: This is because of the name of the .POV file and/or
the mesh object is using a POV-Ray reserved keyword. For example if
your object is called 'sphere' it will give you an error in POV-Ray
since 'sphere' is a reserved word. Section 3.1.1.1 of the POV-Ray
3.6 manual lists the reserved words.
- Problem: The camera in PoseRay does not match my Poser
settings.
- Suggestion: Use another camera in Poser. PoseRay only
recognizes the MAIN, AUX, TOP, BOTTOM, LEFT, RIGHT, FRONT and BACK
cameras. Any others will default to the MAIN camera.
- Problem: POV-Ray gives me an error saying that it cannot read
an image map.
- Suggestion: POV-Ray will not read interlaced GIF maps. You
can convert them to another format in the PoseRay materials tab.
Also POV-Ray will not load the map if its filename contains any non
alphanumeric ASCII characters used in languages other than English.
You can resave the map with a different name in the materials tab.
The image may also be corrupt or using a variant of the image type
not supported.
- Problem: Lights with no shadows look strange in POV-Ray.
- Suggestion: POV-Ray handles shadowless lights as fill lights
and enhance the lighting in the scene but do not render
highlights.
- Problem: The TIFF map I am using comes out scrambled, black,
missing or misaligned in POV-Ray.
- Suggestion: There may be 2 reasons for this. 1) POV-Ray does
not support LZW compressed TIFF images. Just convert the texture in
PoseRay to another format and it should work. 2) POV-Ray 3.5 (not
3.6) rotates TIFF images so if the texture looks like its right but
misaligned then just check Fix TIFF Orientation in the POV-Ray
export tab. Unless it is a DAZ studio scene in general I do not
recommend using TIFF images with POV-Ray. Using the conversion tool
in PoseRay's material tab you can convert all your TIFF
textures/bumps into TGA or JPEG images.
- Problem: Moray does not display the UDO model.
- Suggestion:Decrease the UDO detail level in the scene settings.
Usually 10% works.
- Problem: Some of the materials in the mtl file are not
listed in PoseRay.
- Suggestion: If the OBJ file does not require the material
PoseRay will not load it from the mtl file.
- Problem: Some of the groups listed in the OBJ file are not
listed in the PoseRay output.
- Suggestion: If the group does not contain any polygons it is
not included in the output.
- Problem: PoseRay does not do anything with the OBJ or DXF
file and sometimes it hangs or gives me an error.
- Suggestion: The file may not be an ASCII OBJ or DXF file or the
file may be locked by another application.
- Problem: PoseRay loads a DXF, RAW or UDO file but it is
faceted (not smooth)
- Suggestion: Go to the Faces, vertices & normals subtab
of the geometry tab and check on weld vertices and calculate
normals. Then press update. That should smooth the model. If it
still has too many hard edges increase the crease angle and update
again.
- Problem: I made a mess of the options and cant get PoseRay
to its default state.
- Suggestion: Delete the file "poseraysettings.ini" in the
PoseRay directory and restart PoseRay. All the options will be set
to their default.
- Problem: I can't find the solution to my problem here!
- Suggestion: If you have problems with this program or have
suggestions send me a message to flyerx_2000@yahoo.com or go to
the PoseRay site http://user.txcyber.com/~sgalls/
to see if there is a new version available.
Version History
v3.8.7 (Build 358)
- Rewrote the subdivision storage routines using a sparse matrix thus speeding up the process significantly
- Subdivision does not weld the vertices automatically anymore.
- Added POV-Ray mesh and mesh2 import from POV and INC files.
- Dropped UDO import (export is still there) because of addition of POV-Ray import
- Added very basic VRML 1 and 2 import.
- Fixed material import of DAZ Studio bump size parameter (it changed with DS 0.9.18.6)
- Added if a material has a map_refl entry in it PoseRay will make the material reflective
- Fixed if two colors were blended by a map changing the color was not refreshing the preview sometimes.
- Changed the input dialog to standard Windows components.
- Fixed font size issues with some forms
- Added back anti-aliasing of saved previews
- Made outdoor scene a default in the HDRI simulation tab
- PoseRay will ask for camera and light information from PZZ or PZ3 files only.
- Open file dialogs will remember the file names if they correspond to the type being openend.
v3.8.5 (Build 351)
- Fixed material import of DAZ Studio bump size parameter (it
changed with DS 0.9.15.4)
- Keep aspect ratio of resized maps at render time
- Background was not resizing with preview map size
- Fixed warnings not working in case a map was other than TIFF or
GIF and resize maps was checked
v3.8.4 (Build 349)
- Map search is now done for all DAZ Studio models instead of
using the textures in /Maps and /ConvertedMaps. DAZ Studio exports
transparency and bump maps that cannot be efficiently used in
POV-Ray so the original textures must be used instead. This fixed
the problem with POV-Ray taking too much memory to render a DAZ
Studio model with bump maps
- Maps and groups are not renamed internally anymore. They are
fixed at export time
- Name capitalization now differentiates materials and
groups
- PoseRay now does not allow repeated names while renaming
materials
- Normal and UV out-of-bounds checking was wrong
- Fine tuned the Poser->PoseRay camera conversion
- Added resize maps on export
- Automatic loading of camera or lights after loading Poser
materials
- Loading a Poser camera now sets the window size to match the
Poser window size
- Camera presets now save the window size
- Decreased the default size and number of sources for area
lights
- Fixed a bug where subdivision would fail if too many faces were
sharing a vertex
- Out of index errors could crash PoseRay with some UDO
files
- POV-Ray material tab now allows layered textures and better
text support
- Custom POV-Ray textures can be saved and recalled
- Lights from an HDRI image are now aligned using an uniform
random distribution to avoid clustering and saturation at the poles
of the HDRI dome
- Added HDRI outdoor scene setting
- HDRI maps were scaled wrong for light positioning
- Intensity of pixels in HDRI maps fixed
- Lights from HDRI simulation can use a threshold for light type
and shadowing
- HDRI file information is now shown
- Fixed glossiness from DAZ Studio models
- Bump size and direction were imported wrong from DAZ Studio
models
- Bump size from Poser scenes was decreased
- Added an optional cutoff method to display transparency
- Preview of maps mixing with base color is now shown
properly
- Added drop to y=0 and center functions to placeholder
section
- UV mapping can be removed from the model before exporting it to
POV-Ray
- Decreased the ambient shown in the preview
- Fixed a bug with area lights not updating the number of sources
they used
- Fixed import of Poser LEFT, RIGHT, TOP, BACK and FRONT
cameras
- Fixed a bug where the preview lost lighting after deleting a
single spot light
- Edges of UV coordinates are not smoothed by default during
subdivision
- Object name in POV files is now named after the original model
instead of using a generic name
- Fixed some cases where a map could be loaded unnessesarily into
memory
- Added mosaic preview option
- Message window now provides more information
- Default camera has less perspective
- Updated the manual with tested emulators that can run
PoseRay
- Moray UDO files have unique names for the included objects
- Updated Moray setup information
v3.8.2 (Build 327)
- Fixed a bug where models with very large UV coordinates will
crash the UV preview.
- Ambient color was not being applied if the material used a
map
- If the OpenGL ® API is version 1.2 or higher then specular
highlights on materials with maps are now visible.
- Added a way to clip the UV coordinates from 0 to 1.
v3.8.1 (Build 325)
- Fixed a bug that was making PoseRay, under some circumstances,
consume 90%+ CPU time and not respond when started. The OpenGL
extension checker was crashing with some drivers and was going into
an infinite loop.
- Fixed a problem where 4-sided polygons were not being
triangulated right under some circumstances leaving holes in the
mesh.
- Fixed Show/Hide maps not working if the preview was
re-enabled.
- Bump maps were not being rendered in POV-Ray if there was a
color map on the material also.
- Fixed cartoon rendering problems with materials using
maps.
v3.8.0 (Build 321)
- Added support for LightWave 5 and 6+ format files
- Added Smooth (Loop's algorithm) and flat subdivision
- Added import for RAW triangle files
- Added import for UDO Moray files
- Added support for models exported from DAZ Studio
- Added a simple HDRI simulation.
- Added sky maps in the preview
- Improved the Batch mode to 2 modes: Using a BAT file or a POV
file with clock/frame_number
- Added basic generation of UV coordinates (planar, cylindrical,
spherical and cubic) with preview.
- Weld vertices procedure was completely rewritten for
speed.
- Normal calculation was rewritten. Normals are now calculated
using a crease angle.
- Faces can be split using the normals
- Added ear-cutting triangulation of concave and convex polygons
with more than 3 vertices.
- The preview can now show transparency, color and map
blending.
- Enhanced the Poser material parser for better matching of
material properties
- Internal Poser naming of maps is now recognized
- Fixed a massive memory leak when unloading large
models.
- Fixed a bug where a malformed OBJ model could crash
PoseRay.
- Improved loading speed of preview textures
- Fixed a bug where preview textures were not reliably allocated
in NT systems (Win2000 and XP)
- Removed the broken REVERT function and decreased memory
allocation for geometry by 45%.
- Fixed import of spot light from Poser files. Tightness was
scaled wrong.
- Normals found in OBJ files are resized to unit length
automatically.
- Any model without normals is smoothed automatically.
- Modified many internal operations to avoid some floating point
exceptions.
- Trapped some OpenGL allocation errors in the
implementation.
- Added reflection effects for the preview
- Removed the sluggishness when changing tabs when a large model
was loaded.
- Geometry updates can now be made on a group or material
basis
- Added preview using bounding boxes.
- Fixed the light intensity matching between imported and
exported scenes.
- Fixed some layering errors when reading DXF files
- Added export to POV-Ray using bounding boxes. Useful for
preview renders.
- Placed a -90 degree rotation on the exported UDO file to avoid
confusion when importing it into Moray.
- Faster general transformation of geometry.
- Flipping two axis in a transformation will automatically change
the normal orientation.
- Changed to double precision internally
- Changed the status line display.
- POV-Ray geometry can be exported alone so that it can be placed
in a custom POV file.
- Fixed layout problems when Windows is set to not use small
fonts.
- Fixed the problem that if PoseRay was run on a computer with no
networking it will crash.
- Changed PoseRay's UI font to true type for better scaling.
- Model texture maps are now by default not blended with the
surface color unless the materials are loaded from a Poser
file.
- Added an optional rotation for 3DS and DXF files so that they
show in the preview right by default.
- If a Poser file is read for materials and uses a BUM reference
then PoseRay will look for an map with the same name but compatible
format.
- Fixed inverted bump size from Poser files
- Better glossiness match between Poser and PoseRay
- Added options to not export UV or normal information to
modified OBJ files.
- Fixed some items that the warnings routine was not
listing.
- Master scale is now read from 3DS files.
- PoseRay now cleans up the POV-Ray code created for POV-Ray
texture preview.
- Optional line import from OBJ files.
- Rewrote the texture manager
- Added checking for invalid float values in binary model files
(3DS and LWO)
- Added glass textures and pigments to the POV-Ray material
section
- Fixed some spelling errors in the POV-Ray texture list
- Added a flag to optionally use the alpha channel of an image
for blending and bump mapping
- Fixed map search function where it would use the wrong starting
directory
- Help can now be seen from any tab as a separate window.
- Message and warning text is now in its own window.
- Moved all the camera items to the preview tab.
- Moved all the light items to the preview tab.
- Added multiple load of models into the same session.
- Changed the input tab layout and options
- Added support for non-standard 3 point 3DFACE in DXF
files.
- Simplified some of the UI elements
- When a Poser camera is read it now is automatically added to
the camera presets
- Output directory is now saved from the previous session
- Map blending fixed in POV-Ray output to match preview
- PoseRay now recognizes tr as transparency in MTL files besides
d for opacity.
- PoseRay now uses percent glossiness instead of specular
exponent.
- Limited the lower value for glossiness to avoid saturated
highlights.
- Fixed the buggy parallel light preview
- Intensity of default camera light can now be modified
- Fixed a DXF import bug that would not load any geometry if the
file had an unknown $ACADVER entry.
- With POV-Ray 3.6 rotation of TIFF images is no longer the
default.
- Gray scale calculation was fixed for displacement
mapping
v3.0.2 (Build 272)
- Fixed a bug that even if no materials were selected for Moray
output it was still putting a link to the file.
- Fixed a bug with line entities from Wavefront files not being
processed properly.
v3.0.1
- Added support for 3DS and DXF formats.
- Added interactive light positioning to the preview tab. Makes
it easier to see what the lights are doing in the scene.
- Added preview of light shapes and locations to help on light
positioning.
- Added blend mapping. This was transparency before but now
materials can smoothly change full appearance from one material
definition to another according to an image_map pigment.
- Added a way to type in or select a POV-Ray 3.5 texture for each
material.
- Added POV-Ray placeholders to help on the location of custom
POV-Ray geometry.
- Added named camera presets. I got tired of losing a good camera
setup every time I needed to view the scene from another
angle.
- Added a built in viewer for the HTML help file so that a
browser is no longer needed
- Added negative image tool to the bump and blending
mapping.
- Added name to lights to help on identification.
- Added a preview of the focus region in the preview.
- Added option to disable materials with Moray UDO output so that
Moray can be used to set the materials instead.
- Added ini file options
- Added material import from other MTL files.
- Added a warnings text box separate from the main status
text.
- Added a warnings indicator in the status bar
- Added a simple floor preview
- Added an overlaid grid over the preview to help align the
scene.
- Added an automatic sizing of area lights according to scene
size.
- Added an automatic sizing of focal area and focus point
according to scene size.
- Added an intensity multiplier for all the lights.
- Added custom render settings.
- Added continue flag to render settings.
- Fixed the Poser camera import.
- Fixed a bug where the lights did not update properly in the
preview window.
- Fixed the light intensity of imported Poser lights to match
better the PoseRay preview.
- Fixed the light intensity match between PoseRay and
POV-Ray.
- Fixed some bugs and speed issues with the OpenGL map manager
where some maps would get loaded in the wrong material or not at
all.
- Fixed a bug where the scene would not automatically render if
the files were saved in a directory with spaces in its name.
- Fixed a bug that POV-Ray renders did not use transparency
unless it was with a JPEG image. Now it can use any of the
compatible types.
- Fixed a bug where POV-Ray could not render if the original obj
file name started with a number.
- Fixed a naming bug where a material or group name with extended
characters will not render in POV-Ray.
- Fixed the focal blur. It was not being transformed with the
camera and the preview displays it as focal planes.
- Fixed the export names such as all the definitions in POV-Ray
and Moray have their 1st character capitalized to avoid conflicts
with reserved words in POV-Ray.
- Improved the way polygons with more than 3 vertices are
triangulated to prevent concave polygons folding on
themselves.
- Decreased the amount of memory used by about 30%.
- With the release of MegaPOV 1.0 support for MegaPOV 0.7 was
dropped. MegaPOV 0.7 did not support map transparency very well
anyway.
- PoseRay now creates POV files without version information.
- Separated and simplified the POV-Ray, Moray and OBJ export
options
- Removed several options that added too much clutter and had no
useful function.
- Changed the radius of the spotlights to tightness. It fits
better between the preview tab and POV-Ray.
- Moved the preview tools to the left of the OpenGL preview
window. It provides better room and keeps the preview from becoming
too wide.
- Fixed the Spot light falloff. It was wrongly applied to the
scene by twice the angle amount.
- Fixed a lingering bug that mangled the light properties when
changing them in the lights tab.
- Changed the mouse control. As it was it was impossible for a
2-button mouse user to do some operations. Now the left button
operation can be changed in the preview tab. The right and middle
button (if present) are fixed in their operation. This fix also
removed a lag in control that was present before.
- Improved Moray setup documentation and support.
- Improved the layout and format of the manual.
v2.6.6
- Camera and all the light settings are automatically saved into
the comment block of the exported OBJ file.
- A bug with the light editor was fixed. When adding/deleting a
light the properties shown where wrong.
- The maps used by a scene can be copied to the directory where
the main POV file is saved. This also applies to the export of OBJ
files.
- Changed the way the OpenGL map size was edited to avoid
confusion.
- PoseRay creates an ini file for POV-Ray with all the render
settings.
- Rearranged the export options tab. It was getting ridiculously
full of options.
v2.6.5
- Fixed a zoom setting that was not being transferred to the
camera setting.
- Added a way for PoseRay to automatically open and/or render the
main POV file in POV-Ray. It uses a POV-Ray ini file to set the
options.
- Added a POV-Ray output resolution entry
- Added a selector for POV-Ray output image format
- Added an entry for the output render filename
- Added options for anti-aliasing
- Added a flag for producing renders with alpha transparency
using the background
- Added a way to change material names
- Added a way to set all the materials as the current
material
- Made metallic as the default for all reflections. I believe it
gives better results.
- Added point lights
- Line thickness value is now saved when PoseRay closes
- Group names that start with a number will have an underscore
appended.
- Dropped support for POV-Ray 3.1g. MegaPOV is still
supported.
v2.6.4
- Fixed a material handling bug that associated the wrong maps
and materials. Sometimes it would read a material list properly but
sometimes it would mess up all the paths and names. It should be
fixed now.
- Added support for line entities in the OBJ files.
- Added an option to save the type of camera aspect ratio that is
always used. I was getting tired of resetting it every time I
changed the POV file.
- PoseRay will set the material reflectivity if it finds a
reflection map in a pz3 or pzz file.
- Added an automatic rename of materials that start with numeric
characters. If a material is called 1wood then it will be renamed
_1wood
- Added some settings that were left out to the save settings on
exit option
- Added "drop to y=0" and "center geometry" to geometry tab
transformations
- Added the geometry statistics to the top of the exported
POV-Ray geometry include file.
- Improved the cursor handling during operations. Sometimes the
cursor was not changing to an hourglass.
- Fixed some of the formatting in the manual
v2.6.3
- Changed the transparency handling from images with alpha
transparency to separate image maps in the materials. This means
that PoseRay will not need to create new TGA textures for materials
using alpha transparency. PoseRay will arrange the POV-Ray material
file such as it will use the original transparency image.
- Changed the way maps are loaded/displayed. They are now in a
tabbed control with a tab for texture, transparency and bump
mapping separately. This makes the interface less cluttered.
- Materials can now be imported from a Poser scene file. This
speeds up the conversion process and avoids the user to search for
missing maps.
- Added Global search for all maps. It will find the correct path
for all the maps needed.
- Highlights can now be applied to materials with a transparency
map.
- Minor update to the way the OpenGL renderer loads materials
with transparency. Still not perfect but better.
- PoseRay no longer rebuilds the display list every time you move
out of the materials tab. It will only update if the material has
been changed.
- Updated manual for new materials handling and added a
tips/tutorial section
v2.6.1
- Rearranged the exported POV-Ray material file to minimize the
amount of allocated memory for POV-Ray. Thanks to Ive for his
suggestion.
- Fixed the orthographic camera entry. The resulting distance
from the viewer was wrong in POV-Ray.
- Added a feature to disable the OpenGL preview so that extremely
large models could be loaded without taking up so much memory.
- Fixed the damaged links in the manual.
- Added some more troubleshooting items to the manual.
v2.6.0
- Added OpenGL preview tab with support for materials, textures,
camera and lights. OpenGL 1.1 needed with no extensions.
- Camera is now automatically setup to show exactly in POV-Ray
what is presented in the preview tab. No more guesswork with camera
values and axis flips.
- Added the alpha transparency command to create TGA files with
alpha masking for POV-Ray/MegaPOV. No more need to use an external
program for this.
- Added an image converter for textures and bumpmap's. Converts
from most common formats to TGA, jpeg or bmp.
- Added displacement mapping deformation
- Added Wavefront output
- Added support for reading/writing material transparency in
Wavefront files.
- Added preview of textures and bumpmap's. in the materials
tab
- Added support for compressed Poser scene files (.PZZ) that are
created by the Poser Pro Pack.
- Added the option to select the groups that the user wants to
export
- Added weld vertices command with tolerance control (slow but
works)
- Added create normals (smooth)
- Focal blur is now calculated using the desired focal depth. No
more aperture guesswork.
- Simplified the settings in the camera tab.
- Removed rotations from lights tab. Lights are now set up by
position and point at location.
- Conversions among different types of lights works properly
now
- Added control on the vertical position of the optional infinite
floor in POV-Ray.
- Added POV-Ray 3.1g support using mesh{} only.
- Added more information to the top of the pov files.
- Improved the user interface by removing some redundant options
and reorganizing some settings (too many changes to list)
- Status messages are now visible from all tabs
- Transformations can be performed on the current state of the
model or the original model
- Fixed the error that PoseRay did not recognize material
filenames with spaces.
- Changed the material highlight level to a highlight color and
exponent.
- Help and tips merged in manual. Removed the alpha transparency
tutorial since it is not needed anymore.
- Added more troubleshooting items to the manual.
v2.0.1
- Fixed the focal distance calculation. Does not crash anymore
and it calculates the distance right.
- Changed the highlight from specular to Phong since it converts
better from the OBJ specification.
- Fixed the missing help text on the geometry tab
- Changed material transparency handling
- Default to no texture filtering unless the color of the
material is not white. Prevents washed out appearance of
textures.
v2.0.0
- Added some support for general OBJ files so it can be used
easily with programs other than Poser.
- Geometry can be exported using Mesh2{} or Mesh{}
definitions.
- Geometry can be rotated and the axis flipped (X<->Y
X<->Z Y<->Z)
- Much smaller memory requirements.
- Speed up of read and conversion process
- Speed up of camera and light import process from a Poser file
(not lighting fast yet but much faster than in version 1.x)
- Added an option of changing the image map's type for all
materials without having to change it for every material.
- Removed limit on the number of lights
- Lights can now be deleted
- Light intensity can be spread evenly over the lights
- Added UV invert, transpose and scale options
- Options can now be automatically saved
- Added more camera transformations.
- Optional camera focus was added
- Added default camera that will show all the geometry
- Added normal flip and size options
- Fixed runtime error that occurred sometimes when adding
lights
- Organized the messages in the status window
- Added a statistics section in the messages after the preprocess
of the OBJ file.
- The same OBJ model can be reprocessed without having to reload
the file.
- Added Bumpmap TIFF rotation
- User can check for new version from within PoseRay.
- Reorganized some of the GUI elements
- Created an icon for PoseRay.
v1.3.0:
- Upgrade of the parsing function. Sometimes the geometry, camera
or light information was being read wrong.
- Added check for degenerate triangles
- Added warning for degenerate normals
- Added a way to replace infinite lights with area lights and get
soft shadows.
- Automatic removal of meshes that contain only degenerate
triangles.
v1.2.4:
- Textures with transparencies were being filtered wrong. Added
an option to choose the type of texture loaded.
v1.2.3:
- Fixed an error with the message window getting too full in some
Windows versions.
v1.2.2:
- Added compensation for TIFF rotation that is present in
POV-Ray.
- Added colored background
- Added colored floor. (Not just white)
- Changed the way files are loaded by the program.
- Added Unix and Mac file compatibility to the material file
(.mtl)
v1.2.1:
- Added support for Poser Pro Pack scene files
- Added support for files using Mac and Unix end of line
characters
v1.2.0:
- Import Camera from PZ3 files
- Import Lights from PZ3 files
- Material editor including color, surface finish, texture and
bumpmap
- Blending of textures and color in the same material
- Support for POV-Ray 3.5
v1.0:
Acknowledgments
PoseRay uses the following:
Legal information and License
- Program is poseray.exe and all accompanying files included in the packaged file poserayinstall.zip
- This program is distributed free of charge.
- You can use this program for any purpose you see fit.
- You can redistribute this program as long as the contents of the packaged file (poserayinstall.zip) are unchanged.
- You cannot directly or indirectly sell the program.
- I am not responsible for any direct or indirect damage that this program may cause
- Using the program implies that you agree to the above terms.
- Brand and product names referred to are trademarks or registered trademarks of their respective owners.