Version
|
Changes
|
1.9.7
(09 Sep, 2002)
|
Additions
|
- Created a version using QT. This was developed in Linux, but should work in
any Unix-like operating system with OpenGL and QT support and a 32-bit compiler.
(I can almost guarantee it won't work if compiled with a 64-bit compiler.)
RedHat 7.3-compatible Linux binaries available for download.
- Added a status bar (which can be hidden).
- Added Fly-through Mode.
- Added unique specular properties to gold, chrome, and the electrical contact
color to try to better convey their metallic nature. They still aren't
reflective, but they are now more shiny.
- Added support for BaseDirectory setting in [LDraw] section of
ldraw.ini.
- Added a menu item to allow you to manually change the LDraw directory once
it has been chosen for the first time. This is only useful when the old
directory still exists, because LDView checks for it every time it runs and
automatically prompts you if it goes away.
- Added "Always on Top" menu item to the View menu to make LDView a topmost
window.
|
Updates
|
- Increased the maximum curve quality to 12, twice the previous maximum of
6.
- Got rid of progress panel, and instead show progress in the new status bar.
Canceling a load can now be accomplished either by hitting escape or selecting
the Cancel Load item on the file menu. Even when the status bar is set
to be hidden, it is shown during image loads to show progress. Hopefully this
change will remove the image load problems that showed up to varying extents on
varying hardware (particularly for those people who had no problems in LDView
version 1.0).
- Updated to display FPS in the status bar if the status bar is visible and
FPS are set to be displayed in the preferences. FPS is displayed as before
when the status bar is not visible (including in full-screen mode).
- Updated OpenGL Driver Info window to be resizable, and added a status bar
listing the number of extensions and WGL extensions.
- Incorporated font texture and stud texture into executable, thus removing
those two files from the distribution.
|
Bug Fixes
|
- Fixed bug in MPD parsing that caused LDView to crash when one of the MPD
pieces was marked as a part, and that piece was scaled non-uniformly.
- Fixed bug that caused unix-format MPD files not to parse properly.
- Fixed bug that made it so that changing the specular preference had no
effect if Alternate lighting was checked.
- Fixed bug that caused in-frame FPS text to be drawn half its normal width
when stereo viewing was enabled.
- Fixed bug that caused the field of view to be greater than 180 degrees with
a really tall skinny window (thus inverting the model). If your screen
resolution was 1600x1200 or lower, you had to be in stereo mode in order to
witness this bug.
- Fixed field of view calculation for tall skinny windows to come closer to
preserving the model's scale (instead of shrinking the model down to
nothing). This fix probably removes the need for the field of view cap fix
above, but it was done separately.
- Fixed bug that caused wireframe cutaway in tall skinny windows to draw the
wireframe portion with the wrong field of view (making the wireframe portion too
big).
- Fixed a (minor, one-time) memory leak in the OpenGL Driver Info panel.
|
1.9.6
(04 Aug, 2002)
|
Additions
|
- Added support for antialiased lines.
- Added support for file type meta-command to force recognition of a file as a
part, even if it isn't in the parts directory. This mainly effects seams and
smooth curves.
- Added ability to copy the text from the currently selected error in the
error window to the Windows clipboard.
|
Updates
|
- Updated OpenGL Driver info to all be consolidated into one panel (in a format
that can be copied to the clipboard).
- Updated Font texture to a better looking font. (Well, I think it looks
better, but since I constructed it myself about 10 years ago, I guess I'm
biased.)
|
Bug Fixes
|
- Fixed color bug that caused some submodels to be drawn in the default color,
instead of their correct color.
- Fixed problem with texture-based font rendering.
- Fixed problem that caused an OpenGL error to show up in the error panel on
hardware without the FSAA multisample OpenGL extension.
- Fixed the high quality edge lines option to work on all hardware, and
changed it to be on by default.
- Fixed bugs which caused nothing to be drawn after switching to fullscreen,
or changing the antialiasing mode.
- Fixed bug in OpenGL mode selection code that probably resulted in random
mode selection failures, as well as possible crashes. This should only have
effected antialiased modes and snapshots.
- Fixed bug in alternate lighting setup that sometimes caused it to be slower
than it should have been. This also sometimes slowed down lighting when
specular was enabled.
- Fixed bug that caused cancelation during model compilation to fail and put
LDView into a state where you could still rotate the model, but not access any
of the menus, or even exit.
|
1.9.5
(26 May, 2002)
|
Additions
|
- Added support for smooth shaded curves, using the presense of Type 5 lines
as an indicator of a curved surface. Thanks to Martijn Zwaal for the basis
of the algorithm used to implement this feature.
- Added experimental support for the use of the alpha channel in PNG snapshots
to produce a transparent background. Currently only accessible via the command
line or registry with the SaveAlpha setting.
|
Bug Fixes
|
- Fixed bug introduced in 1.9.4 which prevented you from viewing any models
when LDView was started with a maximized window.
|
1.9.4
(10 May, 2002)
|
Additions
|
- Added support for Type 5 lines (conditional edge lines). Implemented
primarily by Don Heyse using experience/code from LdGLite.
- Added conditional lines to substituted primitives.
- Added ability to set preferences on the command line.
|
Updates
|
- Sped up drawing of non-compiled elements (sorted transparent shapes and the
new Type 5 lines).
|
Bug fixes
|
- Fixed possible bug where some sorted transparent shapes might have drawn in
the wrong color.
- Fixed font corruption after some snapshot saves.
- Fixed problem where Ctrl+S didn't work until after you looked at the file
menu.
|
1.9.3
(13 Apr, 2002)
|
Additions
|
- Added ability to select the default color. I expect this is most useful for
part authors, but at least some models use color 16.
- Added ability to reset each of the preferences pages back to their default
values.
- Added detection and handling of co-linear points in triangles and
quads.
|
Updates
|
- Updated error window to be displayed after an automatic reload. Note that
certain preference changes can change the errors that are generated, since some
of the error checking is the result of certain preference settings.
- Updated the default custom colors to be the first 16 LDraw colors. This
makes the new default color feature easier to use.
|
Bug fixes
|
- Fixed edge line color for default-colored parts. Before, the default color
was always 7 (light gray), but 7 was also being used for the edge lines. Color
8 is now used by default. If the default color is changed, an appropriate
highlight color is used (usually black).
- Fixed all discovered memory leaks.
- Fixed recent files to show up in file menu after switching back from
fullscreen mode.
- Fixed FPS display to hopefully work in all configurations by using a
texture mapped font.
- Fixed FPS to not be fuzzy when an enhanced FSAA mode is used (as long as
vsync is enabled).
- Fixed screen saver mode to cover the taskbar when it isn't set to auto
hide.
|
1.9.2
(19 Feb, 2002)
|
Additions
|
- Added ability to texture map a logo onto studs.
- Added ability to have the cutaway portion display as wireframe.
- Added experimental screen saver support.
- Added support for BMP snapshots.
- Added disclaimer to About box and Readme.txt.
- Added new lighting setup that improves performance on some/all video cards
when specular is disabled.
|
Updates
|
- Updated preferences to make room for extra primitive substitution settings
by adding a new tab and moving primitive-based preferences to the new tab.
- Updated all lines to be opaque to make edge lines show up on transparent
pieces.
- Updated the recent files list to include full paths up to 250 pixels wide,
and put ellipses into paths that are too long to fit.
- Updated source to compile with standard glext.h and wglext.h header files
from www.opengl.org.
|
Bug fixes
|
- Fixed line widths to apply when the program is started, instead of only
after they are changed.
- Fixed "Always black" preference on Geometry tab to be in the correct spot
in the tab order for keyboard navigation.
- Fixed snapshot saves to update the filename immediately when you change the
number of digits.
- Fixed minimum near clipping plane calculation to be based on the size of
the model so that edge lines don't "pop" when you zoom super close using the
ZoomMax registry setting.
- Fixed Reset View to reset the near and far clipping planes immediately,
so that you can see the entire model without having to first move your
mouse.
|
1.9.1
(27 Jan, 2002)
|
Additions
|
- Added support for panning the camera.
- Added setting to always use black for edge lines. This is most useful for
part authors to be able to see the edge lines better.
- Added setting to control the curve quality of primitive substitution. The
minimum value produces 8-sided circles; the maximum produces 48-sided
circles.
- Added primitive substitution support for new torus primitives.
- Added primitive substitution support for "ndis" (not-disk) primitives.
This is necessary for curve quality to work well.
- Added progress panel during PNG file creation. This is especially useful
for high-resolution files. Hitting cancel cancels the save and deletes the
incomplete PNG file.
|
Updates
|
- Renamed m6459.dat to m6459.ldr like it was supposed to be named in
v1.9.
- Updated default zoom level to slightly higher. In all but the most extreme
circumstances, the model will still never go outside the window borders at this
zoom level.
- Updated to disable seam width setting if seams are disabled.
- Updated primitive substitution to parse primitive names in a more generic
fashion.
|
Bug fixes
|
- Fixed error window to update when the model is reloaded (either manually
or automatically via polling).
- Fixed background color chooser dialog to be a child of the preferences
panel.
- Fixed problem where canceling the preferences wouldn't fully reset the
background color, seam width, FSAA mode and stereo mode.
- Fixed the preferences dialog to properly free up the resources it allocates
when opened.
- Fixed seam width adjustment to work again.
- Fixed it so that menus will work when the model is spinning and animated
menus are enabled in Windows. The spinning now pauses when you go to select
from a menu.
- Fixed drag/drop support so that dropped files update the most recent open
directory and show up on the recent files list.
- Fixed image save with dimensions that are too large to display the
appropriate error message.
- Fixed print progress panel to stop it from flickering, and changed text
from "Printing..." to "Printing Model.".
- Fixed primitive substitution to get rid of false positives.
- Fixed serious memory leaks introduced in version 1.9.
|
1.9
(10 Jan, 2002)
|
Additions
|
- Added this HTML file to distribution as a replacement for History.txt.
- Added support for full-scene antialiasing (FSAA).
- Added printing support.
- Added stereoscopic 3D support.
- Added ability to save PNG snapshots.
- Added support for LDLite direct colors and L3P/L3Lab 24-bit colors.
- Added context-sensitive help for all preferences.
- Added recent files list.
- Added support for .ldr as a standard LDraw file extension.
- Added error panel to display errors encountered when loading a model.
Added an option to automatically display this panel after loading a model if
errors are detected during the load.
- Added progress panel with cancel button while model is loading,
compiling, or printing.
- Added option to sort transparent polygons. This produces a more correct
rendering, but can slow things down. The sorting is not correct 100% of the
time yet.
- Added menu item to the View menu to reset the view back to the orientation
that is displayed when a model is first loaded.
- Added sample file (m6459.dat) to distribution.
- Added ability to set maximum zoom level. (Suggested and demoed by
Carsten Schmitz.) Currently requires Registry editing.
- Added version resource to executable.
- Added WGL Extensions menu item to Help->OpenGL Info submenu.
- Added release dates to this document.
- Added releases prior to 0.5.1 to this document
|
Updates
|
- Updated preferences to be in a tabbed format.
- Updated check which prevents seam creation to have more loose check to
better allow for round-off.
- Updated internal model representation to facilitate (among other things)
the sorting of transparent polygons.
- Updated this document to be in table format.
- Updated About Box to include "Thanks to" section.
- Updated date format in About Box to "DD Mon, YYYY" format.
- Updated high quality lines to only be available when Edge Lines are
enabled.
- Updated so lighting settings are only available when lighting is
enabled.
- Updated so wireframe fog is only available when wireframe is enabled.
- Updated to statically link against my own libraries, so TCFoundation.dll and
CUI.dll are no longer necessary.
- Removed code which prevents any axis from being scaled to 0.
- Updated to decrease the size of the model when the window is made narrower
than its height. This is particularly useful when Stereo is enabled, as the
two views are often taller than they are wide.
|
Bug fixes
|
- Fixed panels so that escape triggers the cancel button.
- Fixed typo (missing space) in message when selecting the LDRAW
directory.
- Fixed color bug where white shapes would not alway display in the correct
color. (Found and fixed by Carsten Schmitz.)
|
1.0
(17 Oct, 2000)
|
Additions
|
- Added check box to enable/disable seams, so you don't have to drop them all
the way down to 0.00 to disable them.
|
Updates
|
- Changed "High quality studs" option to "Low quality studs (faster)", and
inverted the logic behind the check-box accordingly.
- Made capitilization of preferences options consistent.
- Made minor modifications to Help.html.
|
Bug fixes
|
- Fixed command line parsing to work when the filename has quotes around
it.
- Fixed command line parsing to not blow up when the file and/or directory
cannot be found.
- Fixed polling code to work in Windows 95. (I accidentally used a function
originally that didn't exist in 95.)
- Fixed primitive substitution bug where enabling seams was producing
incorrect surface normals.
- Fixed part-determination for seams to allow part names which end with a
letter. I incorrectly thought that these would all be sub-parts. I now
determine whether it is a subpart based on whether its parent model is a
part.
- Fixed it to get the ldraw dir out of the registry when you specify a file on
the command line.
- Fixed seam code to shrink a part even when it is the main file which is
opened. (This has extremely marginal value, but is more cosistent.)
|
0.9.1
(06 Oct, 2000)
|
Additions
|
- Added File->Reload menu item (F5) to reload the current model.
- Added Polling menu with options to automatically reload the current model
when the file is changed by some other program.
- Added ellipses (...) to menu items which open panels.
- Added the ablity to do cut-aways by moving the near clipping plane away from
the camera.
- Added Help->Contents menu item to display Help.html in your web
browser.
- Added documentation for all the menu items.
|
Updates
|
- Moved the Help menu back over with the other menu items to be consistent
with other Windows apps.
- Changed it so that it displays a directory tree if it cannot determine your
LDraw directory (instead of forcing you to type in the path).
- Converted the README.TXT file to HTML and renamed it to Help.html. In
addition to the conversion to HTML and enhancements in formatting, I also
improved the content somewhat.
|
Bug fixes
|
- Fixed the frame rate calculation to be more accurate.
- Fixed zoom speed to be consistent across models of different sizes.
- Fixed startup code to correctly maximize the window if it was maximized when
you last exited. This worked at one point, but became broken.
- Fixed it to search the MODELS subdirectory of the LDRAW directory when
looking for a part.
- Fixed it so that when fullscreen mode fails, it switches back to windowed
mode gracefully after presenting the error panel (instead of waiting for you to
switch back manually, then crashing without restoring the video mode).
|
0.9
(25 Sep, 2000)
|
Additions
|
- Added sphere primitive substitution. This was--by far--the hardest
primitive substitution. Unlike the other primitive substitutions, the sphere
primitive substitution results in a different set of polygons being drawn. The
sphere that LDView creates is made up of 16 triangles, unlike the standard
sphere primitive, which is made up of 9 quads and 4 triangles.
- Added support for black rubber (color 256). I made it significantly
less shiny when specular lighting is enabled. (There is no visual difference
when specular lighting is disabled.)
- Added support for stipple transparency.
|
Updates
|
- Changed it so only the OpenGL window has a private device context. This is
much more in keeping with standard Win32 programming guidelines.
|
Bug fixes
|
- Fixed NT bug where the video mode list would have a bunch of repeats for
each resolution (one for each refresh rate at that resolution, I think).
- Fixed bug where background color button would not show the currently
selected color if you used Ctrl+Shift+P to bring up the preferences panel for
the first time.
- Fixed bug where concave polygons with non-winding points would cause a
crash. I definitely fixed the crash; I think I fixed it so that they will
actually draw correctly as well.
- Fixed possible bug in substituted primitive color setting. I never saw the
problem exhibit itself, but the code seemed wrong.
|
0.7.5
(08-Sep, 2000)
|
Additions
|
- Added primitive substitution option. This produces higher quality output,
as well as slightly enhanced performance. I have created substitutions for the
following primitives:
- Low-res Studs (Standard Studs are made up of other primitives.)
- Cylinders
- Sloped Cylinders
- Torus
- Cones
- Disks (no visual difference)
- Rings (no visual difference)
- Edges (no visual difference)
- Added support for concave quads (it now splits them into two
triangles).
|
Updates
|
- Optimized model-loading to decrease load time somewhat (only really
noticeable on really large models).
- Updated Open Panel to be owned by main window. This was required to allow
it to work in fullscreen mode.
|
Bug fixes
|
- Fixed command line file opening to switch to the directory containing the
model so that if it references other sub-models it will still work.
- Fixed drag and drop to change to the dropped file's directory so that models
with subparts will work.
- Fixed bug in which color wasn't initialized properly always, resulting in
incorrect colors sometimes.
- Fixed keyboard shortcuts (Ctrl+O, Ctrl+Q, Ctrl+Shift+P, etc). Although I
believe they worked when I originally added them, they have been broken for
awhile now. Note that these work while in fullscreen mode on some video cards,
so you can now change options and open a new file without having to switch back
to windowed mode (assuming you remember Ctrl+O and Ctrl+Shift+P).
|
0.7
(29 Aug, 2000)
|
Additions
|
- Added fullscreen support.
- Added mouse scroll-wheel support for zooming.
- Added ability to specify a file on the command line so you can use LDView as
your default DAT/MPD file viewer and/or drop files on the program to launch
with that file.
- Added ability to drag and drop files onto the program window to have them
opened.
|
Updates
|
- Enhanced zooming to slow down when up close and speed up when far away.
|
Bug fixes
|
- Fixed bug with color choice where if you canceled the preferences panel
while choosing a color, it would crash.
|
0.6.4
(16 Aug, 2000)
|
Updates
|
- Performed significant code rearrangement and cleanup in the model code.
|
Bug fixes
|
- Fixed MPD parsing bug which would cause a crash with some MPD files.
|
0.6.3
(13 Aug, 2000)
|
Additions
|
- Added OK/Cancel/Apply to Preferences, and made it so that preference changes
don't go into effect until either OK or Apply is hit. All options now go into
effect immediately thereafter. (You no longer have to reload the model after
changing certain options.)
|
0.6.2
(29 Jun, 2000)
|
Updates
|
- Updated bounding box code to use my own matrix multiply routine (instead of
the OpenGL matrix multiply). The rest of the code was already using my
routine. These matrix multiplications are all pre-processing, not
real-time.
|
Bug fixes
|
- Fixed problems with device context and OpenGL context handling. This will
hopefully make it run again on non-nVidia hardware. It definitely works again
with the Microsoft software renderer.
|
0.6.1
(27 Jun, 2000)
|
Bug fixes
|
- Fixed registry bug introduced in v0.6 which prevented settings from being
saved in NT.
|
0.6
(25 Jun, 2000)
|
Additions
|
- Added ability to put seams between pieces (ala L3P).
- Added edge line support (with toggle).
- Added high-quality mode for lines (with toggle)--uses glPolygonOffset to
move all filled shapes (triangles and quads) away from the viewer by a little
bit.
- Added ability to turn off lighting (useful with edge lines turned on).
- Added subdued lighting mode (with toggle), which is about halfway in
between the standard lighting mode and no lighting.
- Added wireframe support (with toggle).
- Added support for fog in wireframe mode (with toggle).
- Added asterisk to all the preferences that require the model to be
reloaded. Put note at the bottom of the panel explaining.
- Added OpenGL Driver Info submenu to help menu:
- Vendor
- Renderer
- Version
- Extensions
- Added release date to About box.
- Added code to changed the mouse cursor to a wait cursor while the model is
loading.
|
Updates
|
- Renamed from L3DView to LDView (to avoid confusion with L3P/L3Lab).
- Updated Icon to reflect new name.
- Updated About Box to reflect new name.
- Updated About menu item to reflect new name.
- Updated Preferences panel to reflect new name.
- Changed registry key that preferences are stored under to reflect new name.
This change causes settings from previous versions to be lost.
- Updated code so that anything visible to the user reflects the new
name.
- Completely rearranged preferences panel to handle all the new options.
- Added panel to prompt for LDraw directory the first time LDView is run, if
it is not found in either C:\LDRAW or in the LDRAWDIR environment
variable.
- Since the old registry settings were lost due to the rename, I
reorganized my registry settings.
- Added support to my convenience class for sub-folders in the registry.
- Changed my main registry path to
HKEY_CURRENT_USER\Software\Travis Cobbs\LDView.
- Moved all my custom color registry entries to CustomColors sub-folder.
- Changed initial viewpoint to be at a better angle.
|
Bug fixes
|
- Fixed initial window title to be LDView (it used to say 'Model
Viewer').
- Fixed Z-buffer noise fix. (My original fix offset the polygons in the
wrong direction.)
|
0.5.2
(21 Jun, 2000)
(late PM)
|
Additions
|
|
Updates
|
- Project/Source cleanup for source release.
|
Bug fixes
|
- Fixed FPS to display in black when background color is light.
- Fixed a few DC-related issues (? not positive they were actually
broken).
|
0.5.1
(21 Jun, 2000)
(early AM)
|
Additions
|
- Added background color setting.
- Added option to turn off specular lighting (shininess).
|
Bug fixes
|
- Fixed Z-buffer noise with transparent pieces.
- Fixed color when drawing parts all by themselves. Now draw the part using
color 7.
|
0.5
(18 Jun, 2000)
|
Additions
|
- Added Menu Bar:
- Added ability to open a different model without having to exit.
- Added preferences panel with the following settings:
- High quality lighting
- Use flat shading
- Use high quality studs
- Show frame rate
- Added About Box.
- Added code to remember window size between runs (including when
maximized).
- Added code to remember which directory you last opened a file from.
- Added support for all the colors listed in the FAQ.
- Added support for colors used by MLCad which are not in the FAQ.
- Set a minimum window size to 320x240 internal dimensions.
|
Bug fixes
|
- Fixed RGB values of existing colors to match FAQ.
- Fixed lots of memory leaks (which did not really have any effect due to the
fact that you could only view a single model).
- Fixed bug in which the same file could get closed multiple times, resulting
in crash (also did not show up due to one-model limit).
- Removed a some code that was left over from a previous project. This is
why the main executable is actually smaller than the previous version.
|
0.1
(03 Jun, 2000)
|
Initial release.
|