XSIforum.com

Foros 3D => Autodesk Softimage => Mensaje iniciado por: povmaniaco en 06 Agosto 2010, 15:11:16

Título: ..y ahora de Softimage a Yafaray; YafXSI.
Publicado por: povmaniaco en 06 Agosto 2010, 15:11:16
Siguiendo en mi plan de aprender C++ y de paso profundizar en XSISDK me he metido de lleno a crear un exportador para Yafaray. Como un "summer of code" un poco particular...
El exportador hereda todo lo bueno y mas, de mi proyecto anterior con PovRay, pero es bastante mas complejo y avanzado. Solo el menu, ya tiene la mitad de codigo que todo PovXSI., y aun no esta acabado.
Como podeis ver, sigo empeñado en tener varias opciones de renderizadores para XSI Mod Tool.
Os dejo los enlaces para quien quiera echarle un ojo al proyecto.

Video en vimeo.. (http://www.vimeo.com/13726205)

El post en el foro de Yafaray.
Yafaray Forum.. (http://www.yafaray.org/community/forum/viewtopic.php?f=16&t=3460)

Título: Re: ..y ahora de Softimage a Yafaray; YafXSI.
Publicado por: Cesar Saez en 06 Agosto 2010, 18:07:14
Tiene buena pinta! ánimo ;)
Título: Re: ..y ahora de Softimage a Yafaray; YafXSI.
Publicado por: agedito en 06 Agosto 2010, 18:15:35
Buena pinta, sí señor. Bravo por la iniciativa
Título: Re: ..y ahora de Softimage a Yafaray; YafXSI.
Publicado por: povmaniaco en 16 Agosto 2010, 00:45:28
Si el menu me parecio complicado... No hablemos de la complejidad de crear los shaders!!
Pero animo que ya casi los tengo!
Me planteaba dos opciones; o "traducir" los de XSI a Yafaray o, crearlos nuevos.
De momento he creado los 5 tipos de "shaders" que usa Yafaray; shinydiffusemat, glossy, coated_glossy, glass y roughglass. En la imagen, shinydiffusemat casi acabado, a falta refinar y comprobar algunos parametros.
Subo tambien una imagen de los primeros renders con texturas de imagen.
Saludos...
Título: Re: ..y ahora de Softimage a Yafaray; YafXSI.
Publicado por: povmaniaco en 30 Agosto 2010, 21:43:07
Trabajando en los  shaders de XSI, se ne plantea una duda...
He oido (leido) que el sistema de  shaders con archivos .spdl ha cambiado en las ultimas versiones. No he tenido aun acceso a las versiones mas alla de la 2010 SP1,y solo durante 30 dias ( mi mala conexion no me permite bajarme files de  1 GB y pico).
Mi pregunta seria.... ¿ hasta que punto son compatibles los shaders antiguos con las nuevas versiones?
¿Estoy "perdiendo" el tiempo en crear mis shaders para YafXSI basados en .spdl's?
Aprovecho la ocasion para subir algunas imagenes del trabajo que estoy realizando.
Título: Re: ..y ahora de Softimage a Yafaray; YafXSI.
Publicado por: povmaniaco en 22 Diciembre 2010, 20:39:15
Bua.. como pasa el tiempo. Pense que este hilo estaria cerrado por falta de actividad.
El proyecto YafXSI, sigue en pie, aunque pausado. Buscando ayuda en el canal IRC de YafaRay, he acabado, colaborando en el nuevo exportador para la  version 2.5 de Blender. Asi, que he aparcado un tiempo el C++, y ando peleandome con la sintaxis de Python. :)
Saludos...
Título: Re: ..y ahora de Softimage a Yafaray; YafXSI.
Publicado por: povmaniaco en 22 Enero 2011, 23:44:33
Vuelta al C++.. Después de un tiempo solo con Python y Blender, estamos otra vez dando caña al exportador.
Un par de cambios...
-Creo que el proyecto va a cambiar de "plugin" a "addon" y, si todo va bien, de exportador a renderizador integrado en Softimage.
Las últimas pruebas, con la versión 2011, me han dado muy buenas expectativas.
-El nombre del proyecto... Creo que seria mas descriptivo, llamarlo YafaRay Renderer ... for Softimage? XSI es historia, buena, pera pasada
Saludos...
Título: Re: ..y ahora de Softimage a Yafaray; YafXSI.
Publicado por: povmaniaco en 17 Febrero 2011, 00:01:36
Dos pequeños avances...
   -Background texture
   - Primeras pruebas de renderizado directo, sin exportar archivo a disco...
http://dl.dropbox.com/u/16848591/into_xsi.swf (http://dl.dropbox.com/u/16848591/into_xsi.swf)
Título: Re: ..y ahora de Softimage a Yafaray; YafXSI.
Publicado por: Eloihm en 19 Febrero 2011, 11:12:10
Animo y sigue así!
Título: Re: ..y ahora de Softimage a Yafaray; YafXSI.
Publicado por: povmaniaco en 12 Marzo 2011, 11:57:30
Chicos.. esto empieza a tener muy buena pinta!
http://dl.dropbox.com/u/16848591/yafaray_dyn.swf (http://dl.dropbox.com/u/16848591/yafaray_dyn.swf)
Saludos..
Título: Re: ..y ahora de Softimage a Yafaray; YafXSI.
Publicado por: alanf en 12 Marzo 2011, 23:00:13
El ultimo video no muestra ningun render. ???
Título: Re: ..y ahora de Softimage a Yafaray; YafXSI.
Publicado por: povmaniaco en 07 Abril 2011, 04:09:40
Pequeños avances en el exportador, esta vez, en la direccion del uso de la interfaz QT de YafaRay. Opcion "obligada" al usar Softimage Mod Tool, ya que esta version, no nos deja acceder al "render manager" para añadir renderizadores externos, integrados plenamente.
Restriccion, que no existe, obviamente, en las versiones comerciales.
Os dejo el link a un pequeño video en Vimeo.
Saludos..
 
YafaRay QT interface (http://www.vimeo.com/22014426)
Título: Re: ..y ahora de Softimage a Yafaray; YafXSI.
Publicado por: Cesar Saez en 07 Abril 2011, 10:18:15
Mola!!! O0
Título: Re: ..y ahora de Softimage a Yafaray; YafXSI.
Publicado por: povmaniaco en 07 Mayo 2011, 19:14:30
Estoy ultimando los detalles, para publicar la primera version beta de YafaRay for Softimage. Espero tener algo a punto a principios de la semana que viene o mediados.
No hace falta decir, que cuento con vuestras criticas, lista de errores, cosas que le faltan.. y demas. :)
Saludos....
Título: Re: ..y ahora de Softimage a Yafaray; YafXSI.
Publicado por: povmaniaco en 11 Mayo 2011, 11:20:08
Ya esta disponible el codigo fuente de YafaRay for Softimage.
https://github.com/povmaniaco/YafaRayforXSI (https://github.com/povmaniaco/YafaRayforXSI)
La primera version para probar.. tan pronto tenga el  paquete "addon" a punto, que sera en breve.
Mientras, un nuevo aunque pequeño video en vimeo, con pruebas de materiales..


YafaRay for Softimage; preview materials (http://www.vimeo.com/23574502)
Saludos...
Título: Re: ..y ahora de Softimage a Yafaray; YafXSI.
Publicado por: povmaniaco en 03 Junio 2011, 11:12:35
Y finalmente, YafaRay Exporter addon for Autodesk  Softimage beta 0.1 para win32 bits, ha sido publicado. Podéis leer el anuncio, en la pagina de YafaRay http://www.yafaray.org (http://www.yafaray.org) y descargarlo en la sección de descargas.. http://www.yafaray.org/download (http://www.yafaray.org/download)
Ahi encontrareis también los link a la wiki de Github (https://github.com/povmaniaco/YafaRayforXSI/wiki/Install-addon), con instrucciones para su instalación y configuracion.
Estaré encantado de recibir criticas, opiniones o sugerencias sobre el exportador.
Saludos...
Título: Re: ..y ahora de Softimage a Yafaray; YafXSI.
Publicado por: Ángel Sánchez en 03 Junio 2011, 11:35:23
Enhorabuena por el trabajo :)
Título: Re: ..y ahora de Softimage a Yafaray; YafXSI.
Publicado por: povmaniaco en 03 Junio 2011, 12:37:14
Gracias!! Ha sido un duro trabajo de casi un año, pero ha merecido la pena, por todo lo aprendido. Pero, esto no ha hecho mas que empezar...
Saludos.
Título: Re: ..y ahora de Softimage a Yafaray; YafXSI.
Publicado por: SUBFRAME en 03 Junio 2011, 18:09:00
Ufff!! Enhorabuena, vaya currada que debe haber sido. A ver si actualizo el Softi alguna vez (sigo con la 7) y lo pruebo.

Muchas gracias
Título: Re: ..y ahora de Softimage a Yafaray; YafXSI.
Publicado por: povmaniaco en 03 Junio 2011, 19:50:41
Gracias SUBFRAME. Si es la 7.01 creo que puede funcionar. He utilizado el XSISDK de la 7.5 en un 99%, y mi base de trabajo ha sido Softimage  Mod Tool 7.5.
Saludos..
Título: Re: ..y ahora de Softimage a Yafaray; YafXSI.
Publicado por: SUBFRAME en 03 Junio 2011, 19:58:13
A ver si tengo un hueco y lo pruebo.
Un abrazo
Título: Re:..y ahora de Softimage a Yafaray; YafXSI.
Publicado por: povmaniaco en 20 Diciembre 2011, 01:23:24
Tengo el placer de anunciarles, que ya esta disponible, la version beta 0.2 de YafaRay for Autodesk Softimage.
Con bastantes mejoras, entre ellas..
- 'Preview Materials' para un control mas preciso del material, antes de lanzar el render(wip).
-Para visualizar el material, basta con cambiarle el nombre a 'Preview' y hacer clip en el boton 'Preview materials'
- Opcion para exportar el material en formato .xml de YafaRay.
- Arreglado el error al cargar o crear nuevas escenas.
- Añadida opcion en UI de cargar archivos .xml de YafaRay para renderizarlos.
Nuevos 'nodos' añadidos:
- yaf_light_mat; para crear objetos emisores (meshlight) con solo aplicar este material al objeto.
- yaf_IES_light; para crear luces con ficheros tipo IES.
- Este nodo, es aplicable solo a luces tipo 'spot' ( de momento..).
- yaf_bgportal_light; para crear objetos tipo PortalLight.
- yaf_image; nodo para texturas tipo 'image file'.
- Use este nodo, para crear texturas basadas en imagenes, el nodo 'image' de Softimage, no trabaja correctamente con YafaRay.
- yaf_angular_cam; añade el tipo de camara 'angular'
Y muchas mejoras más..

Pueden descargar YafaRay for Autodesk Softimage de la pagina de YafaRay; http://www.yafaray.org/download1
O de la pagina Github, donde tambien encontraran los ficheros fuente del exportador; http://github.com/povmaniaco/YafaRayforXSI

Tambien pueden seguir la evolucion del exportador, el este thread del foro de YafaRay..
http://www.yafaray.org/community/for...hp?f=16&t=3460

Atencion!!
Para usar el exportador con versiones 2010, 2011 y 2012 de Softimage, deben sustituir las librerias Qt4 ( e.g. .. /Softimage/2010/Application/bin)
Qt4gui.dll, Qt4core.dll, Qt4xml.dll y Qt4Opengl.dll, (version 4.5.1) por las del exportador (version 4.7.3).

P D: El exportador funciona con la version gratuita Autodesk Softimage Mod Tool 7.5
Un saludo y felices renders...
Título: Re:..y ahora de Softimage a Yafaray; YafXSI.
Publicado por: povmaniaco en 29 Diciembre 2011, 08:26:53
Bueno.. Aprovechando estos dias estoy de vacaciones...( y que acabo de descubrir lo util que es Dropbox..:), os dejo unas imagenes con los ultimos avances de YafaRay for Softimage.

Blend material
(http://dl.dropbox.com/u/16848591/yaf_wiki/blend_text2.png)
(http://dl.dropbox.com/u/16848591/yaf_wiki/blend_text1.png)

YafaRay DoF Camera ( Lens shader)
(http://dl.dropbox.com/u/16848591/yaf_wiki/yaf_dof_cam1.png)
(http://dl.dropbox.com/u/16848591/yaf_wiki/yaf_dof_cam2.png)

Primeros pasos para exportar volumetricas
(http://dl.dropbox.com/u/16848591/yaf_wiki/yaf_volumetrics.png)

Cualquiera diria, que estoy de vacaciones..:)
Saludos... y buenas fiestas!
Título: Re:..y ahora de Softimage a Yafaray; YafXSI.
Publicado por: povmaniaco en 15 Febrero 2012, 00:19:47
Pare celebrar que hoy, hace dos años, que me regalaron el primer libro de C++ voy a compartir.. algo de Python. :)
Hay poca informacion sobre el API de YafaRay. Fue una de las cosas que más encontre a faltar, cuando empece a programar el exportador.
Los desarrolladores, ( los pocos que hay) suelen estar más ocupados en crear, que en documentar y eso hace, que a pesar de ser 'open-source', no hayan muchos datos sobre el codigo.
Solo una pequeña 'interface-demo' en C++, que se distribuia con el 'source', en la version 0.1.1 y, que se ha dejado de hacer, en la version 0.1.2 beta.
Lo que  comparto aqui, es la version para Python, de esa 'interface-demo'.
Está en una fase muuy Alpha ( la he hecho en dos tardes..) y le faltan muchas cosas, pero como base, es suficiente.
Si alguien esta interesado, o la encuentra util,  estare por aqui :)
En proximos dias, quiero publicar tambien, la version  para C++...
Saludos..
Código: [Seleccionar]
# ##### BEGIN GPL LICENSE BLOCK #####
#
#  This program is free software; you can redistribute it and/or
#  modify it under the terms of the GNU General Public License
#  as published by the Free Software Foundation; either version 2
#  of the License, or (at your option) any later version.
#
#  This program is distributed in the hope that it will be useful,
#  but WITHOUT ANY WARRANTY; without even the implied warranty of
#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#  GNU General Public License for more details.
#
#  You should have received a copy of the GNU General Public License
#  along with this program; if not, write to the Free Software Foundation,
#  Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#
# ##### END GPL LICENSE BLOCK #####

# <pep8 compliant>

import sys
import os
import ctypes

import math
from math import degrees, pi, sin, cos
#
PLUGIN_PATH ="h:/minipython/bin/plugins"
BIN_PATH="h:/minipython/bin"
sys.path.append(BIN_PATH)

# Preload needed libraries
# if used the Megasoft78 compilations, Qt interface its not supported
povman = True
mega = False
if sys.platform == 'win32':
    if povman:
        dllArray = ['zlib1', 'yafaraycore', 'yafarayplugin', 'yafarayqt']
    else:
        dllArray = ['zlib1', 'libxml2-2', 'libgcc_s_sjlj-1', 'Half', 'Iex', 'IlmThread', 'IlmImf', \
    'libjpeg-8', 'libpng14', 'libtiff-3', 'libfreetype-6', 'libyafaraycore', 'libyafarayplugin']
elif sys.platform == 'darwin':
    dllArray = ['libyafaraycore.dylib', 'libyafarayplugin.dylib']
else:
    dllArray = ['libyafaraycore.so', 'libyafarayplugin.so']

for dll in dllArray:
    try:
        ctypes.cdll.LoadLibrary(os.path.join(BIN_PATH, dll))
    except Exception as e:
        print("ERROR: Failed to load library " + dll + ", " + repr(e))

import yafrayinterface

## load interface and plugins
yi = yafrayinterface.yafrayInterface_t()
yi.loadPlugins(PLUGIN_PATH)

##------------
yi.startScene()

##--- texture --------------------
yi.paramsClearAll()
texName ="rgb_cube1"
yi.paramsSetString("type", "rgb_cube")
yi.createTexture(texName)
   
##--- material -----------------------------
yi.paramsClearAll()
yi.paramsSetString("type", "shinydiffusemat")
   
yi.paramsPushList()
yi.paramsSetString("type", "texture_mapper")
yi.paramsSetString("name", "rgbcube_mapper")
yi.paramsSetString("texco", "uv")
yi.paramsSetString("texture", texName )
yi.paramsEndList();
   
yi.paramsSetString("diffuse_shader", "rgbcube_mapper")

mat = yi.createMaterial("myMat")

##----- lights ------------------------------
yi.paramsClearAll()
yi.paramsSetString("type", "directional")
yi.paramsSetPoint("direction", -0.3, -0.3, 0.8 )
yi.paramsSetColor("color", 1.0, 1.0, 0.9 )
yi.paramsSetFloat("power", 1.0 )
yi.createLight("myDirectional")

#
yi.paramsClearAll()
yi.paramsSetColor("color", 1, 1, 1, 1)
yi.paramsSetPoint("from", 11, 3, 8)
yi.paramsSetFloat("power", 160)
yi.paramsSetString("type", "pointlight")
yi.createLight("LAMP1")
   
##-------------------------------------
def makeSphere( nu, nv, x, y, z, rad, mat):

        # get next free id from interface

        ID = yi.getNextFreeID()

        yi.startGeometry()

        if not yi.startTriMesh(ID, 2 + (nu - 1) * nv, 2 * (nu - 1) * nv, False, False):
            yi.printError("Couldn't start trimesh!")

        yi.addVertex(x, y, z + rad)
        yi.addVertex(x, y, z - rad)
        for v in range(0, nv):
            t = v / float(nv)
            sin_v = sin(2.0 * pi * t)
            cos_v = cos(2.0 * pi * t)
            for u in range(1, nu):
                s = u / float(nu)
                sin_u = sin(pi * s)
                cos_u = cos(pi * s)
                yi.addVertex(x + cos_v * sin_u * rad, y + sin_v * sin_u * rad, z + cos_u * rad)

        for v in range(0, nv):
            yi.addTriangle(0, 2 + v * (nu - 1), 2 + ((v + 1) % nv) * (nu - 1), mat)
            yi.addTriangle(1, ((v + 1) % nv) * (nu - 1) + nu, v * (nu - 1) + nu, mat)
            for u in range(0, nu - 2):
                yi.addTriangle(2 + v * (nu - 1) + u, 2 + v * (nu - 1) + u + 1, 2 + ((v + 1) % nv) * (nu - 1) + u, mat)
                yi.addTriangle(2 + v * (nu - 1) + u + 1, 2 + ((v + 1) % nv) * (nu - 1) + u + 1, 2 + ((v + 1) % nv) * (nu - 1) + u, mat)

        yi.endTriMesh()
        yi.endGeometry()

        return ID
##----- create mesh --------------------------

nu=24
nv = 48
x=0
y=0
z=0
rad= .5   
ID = makeSphere(nu, nv, x, y, z, rad, mat)

       
##--- create cam ---------------------------
yi.paramsClearAll()
yi.paramsSetString("type", "perspective")
yi.paramsSetPoint("from", -1.5,-2.0,1.7 )
yi.paramsSetPoint("to", 0,0,0.2 )
yi.paramsSetPoint("up", -1.5,-2.0,2.7 )
yi.paramsSetInt("resx", 640)
yi.paramsSetInt("resy", 480)
yi.paramsSetFloat("focal", 1.4)
yi.createCamera("camera")
   
##---- background --------------------------
yi.paramsClearAll()
yi.paramsSetString("type", "constant")
yi.paramsSetColor("color", 0.4, 0.5, 0.9 )
yi.createBackground("world_background")

##--- integrator ---------------------------
yi.paramsClearAll()
yi.paramsSetString("type", "directlighting")
yi.createIntegrator("myDL")

##--- volume integrator --------------------
yi.paramsClearAll()
yi.paramsSetString("type", "none")
yi.createIntegrator("volintegr")

##----- output -----------------------------
yi.paramsClearAll()
file_type = 'png'
yi.paramsSetString("type", file_type)
yi.paramsSetBool("alpha_channel", False)
yi.paramsSetBool("z_channel", False)
yi.paramsSetInt("width", 640)
yi.paramsSetInt("height", 480)
ih = yi.createImageHandler("outFile")
output = yafrayinterface.imageOutput_t(ih, 'h:/minipython/test.png', 0, 0)

##---- camera ---------------------------------------
yi.paramsClearAll()
yi.paramsSetString("camera_name", "camera")
yi.paramsSetString("integrator_name", "myDL")
yi.paramsSetString("volintegrator_name", "volintegr")
   
yi.paramsSetInt("AA_minsamples", 4)
yi.paramsSetFloat("AA_pixelwidth", 1.5)
yi.paramsSetString("filter_type", "mitchell")
yi.paramsSetInt("width", 640)
yi.paramsSetInt("height", 480)
yi.paramsSetString("background_name", "world_background")

##---- QT interface ------------------------------------------
use_gui=True
if mega:
    use_gui = False
#
if use_gui:
    import yafqt
    yafqt.initGui()
    guiSettings = yafqt.Settings()
    guiSettings.autoSave = False
    guiSettings.closeAfterFinish = False
    guiSettings.mem = None
    guiSettings.fileName = 'test.png'
    guiSettings.autoSaveAlpha = False
    #
    yafqt.createRenderWidget(yi, 640, 480, 0, 0, guiSettings)
else:
    yi.render(output)
 
yi.clearAll()
del yi

Título: Re:..y ahora de Softimage a Yafaray; YafXSI.
Publicado por: Ownage en 15 Febrero 2012, 18:07:37
muchas gracias pov :D no entiendo de que va todo esto pero seguro que es bueno para mas de uno :DD
Título: Re:..y ahora de Softimage a Yafaray; YafXSI.
Publicado por: xuanprada en 15 Febrero 2012, 20:27:20
Muy interesante.
Título: Re:..y ahora de Softimage a Yafaray; YafXSI.
Publicado por: povmaniaco en 16 Febrero 2012, 10:37:18
muchas gracias pov :D no entiendo de que va todo esto pero seguro que es bueno para mas de uno :DD
Basicamente, el Api es la puerta de enlace de una aplicacion..
He actualizado el codigo, y he subido un pequeño video a Vimeo.
( sin sonido :) Si no hablo, al proximo intentare ponerle musica, al menos)

http://vimeo.com/36886356 (http://vimeo.com/36886356)

Muy interesante.

Gracias!!