Replies: 4 comments 2 replies
-
Whenever I try to process a VRML1.0 file, the program quickly exhausts all 64GB of my system's RAM and even after it says reading......and then converting.....it finishes without creating the out.wrl file. Here's one of my sample files, unzipped it's 86MB: |
Beta Was this translation helpful? Give feedback.
-
I just had a look onto your sample file. This should work although the structure of your file is far from being efficient for 3D graphics rendering. There are 319.629 separate face sets with 319.629 separate materials. It would be far better to combine all faces in one IndexedFaceset and all the different diffuseColors in one material definition. See the attached files. Doing so the example code works and produces an equivalent VRML2 file. |
Beta Was this translation helpful? Give feedback.
-
Thanks for the quick response. I'm not the author of the VRML1 code that generated the sample. I'm merely the guy who took a very old 32-bit code base written for Borland C++ and converted it to a 64-bit code base and compiled it with Visual Studio 2019.
I think the offending code that is generating a separate material for every separate face was written to make the output compatible with Caligari TrueSpace on Nov 13/2003 according to the comments at the top of the file.
The code generating the VRML1 file(s) is here: https://github.com/ferrellsl/QuikGrid/blob/main/vrml.cpp
I don't have the source code prior to Nov 2003, so I can't revert back to the code prior to that date.
It's a fairly small file of 457 lines including comments. In an ideal world I could drop in a replacement file that produces VRML2 files but I don't have the expertise for that. The best I can hope for is that someone can help me modify the existing vrml.ccp file to consolidate the IndexedFaceset with the diffuseColors.
…-- The quality of your thoughts will determine the quality of your life.
On Thursday, May 25, 2023 at 02:00:21 PM MST, Volker Enderlein ***@***.***> wrote:
I just had a look onto your sample file. This should work although the structure of your file is far from being efficient for 3D graphics rendering. There are 319.629 separate face sets with 319.629 separate materials. It would be far better to combine all faces in one IndexedFaceset and all the different diffuseColors in one material definition. See the attached files. Doing so the example code works and produces an equivalent VRML2 file.
optimized_file.zip
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: ***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
That's very kind of you. Thanks!
-- The quality of your thoughts will determine the quality of your life.
On Friday, May 26, 2023 at 12:07:06 AM MST, Volker Enderlein ***@***.***> wrote:
Thanks Stephen for the additional background information. I had only glanced on the QuikGrid website and assumed you were deeply involved in the overall development. I'll have a closer look on the code over the weekend. Cheers
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: ***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
I have several large VRML1 files that I'm trying to convert to VRML2. I've compiled the example code found here successfully using Visual Studio 2019: https://www.coin3d.org/Coin/html/classSoToVRML2Action.html
But apparently it won't process VRML1 files. Is there any existing source code that I can compile that will allow me to upgrade these old VRML1 files? I'm new to Coin3D and don't want to re-invent the wheel so to speak if someone has already written a converter.
Thanks.
Beta Was this translation helpful? Give feedback.
All reactions