PoseRay Manual

Import 3D models and scenes into POV-Ray and Moray

v.3.10.3 – November 28, 2006

Web: http://mysite.verizon.net/sfg0000/

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 also export the modified model to wavefront (OBJ) format for use in other 3D programs. A list of main features is shown below. (Check the history for changes with the latest version)

Geometry:

Materials:

Lights + Camera:


Requirements


Install / Uninstall

Install:

Uninstall:

Linux setup:

I have tested PoseRay under Linux using either Wine or VMware server. Please note that I am not a Linux expert. I have just started using it and any questions about installing applications other than PoseRay should be directed to the application's support groups.

Running PoseRay in Linux using Wine:

  1. Tested with Wine 0.9.21, Ubuntu 6.06, POV-Ray 3.6 and NVIDIA 1.0-8762 Linux drivers. Previous Wine versions do not work.
  2. Make sure that you have installed drivers for your video card that accelerate OpenGL.
  3. Make sure that the Wine package has been configured. The default emulation should be Windows 2000.
  4. Unzip the PoseRay zip archive into any folder for which you have write permissions. PoseRay needs to write to its configuration file in that folder.
  5. Open a console and go to the folder where PoseRay is installed and type wine PoseRay.exe to start PoseRay. PoseRay should run with OpenGL acceleration. Some fixme: warnings will be displayed. This is normal.
  6. Enable PoseRay is running using Wine in the Input tab.
  7. Go to the POV-Ray tab and select the POV-Ray Linux executable. This file is typically located in z:\usr\local\bin\povray according to the directory structure created by Wine.
  8. Every time a POV-Ray render is created click on the rendered image to close it.
  9. Limitations:

Running PoseRay in Linux using VMware:

  1. Tested with VMware server 1.0 (with a Windows 98 VM) and Ubuntu 6.06.
  2. Make sure that the VMware tools are installed. This adds an improved graphics and mouse drivers.
  3. Transfer the PoseRay zip archive to the virtual machine. Typically this is done through a bridged network connection between the host and guest VM. This network is setup automatically if VMware was installed properly.
  4. Unzip the PoseRay zip archive in the virtual machine and run poseray.exe.
  5. You can install a windows version of POV-Ray into the virtual machine to directly render the scenes or transfer the saved POV files created by PoseRay into the Linux host and render them using the Linux version of POV-Ray.
  6. Limitations:

PoseRay Main Tabs

PoseRay is broken into main tabs and a separate preview window. Each tab is used for a different section in the conversion process. The bottom of PoseRay's main window shows the status messages and any warnings. Click on the [+] on the left to expand it. The status bar also shows the progress indicator.


Input Tab:


Preview Tab:

This tab has a toolbar and 4 sections that control preview options, camera, lights and placeholders.

Toolbar buttons:

Options:

Camera:

Lights:

Placeholders:


Materials Tab:

This tab controls the materials properties for the loaded geometry. Each material is divided into surface properties, bump map, 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:

Basic texture properties

POV-Ray Texture:

warning symbolPoseRay cannot directly show POV-Ray materials in its preview tab. They are only applied to POV-Ray renders.

Basically a POV-Ray material is structured as follows:

material{
         texture{
                 pigment{}
                 normal{}
                 finish{}
                }
         interior{}          
}

Texture is what is on the surface and interior controls how the light passes through the material. Interior has no effect if the material does not have some transparency.

3D mapped box

POV-Ray texture - 3D mapping

Texture applied continuously throughout the mesh

uv mapped box

POV-Ray texture - UV mapping

Texture applied only to the surface UV coordinates. The box had the same UV mapping for all faces.

UV:

PoseRay will display the UV coordinates for each material zone. You can also do simple manipulation of them in this tab.

To modify the UV coordinates type in the options (see below) and press Update.

map for uv demo

Map

undeformed box

Untextured sample box

planar mapping

Planar mapping perpendicular to vertical axis.

Edges of map stretch along the other faces.

cylindrical mapping

Cylindrical mapping around vertical axis.

No vertical distortion.

spherical mapping

Spherical mapping around vertical axis.

Vertical distortion is visible.

cubic mapping

Cubic mapping


Groups Tab:

Faces, Vertices and normals:

Subdivision:

PoseRay can subdivide a model and smooth its appearance. Subdivision will result in each triangle broken into 4 sub-triangles and the addition of 3 vertices per subdivided triangle. Not all models are suitable for subdivision and results will vary.

You can repeatedly subdivide a model. For example 3 subdivisions on a 5000 face model will result in 43=64 triangles per original triangle. This would produce a model with 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 one subdivision should be enough for most cases.

If after a subdivision the model shows numerous gaps you may want to reload the model and weld the vertices before subdivision to prevent faces from rounding away from edges.

There are two subdividing methods (smooth and flat):

Below are a few examples of the smooth subdivision options used on the same mesh.

original

Original mesh

subdivision with creases kept only

Stretching along mesh edges

2 Subdivisions

Keep mesh creases

Do not smooth mesh edges

subdivision

Organic look

2 Subdivisions

Do not keep mesh creases

Do not smooth mesh edges.

subdivision keeping creases only

Best result

2 Subdivisions

Keep mesh creases

Smooth mesh edges

Mesh Displacement

This deforms the grid by moving each vertex along its normal according to the intensity 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

Undeformed box (1x1x1 units)

Cubic UV mapping

undeformed mesh

Undeformed box mesh

displacement map

Displacement map

Black = +0.1 displacement

White = no displacement

flat subdivided mesh

For a better deformation the mesh was flat subdivided twice

deformed mesh

Mesh deformed with map

deformed box

Shaded deformed box


Light Dome

PoseRay can use a high dynamic range image to simulate environmental illumination by creating a set of lights (light dome) with the intensity and color of the surroundings. Usually high dynamic range images (also known as probes when used in 3D environments) are in radiance format (.hdr) and use Light Probe (angular) mapping. PoseRay uses Portable Float Maps (.pfm) using Latitude-Longitude mapping. These images can easily be converted using HDR Shop v1. Some HDR images can be found at www.debevec.org/Probes/.

Probe

Uffizi probe

Angular mapping

Lat-Lon

Uffizi probe

Latitude-Longitude mapping

Also called panorama

Needed by PoseRay

Converted by HDR Shop

HDRI scene

Uffizi probe

Used for lighting

and background.

HDR probes usually contain areas where the color intensity is higher than 100%. These usually indicate sources of illumination.

Keep in mind that not all probes give good results. It depends on how they were processed and created. Some may not have strong illumination, produce unnatural colored lights or have the high range areas badly spread over the image.

Steps to convert an HDR probe into usable lights in PoseRay:

  1. Get HDR Shop v1 from www.debevec.org/HDRShop/
  2. If the HDR probe needs remapping and conversion (see images above) then start HDRShop. Load the high dynamic range 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.
  3. In PoseRay's Light Dome 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.
  4. If you want to see the image on the background of the scene click on Set as background map.
  5. If the HDRI probe is very large you can resize it in HDR Shop.
  6. If the background map is too blocky you can blur it using a graphics program.

During the light extraction PoseRay will search the image for areas of illumination that match the search criteria. The available options are:


POV-Ray Output Tab:

Options

graphic28

No radiosity.

graphic31

Light Dome

graphic29

Radiosity

graphic32

Focal blur and no radiosity

cartoon render

Cartoon with highlights on

Files (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:

Files (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.

Export options (after pressing save):


Moray Output Tab:

PoseRay creates 3 files for Moray. For a typical 3D model file filename.obj these would be as listed below.

Export options (after pressing save):

Important notes using Moray:


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:

Misc. options:

Export options (after pressing save):


Tips &Tutorials

These tutorials assume that you already installed all the needed programs.

Rendering a 3D model in POV-Ray:

  1. Start PoseRay and on the Input tab click on Load... and select the desired model (or models).
  2. After the model loads you can see the model in the preview window. Set the camera and lights as desired. You can also modify the materials and geometry.
  3. If there are warnings that maps are missing you can use the search tool in the materials tab to find them.
  4. Once the options have been set the model can be rendered by selecting the POV-Ray Output tab and clicking on the Save & Render files button.

Importing a 3D model into Moray:

  1. IMPORTANT: Make sure Moray is setup properly to work with POV-Ray This section has more details.
  2. Start PoseRay and on the Input tab click on Load... and select the desired model (or models).
  3. After the model loads you can see the model in the preview window. You can also modify the materials and geometry if needed. Camera and lighting is not used for Moray export.
  4. Go to the Moray export tab and press Save... Default options should work for most cases
  5. 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:

  1. Create the scene in poser and save it. (PZZ or PZ3 format). If you are using animation for dynamic clothing make sure that the camera at frame 1 is the one you want. PoseRay only reads the camera at frame 1.
  2. In Poser go to File | Export | Wavefront Object and save the scene as a Wavefront OBJ file. Use the default options.
  3. Start PoseRay and in the input tab click on Load and then Poser scene... and select the files saved above. Also type in the directories where you want to start searching for Poser textures. Typically this will be the ..\poser\runtime folder. You can add several directories to the list in case you have several runtimes. PoseRay will save the directory list for future use.
  4. Sometimes Poser mangles the normals and does not join vertices when exporting OBJ files. To prevent this check cleanup geometry in this dialog.
  5. If you want to read the camera and lights that were present in the Poser scene then check read camera and read lights.
  6. After the scene loads go to the preview tab and make sure the camera and lights are the way you want it. Also check that there are no missing or incompatible textures by looking at the warning text on the status tab. Click on the [+] button at the bottom of PoseRay to get more details.
  7. Go to the POV-Ray export options tab and press Save & Render... (defaults should work for most cases).
  8. A common problem is that materials that were invisible in Poser are not in the POV-Ray render. If the material is 100% transparent but it has specular properties then it is not completely invisible. To make sure a material is invisible click on the make material invisible button in the materials tab.
  9. More POV-Ray export details in this section.

Rendering a DAZ|Studio scene in POV-Ray:

  1. PoseRay was tested with DAZ|Studio 1.3.1.0. PoseRay may not work at all with earlier versions.
  2. Export the scene from DAZ|Studio using File | Export and select Wavefront Object and then use the Bryce preset for the export options. DAZ|Studio automatically saves a copy of the scene textures in the same place in the directories /convertedmaps and /maps. PoseRay will need those maps to read the scene.
  3. If you want to use the lights and camera then save the camera and lights presets as plain text DAZ|Script files (*.ds). To save the right camera go to the Scene tab in DAZ|Studio and select the camera that you want to export and then save it as a camera preset.
  4. Start PoseRay and click on Load... and then on DAZ|Studio scene... and select the files saved in the step above.
  5. After PoseRay loads the scene check that there are no missing or incompatible textures by looking at the status messages at the bottom. Click on the [+] to get more details.
  6. Go to the preview tab and make sure the camera and lights are the way you want it. DAZ|Studio camera import is still experimental and may not work in all cases. PoseRay will import all the cameras that were present in the camera preset file. They are added to the camera list in the preview tab and PoseRay automatically selects the last one.
  7. Go to the POV-Ray export options tab and press Save & Render (defaults should work for most cases).
  8. A common problem is that materials that were invisible in DAZ|Studio are not in the POV-Ray render. If the material is 100% transparent but it has specular properties it is not completely invisible. To make sure a material is invisible click on the make material invisible button in the materials tab.
  9. More POV-Ray export details in this section.

Using PoseRay to import models into Poser or DAZ|Studio (or 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.

  1. Start PoseRay and load the model or scene that you want to import.
  2. Check the preview and confirm that the model is loaded right. If you want to fix the sharp edges continue to step 3 else skip to step 11.
  3. Go to the geometry tab after the model loads.
  4. If the file is DXF, RAW or POV-Ray mesh (POV, INC) then check Weld equal vertices only and press update.
  5. In the preview check that the face orientation is right. Check show normals in the preview options section. If normals are shown pointing out of the surface the geometry is oriented right.
  6. 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
  7. 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. Clear all other options.
  8. To preview the appearance of the smoothed model check calculate normals only and press update. Increase the angle if you want the surface to be smoother.
  9. Once you have settled on a crease angle check split faces only and press update. Since splitting faces creates extra vertices the modified model will have a larger file size than the original.
  10. Change material properties if desired.
  11. Go to the OBJ Output tab. Make sure that Fix materials and group names is checked. Then click on Save.
  12. In the export options either save to the same directory where the original model is or check Copy all maps to the same directory if you are saving it to another directory. Poser (at least version 4) needs the textures either in the same directory were the model is or in the Runtime/Textures directory.
  13. Import the modified model into Poser or DAZ|Studio as a Wavefront model.

Importing a Poser scene into Moray:

  1. Make sure Moray is setup properly to work with POV-Ray. This section has more details.
  2. Follow steps 1-4 of importing a Poser scene into POV-Ray.
  3. After the scene loads check that there are no missing or incompatible textures by looking at the warning text on the status panel at the bottom. Click on the [+] to get more details.
  4. Go to the Moray export tab and press Save. Default options should work for most cases
  5. Run Moray and import the UDO file just created
  6. You can get more Moray details in this section.

Importing a DAZ|Studio scene into Moray:

  1. Make sure Moray is setup properly to work with POV-Ray. This section has more details.
  2. PoseRay was tested with DAZ|Studio 1.3.1.0.
  3. Export the scene from DAZ|Studio using File | Export and select Bryce 5 Object. DAZ|Studio automatically saves a copy of the scene textures in the same place under /convertedmaps and /maps directories. PoseRay will need those maps to read the scene.
  4. Start PoseRay and click on Load... and DAZ|Studio scene... and select the file saved in the step above.
  5. After PoseRay loads the scene check that there are no missing or incompatible textures by looking at the status messages at the bottom. Click on the [+] to get more details.
  6. Go to the Moray export tab and press Save. Default options should work for most cases
  7. Run Moray and import the UDO file just created
  8. You can get more Moray details in this section.

Rendering a Poser Animation (Batch processing)

  1. Create the animation in poser and save the scene. (PZZ or PZ3 format)
  2. In Poser go to File | Export | Wavefront Object and save the animation as multiple OBJ files. This may take a long time for dense meshes and numerous frames.
  3. 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
  4. Start PoseRay and load the Poser scene made up of walk_0.obj and walk.pz3.
  5. Check that there are no missing or incompatible textures by looking at the warning flag on the status text at the bottom. This step will ensure that the materials are properly set and that there are no orphan image maps. Poser sometimes uses TIFF images that may not be compatible with POV-Ray. You can convert them in the materials tab.
  6. Go to the preview and set the camera to what you want. Camera and lights are not animated so they will be fixed during the animation.
  7. Go to the material tab and press Save... to save the materials as an MTL file. This will contain the updated material file for the animation. It has the right paths for all the image maps. In this tutorial it will be called walk_materials.mtl.
  8. Now from the input tab click on Load... and tehn Batch... and select ALL the OBJ files from the animation (walk_0.obj to walk_60.obj). PoseRay will ask if a common material file is to be used. Click yes and select the file saved earlier (walk_materials.mtl). PoseRay will automatically switch to the batch options tab.
  9. For a Poser animation select Use a POV file. 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.
  10. Make sure that the input file name prefix is right. Using the files above the prefix should be walk_
  11. 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)
  12. 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
  13. Common object name can be left unchanged
  14. The common input material is displayed here in case you want to change it.
  15. You can leave the default POV-Ray material file as a common file.
  16. Set the size of the render in the POV-Ray | Options tab.
  17. 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
  18. 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= 
material{
texture {pigment {color rgb <1,1,1> transmit 0}} //underlying 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 materials you can change the definition to look like

#include "glass.inc" //T_Glass1 is in glass.inc
#declare SkinBody_1= material {M_Glass1} //use M_Glass1 for the SkinBody_1 material

Creating a morph target for Poser using mesh displacement in PoseRay:

  1. In Poser load the model that you want to apply the morph to. Zero the joints and make sure that the hip, body position and rotation are zero.
  2. Export the body part that you want to apply the morph to as a Wavefront OBJ file. Leave the options in their default state.
  3. Load the body part into PoseRay as an OBJ file 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.
  4. 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.
  5. Save the modified geometry into a OBJ file.
  6. 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 directory 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" //geometry 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

  1. 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.
  2. Go to geometry tab and flat subdivide the model several times. This will create a high resolution mesh from the plane.
  3. Go to the subdivision subtab and select the image map you want to use. Enter a min and max displacements.
  4. Press update to deform the mesh.
  5. Do a single smooth subdivision using the default settings. This will smooth out sharp edges.
  6. To smooth out the appearance go to the Faces, vertices & Normals subtab and make the crease angle 180 deg and press update.
  7. 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.
  8. 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:

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:

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 status 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 search tool in 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. PoseRay cannot parse any transformations in the mesh
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 and line 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 gzip-compressed VRML files with the extension *.gz.. Predefined shapes such as cylinders, spheres, boxes etc will not be recognized.
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:

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


Help!

Warning Messages:


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:

Problem: I closed the Preview window. How do I get it back?.
Suggestion: Go to the Preview tab and press Show Preview button at the top.

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 this tutorial on how to properly import a Poser scene.

Problem: PoseRay loaded a Poser scene with the wrong texture.
Suggestion: PoseRay automatically searches for the textures using their names only. Paths are discarded. If there are two different textures with the same name PoseRay will load the first it finds. If it loads the wrong one then go to the materials tab and for the wrong map click search. PoseRay will display all the maps in the search paths that it found. Pick the right one from the list. All the other links to the same map will be updated for all materials if you have Auto-update activated.

Problem: Texture has a grainy appearance in the POV-Ray render although the texture is smooth.
Suggestion: Use the recursive high quality (+A0.1) anti-alias setting.

Problem: Transparency effects do not look good in PoseRay.
Suggestion: This usually happens with overlapping transparent surfaces. Click on use cutoff on the Preview tab under options. This only changes the preview and does not modify the maps.

Problem: PoseRay gives an error or does nothing with a DAZ|Studio script with camera or lighting
Suggestion: The file may be created with a beta version of DAZ|Studio. Upgrade to the official release and also make sure that the file was saved as a plain text DAZ script (*.ds).

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 covered by it.

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. There are instructions now for setting up PoseRay in Linux using Wine or VMware. 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 tab under options. 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 e frontier for free revision updates available for Poser 3, 4, 5 and 6.

Problem: How do I make the POV-Ray files portable?
Suggestion: If you want to render the scene in another system when you export the files 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 just black
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 tab under options) 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 at frame 1. 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 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 have a very large model with a million triangles and I keep running out of memory.
Suggestion: See the tips on reducing memory requirements.

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! / I want to submit a bug report
Suggestion: If you have problems with PoseRay or have suggestions send me a message to flyerx_2000@yahoo.com Check the PoseRay site http://mysite.verizon.net/sfg0000/ to see if there is a new version available.


Version History

v3.10.3 (Build 412)

v3.10.2 (Build 411)

v3.10.0 (Build 403)

v3.9.0 (Build 398)

v3.8.18 (Build 390)

v3.8.15 (Build 382)

v3.8.14 (Build 380)

v3.8.11 (Build 374)

v3.8.10 (Build 372)

v3.8.9 (Build 369)

v3.8.7 (Build 358)

v3.8.5 (Build 351)

v3.8.4 (Build 349)

v3.8.2 (Build 327)

v3.8.1 (Build 325)

v3.8.0 (Build 321)

v3.0.2 (Build 272)

v3.0.1

v2.6.6

v2.6.5

v2.6.4

v2.6.3

v2.6.1

v2.6.0

v2.0.1

v2.0.0

v1.3.0

v1.2.4

v1.2.3

v1.2.2

v1.2.1

v1.2.0

v1.0


Acknowledgments

PoseRay uses the following:

I would like to thank all the people that have reported bugs and tested PoseRay.


Legal information and License