Welcome, Guest
You have to register before you can post on our site.

Username
  

Password
  





Search Forums

(Advanced Search)

Forum Statistics
» Members: 5,316
» Latest member: neerajtripathi
» Forum threads: 6,179
» Forum posts: 51,793

Full Statistics

Online Users
There are currently 198 online users.
» 4 Member(s) | 189 Guest(s)
Applebot, Baidu, Bing, Google, Yandex, Orion Pobursky

Latest Threads
Transparent sticker colou...
Forum: General LDraw.org Discussion
Last Post: Roland Melkert
1 minute ago
» Replies: 8
» Views: 439
The Emperor Zurg
Forum: Part Requests
Last Post: Julian Raymond Ruan
8 hours ago
» Replies: 0
» Views: 145
Parts request
Forum: Part Requests
Last Post: Peter Grass
Today, 8:27
» Replies: 1
» Views: 265
Batman Cowls
Forum: Part Requests
Last Post: Peter Grass
Today, 1:13
» Replies: 1
» Views: 294
A fresh list of "most com...
Forum: Part Requests
Last Post: tom alphin
Today, 0:11
» Replies: 7
» Views: 768
Fix for slightly incorrec...
Forum: Part Requests
Last Post: Huib Versteeg
Yesterday, 9:50
» Replies: 4
» Views: 929
Lego Town Racer 1996 - 63...
Forum: Official Models
Last Post: Chris Böhnke
2025-09-13, 23:39
» Replies: 14
» Views: 2,229
Eyesight on Linux
Forum: Rendering Techniques
Last Post: Orion Pobursky
2025-09-13, 18:56
» Replies: 12
» Views: 8,887
Another common varient: 1...
Forum: Part Requests
Last Post: Rene Rechthaler
2025-09-12, 14:51
» Replies: 8
» Views: 5,687
1Lx1Lx2L brick with studs...
Forum: Parts Authoring
Last Post: SNIPE
2025-09-12, 10:14
» Replies: 0
» Views: 873

 
  Set Slope surface bumps for Ldview Pov-ray export
Posted by: Damien Roux - 2014-05-10, 10:30 - Forum: LDraw File Processing and Conversion - Replies (5)

I would like to know if there is a way to change the default 0.3 Bumps on slope parts (used to simulate the slope granularity) to an other value. As for me 1 Bumps would better fit for my renders but it seems that ldview automatically choose a value of 0.3.

Is there anyway to change that instead of manually editing the Pov-ray file ?

Print this item

  L3P Add-On u-parts problems
Posted by: Damien Roux - 2014-05-06, 17:09 - Forum: LDraw File Processing and Conversion - Replies (2)

Hi there,

As I'm used to model my own LGEO parts for my renders, I frequently add new parts to the lg_elements.lst provided with L3P Add-On.

Then, it will recognize the new part as a LGEO-available one, and will make me a pov file using this LGEO equivalent part.


Problem is that u-parts (u1125 as an example) seems not te be taken into account when inserted in lg_elements.lst.
Does someone has an idea of how can I proceed to make L3P Add-On take those parts into account if inserted in the lg_elements.lst?

I'm not even sure that the problem is the name (beginning by "u") but usually it work like a charm with standard 4 digits part name).

Print this item

  Drop 64-character part title limit
Posted by: Philippe Hurbain - 2014-05-04, 8:22 - Forum: General LDraw.org Discussion - Replies (2)

I just noticed that despite this vote, Header Specification article has not been updated...

Print this item

  Rendering Help [Solved]
Posted by: Phil Ross - 2014-04-30, 0:00 - Forum: Rendering Techniques - No Replies

[Edit] I wasn't there was a better forum subsection for DIY rendering, and came across enough projects over there to realize that when I switched over to the show your work arrays, I got my matrices backward for the child transformations.


I've been working on my off again on again graphics engine project and decided to combine my passion for LEGO's as well, but I've hit a stumbling block with loading the .dat files. It seems the once I get a couple levels down everything goes to heck. i've been testing with 4070.dat (1x1 Brick with headlight), and everything seems fine except for the headlight (stud2a.dat) it's squashed on the y axis. Other problems pop up when I try other models. I know it's something in my matrix transformations, and I've tried everything I can think of (went from clean Matrix objects to "show your work" variable arrays, switched from floats to doubles, etc.), and hit a brick wall on searching for examples on the net, so I'm hoping another set of eyes will be what I need. I'm in the testing stage, so the code is kinda ugly, but for the double[12] arrays i'm holding the matrix in, 0->8 is "a" to "i" and 9->11 is "xyz". I'm also attaching a screen shot of 4070.dat with everything but "stud2a" and "stud" removed, so you can see how odd "stud2" looks. Thanks for any help.


Code:
void loadDAT(wchar_t * wcs_filename, bool b_child, double f33_matrix[12], bool b_bfcInvert)
{
    std::ifstream File(wcs_filename);
    std::string Line;
    std::string Name;
    std::string BFC;
    std::string BFCCommand;
    bool b_bfcInvertOut = b_bfcInvert;
    
    while(std::getline(File, Line))
    {
        if(Line == "" || Line[0] == '#')// Skip everything and continue with the next line
        continue;

        std::istringstream LineStream(Line);
        LineStream >> Name;
        LineStream >> BFC;
        LineStream >> BFCCommand;

        if(Name == "0")
        {
            if(BFC == "BFC")
                if(BFCCommand == "INVERTNEXT")
                    if(b_bfcInvertOut) b_bfcInvertOut = false;
                        else b_bfcInvertOut = true;
        }

        if(Name == "4")
        {
            double f_vertex[12];
            sscanf(Line.c_str(), "%*f %*f %lf %lf %lf %lf %lf %lf %lf %lf %lf %lf %lf %lf", &f_vertex[0], &f_vertex[1], &f_vertex[2], &f_vertex[3], &f_vertex[4], &f_vertex[5], &f_vertex[6], &f_vertex[7], &f_vertex[8], &f_vertex[9], &f_vertex[10], &f_vertex[11]);
            Sv3_VERTEX v3_temp[4];
            for(int x=0; x < 4;x++)
            {
                v3_temp[x].pos.x = (f33_matrix[0]*f_vertex[(x*3)]) + (f33_matrix[1]*f_vertex[(x*3) + 1]) + (f33_matrix[2]*f_vertex[(x*3) + 2]) + f33_matrix[9];
                v3_temp[x].pos.y = (f33_matrix[3]*f_vertex[(x*3)]) + (f33_matrix[4]*f_vertex[(x*3) + 1]) + (f33_matrix[5]*f_vertex[(x*3) + 2]) + f33_matrix[10];
                v3_temp[x].pos.z = (f33_matrix[6]*f_vertex[(x*3)]) + (f33_matrix[7]*f_vertex[(x*3) + 1]) + (f33_matrix[8]*f_vertex[(x*3) + 2]) + f33_matrix[11];

                v3i_lego.v3ap_vertex.push_back(v3_temp[x]);
            }
        
            if(!b_bfcInvert) v3i_lego.uap_index.push_back(0 + i_triangleCount);
                else v3i_lego.uap_index.push_back(3 + i_triangleCount);
        
            v3i_lego.uap_index.push_back(1 + i_triangleCount);
            
            if(!b_bfcInvert) v3i_lego.uap_index.push_back(3 + i_triangleCount);
                else v3i_lego.uap_index.push_back(0 + i_triangleCount);

            if(!b_bfcInvert) v3i_lego.uap_index.push_back(2 + i_triangleCount);
                else v3i_lego.uap_index.push_back(1 + i_triangleCount);
            
            v3i_lego.uap_index.push_back(3 + i_triangleCount);
            
            if(!b_bfcInvert) v3i_lego.uap_index.push_back(1 + i_triangleCount);
                else v3i_lego.uap_index.push_back(2 + i_triangleCount);

            i_triangleCount += 4;
        }

        if(Name == "3")
        {
            double f_vertex[9];
            sscanf(Line.c_str(), "%*f %*f %lf %lf %lf %lf %lf %lf %lf %lf %lf", &f_vertex[0], &f_vertex[1], &f_vertex[2], &f_vertex[3], &f_vertex[4], &f_vertex[5], &f_vertex[6], &f_vertex[7], &f_vertex[8]);
            Sv3_VERTEX v3_temp[3];
            for(int x=0; x < 3;x++)
            {
                v3_temp[x].pos.x = (f33_matrix[0]*f_vertex[(x*3)]) + (f33_matrix[1]*f_vertex[(x*3) + 1]) + (f33_matrix[2]*f_vertex[(x*3) + 2]) + f33_matrix[9];
                v3_temp[x].pos.y = (f33_matrix[3]*f_vertex[(x*3)]) + (f33_matrix[4]*f_vertex[(x*3) + 1]) + (f33_matrix[5]*f_vertex[(x*3) + 2]) + f33_matrix[10];
                v3_temp[x].pos.z = (f33_matrix[6]*f_vertex[(x*3)]) + (f33_matrix[7]*f_vertex[(x*3) + 1]) + (f33_matrix[8]*f_vertex[(x*3) + 2]) + f33_matrix[11];

                v3i_lego.v3ap_vertex.push_back(v3_temp[x]);
            }
        
            if(!b_bfcInvert) v3i_lego.uap_index.push_back(2 + i_triangleCount);
                else v3i_lego.uap_index.push_back(0 + i_triangleCount);
            
            v3i_lego.uap_index.push_back(1 + i_triangleCount);
    
            if(!b_bfcInvert) v3i_lego.uap_index.push_back(0 + i_triangleCount);
                else v3i_lego.uap_index.push_back(2 + i_triangleCount);

            i_triangleCount += 3;
        }

        if(Name == "1")
        {
            double f_vertex[12];
            wchar_t wcs_filenameSub[200];
            sscanf(Line.c_str(), "%*f %*f %lf %lf %lf %lf %lf %lf %lf %lf %lf %lf %lf %lf %S", &f_vertex[9], &f_vertex[10], &f_vertex[11], &f_vertex[0], &f_vertex[1], &f_vertex[2], &f_vertex[3], &f_vertex[4], &f_vertex[5], &f_vertex[6], &f_vertex[7], &f_vertex[8], wcs_filenameSub);
            double f33_out[12] = {f_vertex[0],f_vertex[1],f_vertex[2],f_vertex[3],f_vertex[4],f_vertex[5],f_vertex[6],f_vertex[7],f_vertex[8],f_vertex[9],f_vertex[10],f_vertex[11]};

                double f33_hold[12] = {1.0f,0.0f,0.0f,0.0f,1.0f,0.0f,0.0f,0.0f,1.0f,0.0f,0.0f,0.0f};
            
                f33_hold[0] = (f33_out[0] * f33_matrix[0]) + (f33_out[1] * f33_matrix[3]) + (f33_out[2] * f33_matrix[6]);
                f33_hold[3] = (f33_out[3] * f33_matrix[0]) + (f33_out[4] * f33_matrix[3]) + (f33_out[5] * f33_matrix[6]);
                f33_hold[6] = (f33_out[6] * f33_matrix[0]) + (f33_out[7] * f33_matrix[3]) + (f33_out[8] * f33_matrix[6]);
            
                f33_hold[1] = (f33_out[0] * f33_matrix[1]) + (f33_out[1] * f33_matrix[4]) + (f33_out[2] * f33_matrix[7]);
                f33_hold[4] = (f33_out[3] * f33_matrix[1]) + (f33_out[4] * f33_matrix[4]) + (f33_out[5] * f33_matrix[7]);
                f33_hold[7] = (f33_out[6] * f33_matrix[1]) + (f33_out[7] * f33_matrix[4]) + (f33_out[8] * f33_matrix[7]);
            
                f33_hold[2] = (f33_out[0] * f33_matrix[2]) + (f33_out[1] * f33_matrix[5]) + (f33_out[2] * f33_matrix[8]);
                f33_hold[5] = (f33_out[3] * f33_matrix[2]) + (f33_out[4] * f33_matrix[5]) + (f33_out[5] * f33_matrix[8]);
                f33_hold[8] = (f33_out[6] * f33_matrix[2]) + (f33_out[7] * f33_matrix[5]) + (f33_out[8] * f33_matrix[8]);
                
                f33_hold[9] = f33_hold[0]*f_vertex[9] + f33_hold[1]*f_vertex[10] + f33_hold[2]*f_vertex[11] + f33_matrix[9];
                f33_hold[10] = f33_hold[3]*f_vertex[9] + f33_hold[4]*f_vertex[10] + f33_hold[5]*f_vertex[11] + f33_matrix[10];
                f33_hold[11] = f33_hold[6]*f_vertex[9] + f33_hold[7]*f_vertex[10] + f33_hold[8]*f_vertex[11] + f33_matrix[11];
            
            loadDAT(CfileLocations::getModelsSubParts(wcs_filenameSub),true,f33_hold, b_bfcInvertOut);
        }

    }
}



Attached Files Thumbnail(s)
   
Print this item

  Fast Photoreal Rendering +++ UPDATE +++
Posted by: Michael Klein - 2014-04-29, 2:31 - Forum: Rendering Techniques - Replies (28)

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]

Print this item

  Getting Started—Mac
Posted by: Melissa Hunt - 2014-04-27, 21:58 - Forum: Help - Replies (2)

Hi! I'm new to LDraw and trying to get it set-up on my iMac. I've downloaded the complete library, but receive an error page when I click on the link to download software in Step 5.

What shall I do next?

Print this item

  MLCAD 50 EURO Reward for adding parts !
Posted by: Marcel Brinks - 2014-04-15, 10:36 - Forum: Part Requests - Replies (27)

i reward 50 Euro for the one that can add the following parts to MLCAD

Trans-Clear Door 1 x 4 x 6 with Stud Handle 60616 (Multi Colours possible)
Dark Bluish Gray Tile 2 x 2 with Computer Monitor Pattern 1, with White Power Magnus Forsberg
Switch Icon 3068bpb058 the 4 difrent computer monitors similar as well..
Reddish Brown Container, Bucket 1 x 1 x 1 95343 (Multi Colours possible) Magnus Forsberg
Dark Tan Container, Bucket 1 x 1 x 1 Handle 95344 (Multi Colours possible) Magnus Forsberg
how ever the container not show in MLCad ?

next
92589 Bar 1 x 4 x 6 with End Protrusions

added
Windscreen 2 x 6 x 2 Train with Glass 6567 (Multi Colours possible)

i keep waiting till these items are added and after 2 years i think i have to
set a price on this and beg someone to add this

i have lego i design models till now i have kept a low profile dont feel a shamed to claim your reward you can order for 50 euro on lego parts or a model or recieve 50 euro Magnus Forsberg

donating to this website i will do as well but that have nothing to do with getting the parts done Tongue

thanks in advance
Marcel

Print this item

  973pr2538c01 Emmet's torso from the Lego Movie
Posted by: Earnest J. Banbury - 2014-04-14, 8:35 - Forum: Parts Authoring - Replies (18)

I've written my own simple LDraw exporter for Blender (Link). And as a way of testing it, I modeled the construction worker torso from the Lego Movie.
Maybe someone is interested in it. Feel free to use it as you see fit.

[Image: 973pr2538c01.jpg]



Attached Files
.dat   973pr2538c01.dat (Size: 21.99 KB / Downloads: 1)
Print this item

  part request
Posted by: Matt `da Wolf - 2014-04-14, 1:48 - Forum: Part Requests - Replies (6)

3039pb54



Attached Files
.jpg   2924-src.jpg (Size: 85.57 KB / Downloads: 25)
Print this item

  James' website?
Posted by: Philippe Hurbain - 2014-04-08, 11:37 - Forum: Website Suggestions/Requests/Discussion - Replies (1)

I just noticed that James website as linked here (http://silo.riv.csu.edu.au/~jjessiman/lego/index.html) returns a 403 error. Fortunately it's still possible to recover things through the internet archive...

Print this item