Fast Photoreal Rendering +++ UPDATE +++


Fast Photoreal Rendering +++ UPDATE +++
#1
Hi,

I am a pioneer in 3d animation and LEGO is the mother of all 3d. When I found LDRAW a long time ago on the internet I started to do some research with digital LEGO a long time before the LEGO movie. Due to my limited time as a company owner I just made some tests and that's it. Now I am testing with MODO and could unlock a new level of detail and realism which is worth to share. LDD2POVRAY is a nice toy but not really useable for more complex stuff like handling bigger scenes with animation, simulation, effects etc. And it's far too slow. The actual result looks quite promising. I need to find a way to get the LEGO logo on the studs. Unfortunately the replacements for stud.dat and stud2.dat are broken and give not the geometry shown in the pictures: http://www.ldraw.org/cgi-bin/ptdetail.cg...-logo3.dat

The fun part is now that I can import everything coming from LeoCAD or MLCad and setup the materials and shading in 15+ minutes to get this quality. A rendering of this Snowspeeder in HD will take around 4-5 minutes on my 12 core DELL. I wished LEGO would allow an export from LDD. I will update this thread with more results. Have fun.

[Image: 7130_Snowspeeder_002.jpg]

[Image: 7130_Snowspeeder_003.jpg]

[Image: 7130_Snowspeeder_004.jpg]

//

UPDATE +++ Studs with LEGO logo

[Image: 7130_Snowspeeder_v05b_Camera_04.jpg]

And here's a result where you see the missing panel in the cockpit now. The panel picture is modeled with MLCad I think and not based on a .dat model. Therefore the python script couldn't convert it. But in MLCad you can export in primitives and then you get the complete model but no separate bricks anymore. And this causes again problems with the rounding shader, low-res studs only as you can see and that's not the model I want to have. So I need to do more investigation and talk to the dev team of that LDR importer to fix this for the future.

[Image: 7130_Snowspeeder_Complete_v03_Camera_05.jpg]

4K Rendering with materials from the Peeron Color List. I made intense tests with hi-res studs and bevels I created with Primitiv Generator 2 but the results are the same when I start to adjust the LEGO logo and edges with the rounded edge feature. And the geometry will be much higher. The Peeron RGB colors are looking good. You need to click again on the picture to scale it to full 4K.

[Image: 7130_Snowspeeder_Normal_Studs_v03c_LEGO_RGB_Wide_4K.jpg]

And another test with a Technic model. I fixed some missing parts but still some bended hose is missing.

[Image: 8070_Technic_Car_v07c_4K.jpg]

The ultimate renderstresstest with over 5.000 bricks what will take full 32 GB of RAM and patience. Check out the 8K version with impressive details:

[Image: 10179_Millennium_Falcon_UCS_v03_Front_8K.jpg]

[Image: 10179_Millennium_Falcon_UCS_v03_Back_8K.jpg]

Another test with the great 10019 set. I wished it were based on the original LEGO CAD data from Billund incl. labels *:-)

[Image: 10019_Rebel_Blockade_Runner_v01_Front_8K.jpg]

[Image: 10019_Rebel_Blockade_Runner_v01_Back_8K.jpg]
LEGO IS MORE
Reply
Re: Fast Photoreal Rendering
#2
Quite impressive.

Are the bevels something you achieve while rendering or you editing your mesh before ?
Reply
Re: Fast Photoreal Rendering
#3
Darats Wrote:Quite impressive.

Are the bevels something you achieve while rendering or you editing your mesh before ?

Bevels are a rounding feature of the material. It's a fake by normals but works pretty well. I have worked out the LEGO logo onto the studs now. Stay tuned for more renders.
LEGO IS MORE
Reply
Re: Fast Photoreal Rendering
#4
If the logos end up looking good, some people might not believe you when you say it's a render. These do look really, really good.

Just out of curiosity, are the imperfections (slight speckle) a consequence of the lighting model, or added texture to prevent the surfaces from looking too perfect?

Also, IMHO the depth of field effect in the one picture ruins it. It's very obviously computer-generated (at very low quality, to boot), while the other images do a very good job of looking real.
Reply
Re: Fast Photoreal Rendering
#6
I'm quite curious...

How do you import Ldraw models into this renderer ?
Reply
Re: Fast Photoreal Rendering
#7
It's not that easy. I am going via Blender and a Python script to import LDR directly. There are a lot of traps and I could work out a way how to do it right. LDView can convert to 3DS but this is a shit format. The problem in this scene is that there's a panel in the cockpit what isn't part of a model. It's made of a lot of polygons and just MLCad and LDView can read that. There's also a bug in the latest MLCad Version what exports wrong colors of models which have colored polygon groups. The programmer gave me an older version what works but might have other issues. When I try to import the model into blender it looks great but the panel picture isn't there. I have to pass this to the dev team of the importer because they are actually rewriting it from scratch. The only way to catch the picture would be to isolate the model and export it as ldraw primitives. When I do this with the whole model it's just one model with materials on polgon groups. And the studs are just in low-res. And the rounding shader will also do concave bevels where bricks touch other bricks. I am sure I will work out a way and will do a tutorial in the future when I have finished all this investigation and testing.
LEGO IS MORE
Reply
Re: Fast Photoreal Rendering
#8
Would it be possile for you to share one of the MODO materials your are using? I'm also starting to have fun with MODO, quite challenging but really interesting.

Edit : This is what I achieved so far :
[Image: test01.jpg]

Not yet as impressive as yours... And I got gaps on the wheels, don't really know how to get rid of that without editing manually the mesh.
Reply
Re: Fast Photoreal Rendering
#9
Darats Wrote:Not yet as impressive as yours... And I got gaps on the wheels, don't really know how to get rid of that without editing manually the mesh.

If you used POV, turning off primitive substitution for your POV export should get rid of the gaps. Of course, this generally lowers the quality of the whole model. I suppose your best bet would be to do both exports, then replace just the wheels (and perhaps the tires) in the substituted file with the wheels from the non-substituted file.
Reply
Re: Fast Photoreal Rendering
#10
No, it's not POV, I tried MODO as virtualrepublic.

As I'm exporting first to Blender, primitive substitution doesn't work (I guess). I can only choose between Low, Medium or High Res Primitives. Maybe Low primitive will do the job, I need to try.

Great advantage of MODO is the easy beveling of every edge. Far more easy than remodelling every "none-LGEO" part to have a nice POV Ray render (which is what I'm currently doing for my renders) :

Here is the same model rendered in POV Ray :
[Image: 11730086965_2c56b7fe1f_b.jpg]
Here the tyres have been remodelled and used as they were LGEO library parts.
Reply
Re: Fast Photoreal Rendering
#5
Wow, these look really impressive! I would love if you could share with us who you did it.

w.
LEGO ergo sum
Reply
Re: Fast Photoreal Rendering
#11
virtualrepublic Wrote:And another test with a Technic model. Unfortunately MLCad reports missing parts.

[Image: 8070_Technic_Car_v03.jpg]

FYI, I wrote a program 10+ years ago that processes an LDraw file and unmirrors subsections so that studs wouldn't have mirrored stud logos. If you're interested, let me know if you're on a PC or Mac, and I'll try to build it. (I might not succeed, since it uses my LDraw file loading code from LDView, and that code has changed a LOT in 10+ years.)
Reply
Re: Fast Photoreal Rendering
#12
I tracked down the binary I posted all those years ago, and re-uploaded it to a working location.

Below is my post from LUGNet when I first wrote UnMirrorStuds, but with an updated URL. Note that I never did go back and work on it, because as far as I can tell, nobody used it. The version posted below is a 32-bit Windows command line program. It's not incredibly likely that I'll ever update the program, but its source code has been in the LDView CVS repository on SourceForge for a very long time.

Travis Cobbs Wrote:OK, I have created a command line program to un-mirror studs. It is called
UnMirrorStuds, and version 0.1 is available from the following location:

http://www.halibut.com/~tcobbs/ldraw/pri...tuds01.zip

Please download it and give it a try, and let me know what you think. I'd like
to have people process as many files as possible in order to track down and fix
any errors. Please note that I haven't personally tested the output with L3P; I
just commented out the automatic stud mirroring in LDView and used that to proof
the output. It works on all the files I have tested it against (including files
with large mirrored sub-assemblies for wings and such).

If it finds any mirrored studs in a model, it creates a new model with a .ums
(un-mirror studs) extension. Send this new model to L3P with stud logos turned
on, and the resulting POV file shouldn't contain any mirrored stud logos.
(Rendering the POV file should produce an image with no mirrored logos.)

In order to handle all possible stud mirroring scenarios, it creates files with
.ums and .um2 extensions where necessary all the way along the model heirarchy
(including in the parts directory). There is also an option to delete all the
files created for a particular file.

If you run it with no command line arguments, it will give you a list of
options. If it creates a new file, it will tell you the filename (your old
filename with its extension replaced with .ums). If you run it on a file with a
.ums extension, that file will be replaced if any mirrored studs are detected
(which admitedly won't happen if the file was generated by the program, and
there is a -s option which prevents the replacement of any files). It doesn't
currently support MPD files, but does detect them; if you give it one, it will
give you an error.

I will release the source code at some point, but it is using my new LDraw model
loading code under development for the next major LDView release, and that code
isn't ready for prime-time. If anyone has a pressing interest, send me an
e-mail, and I will send it to you. As an aside, if you run UnMirrorStuds with
the -v (verbose) option, you will see all the errors and warnings generated by
my new code (some of which will go away prior to an LDView release using the
code).

Once I am convinced that the program is fairly stable (either as-is or--more
likely--after modifications from feedback here), I will post it to
lugnet.anounce and send the program to ldraw.org. While it should work fine, I
wouldn't recommend using it if you are new to LDraw (but then, if you are,
you're probably not reading this newsgroup).
Reply
Re: Fast Photoreal Rendering
#13
Good morning,

thanks for the info and time. I will check this out asap.

Michael
LEGO IS MORE
Reply
Re: Fast Photoreal Rendering
#14
Hi,

it generates the file in inside the file the parts with the wrong studs are also named with .ums extension and this can't be converted of course. When I rename the parts with .DAT it will give me again the mirrored studs in Blender.
LEGO IS MORE
Reply
Re: Fast Photoreal Rendering
#15
Maybe the Blender importer doesn't take all Ldraw command into account (especially the one that tell the stud not to be mirrored).
Reply
Re: Fast Photoreal Rendering
#16
Yes, it looks like. In MLCad my modified studs looks now correct but the LDR Blender script will still load the mirrored ones.
LEGO IS MORE
Reply
Re: Fast Photoreal Rendering
#18
There's no special command. IIRC, it simply replaces the stud.dat reference with a stud.ums reference for studs that have been detected as being mirrored. The stud.ums file has a matrix that mirrors the stud a second time, which results in a correct stud logo. Since the stud is symmetric with the exception of the logo, this second mirroring doesn't cause problems.
Reply
Re: Fast Photoreal Rendering
#17
I'm not sure what you mean by "can't be converted of course." Does the Blender script reject loading files with other extensions? Because if so, I would say that's a bug. Or does it use parts.lst and only support library files that are in there? Or is something else going on?

The .ums files that UnMirrorStuds creates are standard LDraw files. And the .ums version of the model itself references these files. (If the model has sub-models, .ums versions of those are created if needed, referencing .ums files where appropriate. I don't remember off-hand what the .um2 files are. I think they're for mirrored sub-models that themselves contain both mirrored and non-mirrored studs.) I suppose the UnMirrorStuds program could be updated to append -ums to the base filename instead of changing the extension to .ums if the extension really is causing problems, but I don't understand why that would be the case.
Reply
Re: Fast Photoreal Rendering
#19
+++ UPDATE +++

I found the reason: I must start the cmd in Admin mode otherwise no .ums files will be generated.

//

Hi,

when I execute "unmirrorstuds.exe 8070.ldr" is will generate a file called "8070.ums". In this ".ldr" file the mirrored pieces are named with the extension ".ums". Where are those models now? Because this file can't be converted or properly opened in MLCad because the parts with .ums extension are unknown of course.
LEGO IS MORE
Reply
Re: Fast Photoreal Rendering
#20
The UnMirrorStuds.exe program generates stud-mirrored copies of the official parts alongside those official parts (in your LDraw directory). If you look there, you should see various .ums (and possibly .um2) files. And the .ums version of your original model generated by running the program should open in MLCad without any problem. I just tested with a relatively simple model (which only generated two .ums files in my LDraw parts directory, plus one .um2 in parts/s). MLCad opened the file without any errors. I did have to enter *.ums into the file name field of the file open dialog and hit enter in order to see the main file.

Note: to get rid of all of the *.ums and *.um2 files that UnMirrorStuds creates in the LDraw parts directories, run UnMirrorStuds with the -d option, and give it your original LDraw file. It will delete the .ums version of your LDraw file, plus all other .ums/.um2 files that it created when you ran it the first time.

The fact that the files have a different extension makes no difference to MLCad or LDView with respect to viewing the file. (I wouldn't advise trying to edit a .ums file in MLCad, though.) It shouldn't make any difference to other programs either, but I can't be 100% sure of that.

If you're willing to send me your LDraw file, I'll test it myself, but I don't see why it should behave differently in MLCad from the file I ran. Send the file to the LDView email address.
Reply
Re: Fast Photoreal Rendering +++ UPDATE +++
#21
virtualrepublic Wrote:The ultimate renderstresstest with over 5.000 bricks what will take full 32 GB of RAM and patience. Check out the 8K version with impressive details:

Not true. The ultimate render stress test can be found here:

https://code.google.com/p/datsville/

[Image: 11863788266_11ceabbf46_b.jpg]
Reply
Re: Fast Photoreal Rendering +++ UPDATE +++
#22
virtualrepublic, can you send source files (blender) of those renders, please. I want to see how do you conifgure materials, light etc cause I never use blender before.
Reply
Re: Fast Photoreal Rendering +++ UPDATE +++
#23
They are not rendered in Blender. It's MODO. I use Blender for import/export only.
LEGO IS MORE
Reply
Re: Fast Photoreal Rendering +++ UPDATE +++
#24
I'm falling off my seat for these impressive renders.

Question: the 3D logos are on the parts tracker in the meantime.

http://www.ldraw.org/cgi-bin/ptdetail.cg...d-logo.dat
http://www.ldraw.org/cgi-bin/ptdetail.cg...-logo2.dat
http://www.ldraw.org/cgi-bin/ptdetail.cg...-logo3.dat
http://www.ldraw.org/cgi-bin/ptdetail.cg...-logo4.dat
http://www.ldraw.org/cgi-bin/ptdetail.cg...-logo5.dat

Do these work for you? Did you use one of them for the 3D logo?
Reply
Re: Fast Photoreal Rendering +++ UPDATE +++
#25
WoW....

Amazing Crazy Unbelievable Quality that I'd ever seen 0_o;;;;

Please, lead me this new rendering world step by step like saying to 3 year old boy at your earliest convenient time.

Thank you very much for your endeavor and trying.

Oscar
Reply
Re: Fast Photoreal Rendering +++ UPDATE +++
#26
The quality is crazy good, but the images are made with Modo, a commercial program whose web site lists its price as being "From £999" (€1169, $1495).
Reply
Re: Fast Photoreal Rendering +++ UPDATE +++
#27
Hey,

This is hands-down the best render I've seen. Due to the complexity of your initial researching and trial and error, would you expect to have a tutorial anytime soon? I would love to be able to recreate this.

Thanks!
Reply
Re: Fast Photoreal Rendering +++ UPDATE +++
#28
I would like a tutorial too. I have not used Blender extensively so am unfamiliar with it.
Reply
Re: Fast Photoreal Rendering +++ UPDATE +++
#29
Here the renderer is not Blender but Modo.
I don't think there is any tutorial available as the method is far from straight forward.
Reply
« Next Oldest | Next Newest »



Forum Jump:


Users browsing this thread: 1 Guest(s)