Este es el comando obj2rad que se puede ejecutar en el proveedor de alojamiento gratuito de OnWorks utilizando una de nuestras múltiples estaciones de trabajo en línea gratuitas, como Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS.
PROGRAMA:
NOMBRE
obj2rad - convierte el archivo .obj de Wavefront a la descripción de RADIANCE
SINOPSIS
obj2rad [ -n ][ -f ][ -m archivo de mapa ][ -o nombreobjeto ] [ Las opciones de entrada ]
DESCRIPCIÓN
Obj2rad convierte un archivo .obj de Wavefront en una descripción de escena RADIANCE. El material
Los nombres para las superficies se asignarán según el archivo de reglas de mapeo que se proporciona en el -m
opción. Si no se proporciona un archivo de mapeo, los identificadores dados por las declaraciones "usemtl"
se utilizará como nombres de material. Si no se encuentran declaraciones "usemtl", los nombres de los grupos
(dado por la instrucción "g") se usará en su lugar. A falta de esto, el material predeterminado
se utilizará "blanco".
Un archivo de mapeo contiene una lista de materiales seguida de las condiciones que debe tener una superficie.
satisfacer para tener ese material. Por ejemplo, si quisiéramos que todas las caras del grupo
"cosita" con textura Mapa "pino" para utilizar el material "madera", y todas las demás superficies para utilizar
el material "predeterminado", crearíamos el siguiente archivo de mapeo:
defecto ;
madera (Grupo "cosita") (Mapa "pino");
Todas las caras cumplirían el primer conjunto de condiciones (que está vacío), pero solo las caras
en el Grupo "cosita" con textura Mapa "pino" satisfaría el segundo conjunto de condiciones.
Cada regla puede tener hasta una condición por calificador, y diferentes traductores usan
diferentes calificadores. En obj2rad, los calificadores válidos son materiales Mapa, Grupo, Objeto
y Cara. Una condición es un valor único para un atributo específico o un número entero
rango de valores. (Los rangos de números enteros se especifican entre corchetes y separados por dos puntos, p. Ej.
[-15: 27], y son siempre inclusivos.) Se utiliza un punto y coma para indicar el final de una regla,
que puede extenderse sobre varias líneas si es necesario.
La semántica de la regla es tal que "y" es la conjunción implícita entre
condiciones. Por tanto, no tiene sentido tener más de una condición en una regla para un determinado
Calificatorio. Si el usuario desea que se utilice el mismo material para superficies que satisfagan
condiciones diferentes, simplemente agregan más reglas. Por ejemplo, si el usuario también quisiera
caras entre 50 y 175 en el grupo "yohey" para usar "madera", agregarían lo siguiente
regla hasta el final del ejemplo anterior:
madera (Cara [50: 175]) (Grupo "yohey");
Tenga en cuenta que el orden de las condiciones en una regla es irrelevante. Sin embargo, el orden de las reglas es
muy importante, ya que la última regla cumplida determina qué material es una superficie
asignado
Por convención, el identificador "void" se utiliza para eliminar superficies no deseadas. Una superficie es
también se elimina si no coincide con alguna regla. El vacío se usa en una regla como cualquier otro material,
pero tiene el efecto de excluir todas las superficies coincidentes de la salida del traductor. Para
Por ejemplo, la siguiente asignación eliminaría todas las superficies del objeto "basura", excepto las
con el nombre del Grupo "beige", al que se le asignaría el material "beige_cloth", y todos
otras superficies serían "pegajosas":
hortera
void (Objeto "basura");
beige_cloth (Objeto "basura") (Grupo "beige");
Los -n La opción se puede usar para producir una lista de calificadores a partir de los cuales construir un
mapeo para el archivo .obj dado. Esto también es útil para determinar qué materiales deben
definirse cuando no se utilice ningún mapeo.
Los -f La opción se usa para aplanar todas las caras, ignorando efectivamente el vértice normal
información. Esto a veces es deseable cuando se necesita un modelo más pequeño o un renderizado más robusto.
deseado, ya que interpolar las normales de vértice lleva tiempo y no siempre es confiable.
Los -o La opción se puede usar para especificar el nombre de este objeto, aunque se anulará
por cualquier declaración "o" en el archivo de entrada. Si esta opción está ausente y no hay "o"
declaraciones, obj2rad intentará nombrar superficies basándose en sus asociaciones de grupo.
Si no se proporcionan archivos de entrada, se lee la entrada estándar.
DETALLES
Las siguientes declaraciones de Wavefront son entendidas y traducidas por obj2rad.
# Un comentario. Esta declaración se pasa literalmente a la salida. No tiene ningún efecto.
f Una cara poligonal. Si los vértices tienen normales de superficie asociadas, la cara
se dividirá en cuadriláteros y triángulos con el resplandor apropiado
texturas para interpolarlas. Asimismo, si la cara no es plana, será
roto en triángulos. A cada cara del archivo de entrada se le asigna un número,
comenzando con 1, y este número puede usarse en las reglas de mapeo de materiales.
g Asociación de grupo. Las siguientes caras están asociadas con los grupos nombrados.
Estos pueden usarse en las reglas de mapeo, donde una regla se empareja si hay un
asociación con el Grupo nombrado. (Es decir, ya que puede haber varios grupos
asociaciones, cualquier coincidencia se considera válida.) Si no se utiliza un archivo de mapeo y
no se ha encontrado ninguna instrucción "usemtl", el grupo principal se utiliza para el
identificador de material de superficie.
o Nombre del objeto. Esto se usa para nombrar las siguientes caras, y se puede usar en el
reglas de mapeo.
mapa de uso Un nombre de mapa de textura (es decir, patrón Radiance). El nombre se puede utilizar en el
reglas de mapeo de materiales, pero la indexación de los patrones de Radiance aún no está
soportado.
útil Un nombre material. El nombre se puede utilizar en las reglas de mapeo o se utilizará como
Identificador de material radiante si no se proporciona ningún mapeo.
v Un vértice, dado por sus coordenadas x, y y z.
vn Una normal de vértice, dada por sus componentes de dirección x, y y z. Este vector
ser normalizado por obj2rad, y resultará un error si tiene longitud cero.
vt Una coordenada de textura de vértice. No se usa actualmente, pero lo será si alguna vez obtenemos
alrededor para soportar texturas Wavefront.
Todos los demás tipos de declaraciones se ignorarán en la entrada. Un comentario final al final del
El archivo de salida de Radiance dará alguna indicación de qué tan exitosa fue la traducción,
ya que mencionará la cantidad de declaraciones obj2rad no reconoció.
EJEMPLO
Para crear una lista de calificadores para triceratops.obj:
obj2rad -n triceratops.obj> triceratops.qual
Para traducir triceratops.obj en un archivo RADIANCE usando el mapeo triceratops.map:
obj2rad -m triceratops.map triceratops.obj> triceratops.rad
NOTAS
Muchos archivos de objetos Wavefront buenos y útiles están disponibles por ftp anónimo de
"avalon.chinalake.navy.mil" en el directorio / pub / objects / obj.
Utilice obj2rad en línea utilizando los servicios de onworks.net