EnglishFrenchSpanish

OnWorks favicon

obj2rad - Online in the Cloud

Run obj2rad in OnWorks free hosting provider over Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator

This is the command obj2rad that can be run in the OnWorks free hosting provider using one of our multiple free online workstations such as Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator

PROGRAM:

NAME


obj2rad - convert Wavefront .obj file to RADIANCE description

SYNOPSIS


obj2rad [ -n ][ -f ][ -m mapfile ][ -o objname ] [ input ]

DESCRIPTION


Obj2rad converts a Wavefront .obj file to a RADIANCE scene description. The material
names for the surfaces will assigned based on the mapping rules file given in the -m
option. If no mapping file is given, the identifiers given by the "usemtl" statements
will be used as the material names. If no "usemtl" statements are found, the group names
(given by the "g" statement) will be used instead. Failing this, the default material
"white" will be used.

A mapping file contains a list of materials followed by the conditions a surface must
satisfy in order to have that material. For example, if we wanted all faces in the Group
"thingy" with texture Map "pine" to use the material "wood", and all other surfaces to use
the material "default", we would create the following mapping file:

default ;
wood (Group "thingy") (Map "pine") ;

All faces would satisfy the first set of conditions (which is empty), but only the faces
in the Group "thingy" with texture Map "pine" would satisfy the second set of conditions.

Each rule can have up to one condition per qualifier, and different translators use
different qualifiers. In obj2rad, the valid qualifiers are Material, Map, Group, Object
and Face. A condition is either a single value for a specific attribute, or an integer
range of values. (Integer ranges are specified in brackets and separated by a colon, eg.
[-15:27], and are always inclusive.) A semicolon is used to indicate the end of a rule,
which can extend over several lines if necessary.

The semantics of the rule are such that "and" is the implied conjunction between
conditions. Thus, it makes no sense to have more than one condition in a rule for a given
qualifier. If the user wants the same material to be used for surfaces that satisfy
different conditions, they simply add more rules. For example, if the user also wanted
faces between 50 and 175 in the Group "yohey" to use "wood", they would add the following
rule to the end of the example above:

wood (Face [50:175]) (Group "yohey") ;

Note that the order of conditions in a rule is irrelevant. However, the order of rules is
very important, since the last rule satisfied determines which material a surface is
assigned.

By convention, the identifier "void" is used to delete unwanted surfaces. A surface is
also deleted if it fails to match any rule. Void is used in a rule as any other material,
but it has the effect of excluding all matching surfaces from the translator output. For
example, the following mapping would delete all surfaces in the Object "junk" except those
with the Group name "beige", to which it would assign the material "beige_cloth", and all
other surfaces would be "tacky":

tacky ;
void (Object "junk") ;
beige_cloth (Object "junk") (Group "beige") ;

The -n option may be used to produce a list of qualifiers from which to construct a
mapping for the given .obj file. This is also useful for determining which materials must
be defined when no mapping is used.

The -f option is used to flatten all faces, effectively ignoring vertex normal
information. This is sometimes desirable when a smaller model or more robust rendering is
desired, since interpolating vertex normals takes time and is not always reliable.

The -o option may be used to specify the name of this object, though it will be overriden
by any "o" statements in the input file. If this option is absent, and there are no "o"
statements, obj2rad will attempt to name surfaces based on their group associations.

If no input files are given, the standard input is read.

DETAILS


The following Wavefront statements are understood and translated by obj2rad.

# A comment. This statement is passed to the output verbatim. It has no effect.

f A polygonal face. If the vertices have associated surface normals, the face
will be broken into quadrilaterals and triangles with the appropriate Radiance
textures to interpolate them. Likewise, if the face is non-planar, it will be
broken into triangles. Each face in the input file is assigned a number,
starting with 1, and this number may be used in the material mapping rules.

g Group association. The following faces are associated with the named group(s).
These may be used in the mapping rules, where a rule is matched if there is an
association with the named Group. (I.e. since there may be multiple group
associations, any match is considered valid.) If a mapping file is not used and
no "usemtl" statement has been encountered, the main group is used for the
surface material identifier.

o Object name. This is used to name the following faces, and may be used in the
mapping rules.

usemap A texture map (i.e. Radiance pattern) name. The name may be used in the
material mapping rules, but the indexing of Radiance patterns is not yet
supported.

usemtl A material name. The name may be used in mapping rules, or will be used as the
Radiance material identifier if no mapping is given.

v A vertex, given by its x, y and z coordinates.

vn A vertex normal, given by its x, y and z direction components. This vector will
be normalized by obj2rad, and an error will result if it has length zero.

vt A vertex texture coordinate. Not currently used, but will be if we ever get
around to supporting Wavefront textures.

All other statement types will be ignored on the input. A final comment at the end of the
Radiance output file will give some indication of how successful the translation was,
since it will mention the number of statements obj2rad did not recognize.

EXAMPLE


To create a qualifier list for triceratops.obj:

obj2rad -n triceratops.obj > triceratops.qual

To translate triceratops.obj into a RADIANCE file using the mapping triceratops.map:

obj2rad -m triceratops.map triceratops.obj > triceratops.rad

NOTES


Many good and useful Wavefront object files are available by anonymous ftp from
"avalon.chinalake.navy.mil" in the /pub/objects/obj directory.

Use obj2rad online using onworks.net services


Free Servers & Workstations

Download Windows & Linux apps

  • 1
    USBLoaderGX
    USBLoaderGX
    USBLoaderGX is a GUI for
    Waninkoko's USB Loader, based on
    libwiigui. It allows listing and
    launching Wii games, Gamecube games and
    homebrew on Wii and WiiU...
    Download USBLoaderGX
  • 2
    Firebird
    Firebird
    Firebird RDBMS offers ANSI SQL features
    & runs on Linux, Windows &
    several Unix platforms. Features
    excellent concurrency & performance
    & power...
    Download Firebird
  • 3
    KompoZer
    KompoZer
    KompoZer is a wysiwyg HTML editor using
    the Mozilla Composer codebase. As
    Nvu's development has been stopped
    in 2005, KompoZer fixes many bugs and
    adds a f...
    Download KompoZer
  • 4
    Free Manga Downloader
    Free Manga Downloader
    The Free Manga Downloader (FMD) is an
    open source application written in
    Object-Pascal for managing and
    downloading manga from various websites.
    This is a mirr...
    Download Free Manga Downloader
  • 5
    UNetbootin
    UNetbootin
    UNetbootin allows you to create bootable
    Live USB drives for Ubuntu, Fedora, and
    other Linux distributions without
    burning a CD. It runs on Windows, Linux,
    and ...
    Download UNetbootin
  • 6
    Dolibarr ERP - CRM
    Dolibarr ERP - CRM
    Dolibarr ERP - CRM is an easy to use
    ERP and CRM open source software package
    (run with a web php server or as
    standalone software) for businesses,
    foundations...
    Download Dolibarr ERP - CRM
  • ation Foundation Linux app" href="/software/linux/app-windows-presentation-foundation">Download Windows Presentation Foundation "/software/linux/app-transmission-remote-gui">Download Transmission Remote GUI inux, MacOS and Windows. The main pu...
    Download butt (broadcast using this tool)
  • More »

Linux commands

Ad