Reflections on a new sketchup exporter for LuxRender ?
-
Hi everyone,
I'm new here, my name is Terrence Vergauwen aka 'radiance29'.
I've seen a few familiar faces around from times long past.I used to be involved in the indigo renderer community, as a website developer/administrator and documentation writer a few years ago,
until i left and started a new project called 'LuxRender'.
Lux is a fully open source (GPL licensed), and as such free, physically based renderer, similar to maxwell render, fryrender and indigo, with additionally support for some more traditional methods such as whitted raytracing and photonmapping. (http://www.luxrender.net)The biggest differences between lux and the other well known physically based render engines is that it's completely open-source, meaning that it's developed cooperatively by volunteers, with the source code being freely available for modification/review/etc...
Allthough it's fairly young (about 1.5 years old now), lux development is going at a reasonable fast speed.
We will be releasing a new version of luxrender during the next weeks, which marks another milestone in development with many new features and greatly increased performance.I have had a few questions from sketchup users during the last months with requests for us to develop and exporter for sketchup users.
Since I don't have much experience with sketchup myself, and it's community and development tools,
i decided to write this post to ask a few questions to which any replies might help me to decide what/when/where this can be done.I have noticed that sketchup users already have quite a few choices when it comes to external render engines, so I would like to hear from experienced SU users what they think about this idea,
and if they think there is room for another renderer/exporter.If i decide to develop one, it will probably be written by myself as i'd like to use the opportunity to get familiar with sketchup myself, learn some ruby in the process, and develop a glueing toolkit which can easily produce other exporters in the future.
I've noticed there is the commercial Pro version and the free google version,
What are the limitations involved regarding development of a possible exporter when it comes to these 2 versions ?Would it be possible to use and even develop the exporter entirely using the free google version or not ?
Is there any C/C++ API existing or in the works which would allow more direct control of sketchup's API ?
Finally, I would like to hear some feedback on any specific requests/features/workflow that sketchup users could share with me, and if there any people who have experience with ruby/sketchup development,
who might be interested to lend a hand, although i'm not really looking for a full maintainer, as i will probably do this...Thanks for your time!
Yours,
Radiance -
hi terrence!
first off Welcome!!! ive been following lux render for quite sometime.. though i havent downloaded or even joined the forum.. i occasionally lurk around the forums and gallery!
to answer a few of ur queries :I have noticed that sketchup users already have quite a few choices when it comes to external render engines, so I would like to hear from experienced SU users what they think about this idea,
and if they think there is room for another renderer/exporter.
theres always room for more!!! the community here is always trying to look beyond the conventional horizons of this beautiful application! more support is hence always welcome!I've noticed there is the commercial Pro version and the free google version,
What are the limitations involved regarding development of a possible exporter when it comes to these 2 versions ?
the pro version has 3d export features. it supports exporting into 3ds, collada (.dae) etc. and... well thats what i can really think of rite now.. LOLWould it be possible to use and even develop the exporter entirely using the free google version or not ?
if u take a look at the kerkythea and indigo exporters, both of them work in the pro and free versions of GSU. so i believe u wouldnt have any difficulties in that department!Is there any C/C++ API existing or in the works which would allow more direct control of sketchup's API ?
i think i will just let the pros figure out this one! i am just a 3d monkey and no programmer!!Finally, I would like to hear some feedback on any specific requests/features/workflow that sketchup users could share with me...
IMO, taking a look at the Skindigo plugin from Whaat.. would be the best place to start! it would also depend whether ur tryin to make a plugin which would run Lux from right inside SU or if ur goin to make it a standalone program very much like Kerkythea or maxwell..and finally.. all the very best and do keep us posted! the many ruby pros will be always glad to help u out i am sure!
-
Here's a list of differences between sketchup pro and the free verion!
ciao! -
Hi,
Thanks for your replies, i'm keen to hear more opinions/feedback
Radiance
-
Hi Terrence and welcome!
As JJ says (although he's a Kerky addict), there's always room for new things and a user never knows when he might want to use this tool or that tool for a particular job.
As far as ruby plugins go, there shouldn't be any difference betwen the Pro and Free verions of SU (me saying this being a non-scripter either).
In any case, I don't want to move this topic into the Ruby Discussion forum now but please, make a (maybe more "specific") post there as well and hopefully some of the guys writing exporters (like Whaat for Indigo or Tomasz for Kerkythea) can halp you with the baics.
-
I agree with kwist, contacting whaat would be a good starting point. You could also download su2kt form here: http://www.crai.archi.fr/RubyLibraryDepot/Ruby/em_fil_page.htm to get an idea of some working exporter code.
edit: sorry kwist, i wrote that then investigated a bit further and found you were right, so edited my post.
-
Hi Terrence. There's some great images on your site. LuxRender looks quite interesting.
As for the SU exporter, here's my two cents.
- I am not a photographer
Really, I am not. If I wanted to wonder about aperture, shift lens, and what not, I'd toss my Mac, and get a camera. What does this mean in terms of the exporter? This: the possibility to generate a depth map should be included, and SU's parallel projection and orthographic views should be supported. In a WYSIWYG manner, I mean. Set the view in SU, done.
- I am not a physicist
Ah, materials. Where would we be without them? For a render to look good, you need decent materials. I know this. Therefore I have no problem with spending some time at setting them up. Howeverrrr ... I do NOT want to write code, nor do I want to plough trough cryptic prose on such concepts as 'nd', 'transmittance', and what not. This is something Whaat has understood well. He's provided a whole bunch of material presets with SkIndigo, which can be applied to your mats. Further tweaking can be done using two sliders, which set reflectance and roughness. This, in my opinion, is the way to go. Doesn't matter if one cannot obtain 100% physical correctness that way. A mat that looks good, is a good mat.
- I am not a Max user
I use SU. Nice app, but it's got it's limitations. Lots of geometry and big texture maps will drag SU down to a crawl. Thus component support and externally referenced textures are a must.
That's it. For now. Good luck with your app.
-
@remus said:
kwist, lux is unbiased a la maxwell, indigo etc. so you wont get speeds similar to vray.
I know that Lux render is an unbiased engine Remus.
But Radiance is also talking about Photon Mapping and Raytracing methods, which are calculations that are mostly used in biased engines a la Vray. -
@unknownuser said:
Lots of geometry and big texture maps will drag SU down to a crawl. Thus component support and externally referenced textures are a must.
Not only externally referenced images and components but proxy components and instancing would be nice, too.
-
Ah, yes. Those too.
-
Hi guys,
Thanks for all your replies.
I will take them into account and have already sent a PM to whaat to ask for his contact details/questions.Regarding biased/unbiased,
I see a lot of people placing a label on a render engine of either 'unbiased' or 'biased', and the first label a renderer receives will generally mean the public will always perceive it like that.Lux supports various algorithms, including biased and unbiased ones, so the choice of easy of use / speed / quality is up to the user.
Greetz,
Radiance -
@radiance29 said:
...Lux supports various algorithms, including biased and unbiased ones, so the choice of easy of use / speed / quality is up to the user...
Just like Kerkythea.
-
Hi Terrence,
Imho, The best way to go is contacting Whaat.
He developed the (Sk)Indigo plugin and other great plugins.
By now he must understand all the pitfalls when coding a Render engine for Sketchup.I don't think whaat will be willing to write yet another free exporter, but maybe he is willing to give some advice.
As a user of different render engines for Sketchup, I can say there is room for another (free) render engine.
The things we currently miss in the unbiased range of engines, is a way to seperate the sun from the skylight, for instance for overcast days.Also, rendering out 'channels' for compositing is something we miss: reflection channel, matte channel, shadows channel etc...
I am very interested in what exactly the photon mapping and raytracing component in Luxrender produces.
Vray like? Hybrid?
Currently there is no real good Vray clone in the open source/freeware section, at least not one that produces the same quality. -
Is there any C/C++ API existing or in the works which would allow more direct control of sketchup's API ?
http://code.google.com/apis/sketchup/docs/downloadsdksubmit.html
it would be nice to have a generic exporter and be able to add different render engines output formats (Podium, VRay, Kerkythea, Indigo, ...) - this way everyone will benefit - the users will be able to test different render engines with no or minor tweaking and us, the developers, can concentrate on other things (and not reinventing the wheel, againi and again).
-
@kwistenbiebel said:
The things we currently miss in the unbiased range of engines, is a way to seperate the sun from the skylight, for instance for overcast days.
Not sure I understand what you mean, Chris...
Wouldn't this be taken care of if you're using a HDRI...???@kwistenbiebel said:
Currently there is no real good Vray clone in the open source/freeware section, at least not one that produces the same quality.
Can you please elaborate on this a bit further...
-
Hi Frederick,
The lighting a HDRI produces is flat, meaning the shadows are not pronounced (unless it is IBL enhanced like a texture on a dome or something)
A 'sky/sun separation' would mean that you can control the intensity of the physical sky and direct sun seperately.In most render engines, sun is either 'on' or 'off' and the intensity is calculated by time of day but not tweakable besides that.
(In other host apps (3DsMax,C4D, etc..) the sun is an object (infinite light) with an intensity that can be set. Sketchup hasn't got that. ).Fryrender is the only SU based render engine where you can control sun intensity seperately from sky by using layer blending.Physical sky on layer 0, sun on layer 1 for instance. (Kerkythea might too but not from within SU).
-
@unknownuser said:
it would be nice to have a generic exporter and be able to add different render engines output formats (Podium, VRay, Kerkythea, Indigo, ...) - this way everyone will benefit - the users will be able to test different render engines with no or minor tweaking and us, the developers, can concentrate on other things (and not reinventing the wheel, againi and again).
Alternatively we need to develop a spec for a Sketchup xml specification which can be used by any rendering- or indeed any other application to interrogate a Sketchup model in an API-neutral way. This could also be an ideal import format that can be targeted by any modelling application without developers investing a huge amount of time developing an understanding of the different Sketchup API's.
-
dae (collada) is already supported by many apps and is kind of becoming a generally accepted "standard" (or at least a good candidate). Also, it is in xml format which many (or at least some) exporters such as SU2KT also use.
-
@Kwistenbiebel...
Thanks for your explanation...
Let's see what can be done with future applications... -
Hi guys,
Thanks again for all your replies and ideas
I've decided to go ahead with it and start my planning phase.
I'll report on these forums once i have something.Radiance
Advertisement