LDraw.org Discussion Forums

Full Version: LDView 4.3 Released
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
LDView 4.3 is now available. Since the last release, LDView has moved to GitHub, and has a new home page.

You can download this release from the LDView Downloads Page.
The Change History is here.

LDView finally supports exporting to POV (and 3DS and STL) from the command line. This version also ignores the UTF-8 BOM in the LDConfig.ldr file in the 2017-01 LDraw library release that is causing errors every time you load a file in LDView 4.2. And it supports textures on transparent parts.

Unfortunately, it still doesn't support textures in POV exports, nor does it support cylindrical or spherical projection for textures.
(2018-01-30, 7:21)Travis Cobbs Wrote: [ -> ]LDView 4.3 is now available. Since the last release, LDView has moved to GitHub, and has a new home page.

You can download this release from the LDView Downloads Page.
The Change History is here.

LDView finally supports exporting to POV (and 3DS and STL) from the command line. This version also ignores the UTF-8 BOM in the LDConfig.ldr file in the 2017-01 LDraw library release that is causing errors every time you load a file in LDView 4.2. And it supports textures on transparent parts.

Unfortunately, it still doesn't support textures in POV exports, nor does it support cylindrical or spherical projection for textures.

Did you add FPS video game style controls? Things got busy for me and I never finished the work I started. I have time again now, but would have to start over given that you have released a brand new version.
(2018-01-30, 7:21)Travis Cobbs Wrote: [ -> ]You can download this release from the LDView Downloads Page.
I get a 404 error when trying to download the Windows version...
(2018-01-30, 8:45)Philippe Hurbain Wrote: [ -> ]
(2018-01-30, 7:21)Travis Cobbs Wrote: [ -> ]You can download this release from the LDView Downloads Page.
I get a 404 error when trying to download the Windows version...

Hi
Use this link --> https://github.com/tcobbs/ldview/releases
Thanks, Johann!
(2018-01-30, 8:45)Philippe Hurbain Wrote: [ -> ]
(2018-01-30, 7:21)Travis Cobbs Wrote: [ -> ]You can download this release from the LDView Downloads Page.
I get a 404 error when trying to download the Windows version...

Sorry about that. I didn't realize that the links would change after the release was fully published. I have fixed the Downloads page to use the proper links, but the page that Johann pointed out obviously works also.
(2018-01-30, 7:50)Michael Horvath Wrote: [ -> ]Did you add FPS video game style controls? Things got busy for me and I never finished the work I started. I have time again now, but would have to start over given that you have released a brand new version.

Sorry, but no. I never got it working better than the existing "Keep right side up". (I did add "Keep right side up" to the Mac version, where it was missing before.)
(2018-01-30, 16:19)Travis Cobbs Wrote: [ -> ]
(2018-01-30, 7:50)Michael Horvath Wrote: [ -> ]Did you add FPS video game style controls? Things got busy for me and I never finished the work I started. I have time again now, but would have to start over given that you have released a brand new version.

Sorry, but no. I never got it working better than the existing "Keep right side up". (I did add "Keep right side up" to the Mac version, where it was missing before.)

Could you add the basics, please? I am mainly a JavaScript and Lua scripter. All this C++ stuff is confusing.

1. A new button and icon for "FPS Mode"
2. Keyboard bindings WASD (move laterally, parallel to the XZ plane) and RF (float up/down, parallel to the Y axis)

I will look at 3. the camera rotation stuff again later. For now, I think you can just use the Fly Through Mode rotations. They're pretty close to what is optimal.

I *think* I only edited two files - LDrawModelViewer.cpp and LDInputHandler.cpp - which I've attached. However, they are from the 4.3 beta version and are not current. Also, I cannibalized the "FMUpSide" parameter for my purposes instead of creating a brand new flag. This will need to be fixed.

Thanks!!
(2018-02-01, 5:24)Michael Horvath Wrote: [ -> ]Could you add the basics, please? I am mainly a JavaScript and Lua scripter. All this C++ stuff is confusing.

1. A new button and icon for "FPS Mode"
2. Keyboard bindings WASD (move laterally, parallel to the XZ plane) and RF (float up/down, parallel to the Y axis)

The problem is that LDView's current design makes this significantly more difficult than it seems like it should be, and changing the design to make this work in an expected way would be a lot of work. The root problem is that while LDView does have the concept of a camera (which could easily be constrained to move horizontally), rotations don't happen by moving the camera around the model; instead the model itself is rotated. So, starting from the default viewing angle, moving forward is moving the camera purely horizontally, but it looks like the camera is moving down, since there is no unrotated reference frame to see that it is the model that is rotated to give that viewing angle. The existing fly-through mode works fine because the fact that the model happens to be rotated doesn't hurt anything.

For the "FPS Mode" that you want (which I would call "Walk Mode", given the pre-existing "Fly-Through Mode"), the model itself needs to not be rotated. Otherwise it appears to not be working. This is possible, but it's a whole lot more work than it seems like it should be.
(2018-02-01, 6:20)Travis Cobbs Wrote: [ -> ]
(2018-02-01, 5:24)Michael Horvath Wrote: [ -> ]Could you add the basics, please? I am mainly a JavaScript and Lua scripter. All this C++ stuff is confusing.

1. A new button and icon for "FPS Mode"
2. Keyboard bindings WASD (move laterally, parallel to the XZ plane) and RF (float up/down, parallel to the Y axis)

The problem is that LDView's current design makes this significantly more difficult than it seems like it should be, and changing the design to make this work in an expected way would be a lot of work. The root problem is that while LDView does have the concept of a camera (which could easily be constrained to move horizontally), rotations don't happen by moving the camera around the model; instead the model itself is rotated. So, starting from the default viewing angle, moving forward is moving the camera purely horizontally, but it looks like the camera is moving down, since there is no unrotated reference frame to see that it is the model that is rotated to give that viewing angle. The existing fly-through mode works fine because the fact that the model happens to be rotated doesn't hurt anything.

For the "FPS Mode" that you want (which I would call "Walk Mode", given the pre-existing "Fly-Through Mode"), the model itself needs to not be rotated. Otherwise it appears to not be working. This is possible, but it's a whole lot more work than it seems like it should be.

Well, I got #2 working without problems in the beta. I skipped #1 intending to fix it later, but never got around to doing it. #3 is not urgent since the existing method is "good enough" for the time being.

Here is the executable so you can see it is working:

http://www.mediafire.com/file/4dv77m2p5l...180201.zip

Use the WASD and RF keys to move around. You need to turn on both the "Fly-through" and "FPS" modes at the same time in the menu (which needs to be corrected).
(2018-01-30, 7:21)Travis Cobbs Wrote: [ -> ]LDView 4.3 is now available. Since the last release, LDView has moved to GitHub, and has a new home page.

You can download this release from the LDView Downloads Page.
The Change History is here.

Thanks Travis!
(2018-02-01, 5:24)Michael Horvath Wrote: [ -> ]I *think* I only edited two files - LDrawModelViewer.cpp and LDInputHandler.cpp - which I've attached. However, they are from the 4.3 beta version and are not current. Also, I cannibalized the "FMUpSide" parameter for my purposes instead of creating a brand new flag. This will need to be fixed.

Sorry for the delayed response.

I tried adding a new "Walk" view mode, using your code for the camera updates when in that mode, and it doesn't work. It throws the camera around all over the place. I committed your camera calculation changes, and other changes to allow for walk mode, but don't have walk mode included in the UI. The latest LDView code is here:

https://github.com/tcobbs/ldview

I didn't take your changes to disable zooming while in fly-through mode. I may take those for walk mode, but haven't decided yet. If you want to try it out, edit LDrawModelViewer.cpp, and in LDrawModelViewer::updateCameraPosition, where you added the big if statement to do your "FPS Mode", change the if statement I have from the following:

Code:
   if (viewMode == VMWalk)

to:

Code:
   if (viewMode == VMWalk || viewMode == VMFlyThrough)
After that, "fly-through" mode will use your camera positioning. If you can get it to work, send me what you have, and I will fully integrate it into LDView as "Walk Mode".
(2018-02-22, 5:21)Travis Cobbs Wrote: [ -> ]
(2018-02-01, 5:24)Michael Horvath Wrote: [ -> ]I *think* I only edited two files - LDrawModelViewer.cpp and LDInputHandler.cpp - which I've attached. However, they are from the 4.3 beta version and are not current. Also, I cannibalized the "FMUpSide" parameter for my purposes instead of creating a brand new flag. This will need to be fixed.

Sorry for the delayed response.

I tried adding a new "Walk" view mode, using your code for the camera updates when in that mode, and it doesn't work. It throws the camera around all over the place. I committed your camera calculation changes, and other changes to allow for walk mode, but don't have walk mode included in the UI. The latest LDView code is here:

https://github.com/tcobbs/ldview

I didn't take your changes to disable zooming while in fly-through mode. I may take those for walk mode, but haven't decided yet. If you want to try it out, edit LDrawModelViewer.cpp, and in LDrawModelViewer::updateCameraPosition, where you added the big if statement to do your "FPS Mode", change the if statement I have from the following:

Code:
   if (viewMode == VMWalk)

to:

Code:
   if (viewMode == VMWalk || viewMode == VMFlyThrough)
After that, "fly-through" mode will use your camera positioning. If you can get it to work, send me what you have, and I will fully integrate it into LDView as "Walk Mode".

Thanks! I will take a look!

As for the camera jumping around all over the place: this happens if you have a poor framerate. On large models like Datsville I could not really control the camera all that well since the FPS was so low. Things were much smoother with smaller models.


Mike
I pulled your latest version from Github. However I am getting an error in VS2015:



Quote:We were unable to automatically populate your Visual Studio Team Services accounts.
    
The following error was encountered: TF400813: Resource not available for anonymous access. Client authentication required.


I can't see the files. Any idea how to resolve this?

[edit]

Disregard. It seems to be a local problem.
Do you still have source code for this version?


I need it so I can compare to my modded version and see for sure what changes I made.
I really need the button to be able to test the program by setting viewMode to VMWalk instead of testing for VMFlyThrough and VMWalk at the same time. Can you add the button please? Thanks.

[edit]

Disregard. I found a workaround.
(2018-02-24, 23:15)Steffen Wrote: [ -> ]https://github.com/tcobbs/ldview

I think LDView was on SourceForge at the time.
doesn't the move of the code repo keep its history?
i.e., having moved it from SourceForge to github should still allow you to see the old commits AFAIK.
your screenshot above shows version 4.3, which one are you seeking?
(2018-02-24, 23:29)Steffen Wrote: [ -> ]doesn't the move of the code repo keep its history?
i.e., having moved it from SourceForge to github should still allow you to see the old commits AFAIK.
your screenshot above shows version 4.3, which one are you seeking?

I don't think I need it any more. Not sure how I would have determined the correct revision number just based on that screenshot either.
(2018-02-24, 19:30)Michael Horvath Wrote: [ -> ]Do you still have source code for this version?


I need it so I can compare to my modded version and see for sure what changes I made.

Sorry for my lack of responses to all of your questions, but I hadn't read the forum in a couple of days. Since you sent me the update, obviously you worked out the problems, and I will be testing it out as soon as I finish the other task I'm working on in LDView.

Just as a note, when I moved the project to GitHub, I did indeed transfer all the history, so the source tree from any released version should be accessible on GitHub (in addition to the source trees from old versions being accessible from SourceForge).
Yes, the history is perfectly preserved. All old versions are easily accessible.

The tool shown in the screenshot is SmartGit
https://www.syntevo.com/smartgit
which I highly recommend.
It's free for personal non-commercial use. (I'm not affiliated with them. Still recommend it.)
It runs the same way on Linux and Windows and is much, much easier to use than for example gitk.
(2018-02-26, 7:48)Travis Cobbs Wrote: [ -> ]Sorry for my lack of responses to all of your questions, but I hadn't read the forum in a couple of days. Since you sent me the update, obviously you worked out the problems, and I will be testing it out as soon as I finish the other task I'm working on in LDView.

Just as a note, when I moved the project to GitHub, I did indeed transfer all the history, so the source tree from any released version should be accessible on GitHub (in addition to the source trees from old versions being accessible from SourceForge).

Okay, thanks!
Hi Travis,

thank you for the new version.  Smile
Great to see that the development didn't come to an end as I still feared after there was only one update the last eight years or so.

Do you mind if I give you a few small feature suggestions?

1.) In my opinion it would be nice to have the BFC on/off option also as a toggle switch icon in the main toolbar.

2.) As there is already a 3D stereo view mode implemented anyway I'd really appreciate it supplemented by (an) anaglyph mode(s).

I think both of that should be fairly easy to implement so what do you think?

Kind regards,
Tom
(2018-03-21, 22:33)Thomas Chen Wrote: [ -> ]1.) In my opinion it would be nice to have the BFC on/off option also as a toggle switch icon in the main toolbar.

This is already possible in the Windows and Mac versions (both of which have customizable toolbars).

In the Windows version:
  • Right click anywhere in the toolbar and select "Customize..."
  • Select BFC in the list on the left.
  • Select the toolbar item AFTER where you want it to go from the list on the right.
  • Hit Add. (You can also rearrange the list on the right by selecting items and then moving them up or down.)
In the Mac version:
  • Select "Customize Toolbar" from the View menu.
  • Drag either the "Parts Author" set of tools, or the BFC button, onto the spot on the toolbar where you want it to be.

(2018-03-21, 22:33)Thomas Chen Wrote: [ -> ]2.) As there is already a 3D stereo view mode implemented anyway I'd really appreciate it supplemented by (an) anaglyph mode(s).

Unfortunately, that's not likely to happen. Sorry.
(2018-03-21, 22:33)Thomas Chen Wrote: [ -> ]2.) As there is already a 3D stereo view mode implemented anyway I'd really appreciate it supplemented by (an) anaglyph mode(s).
POV-Ray can do anaglyph views, if you are in a hurry.