LDraw.org Discussion Forums
LDView 4.3 Released - Printable Version

+- LDraw.org Discussion Forums (https://forums.ldraw.org)
+-- Forum: LDraw Programs (https://forums.ldraw.org/forum-7.html)
+--- Forum: LDraw Editors and Viewers (https://forums.ldraw.org/forum-11.html)
+--- Thread: LDView 4.3 Released (/thread-22682.html)

Pages: 1 2 3


LDView 4.3 Released - Travis Cobbs - 2018-01-30

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.


RE: LDView 4.3 Released - Michael Horvath - 2018-01-30

(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.


RE: LDView 4.3 Released - Philippe Hurbain - 2018-01-30

(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...


RE: LDView 4.3 Released - Johann Eisner - 2018-01-30

(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


RE: LDView 4.3 Released - Philippe Hurbain - 2018-01-30

Thanks, Johann!


RE: LDView 4.3 Released - Travis Cobbs - 2018-01-30

(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.


RE: LDView 4.3 Released - Travis Cobbs - 2018-01-30

(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.)


RE: LDView 4.3 Released - Michael Horvath - 2018-02-01

(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!!


RE: LDView 4.3 Released - Travis Cobbs - 2018-02-01

(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.


RE: LDView 4.3 Released - Michael Horvath - 2018-02-01

(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/4dv77m2p5lqdm2i/LDView64_20180201.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).