WireView 3D
===========


WireView 3D is a simple previewer for 3D models. It can render OBJ and STL files in wireframe only, convert the former to the latter, and save screenshots all by itself. And it does all that without touching the GPU (the display system might).

Motivations
-----------

WireView 3D is an offshoot of the Stereo Imagination project, that can be found on Itch.io or the NoTimeToPlay.org website. I made it for a few reasons:

- as a pretext to evaluate Nim and NiGUI (see below) in a more serious project;
- I wanted to pick up the original code again and make it better;
- people still seem to think it's a cool thing to make.

Besides, the state of 3D viewers (as opposed to editors) is abysmal. It's 2021 and I can only find two for my operating system. One is ancient and broken, the other doesn't support STL files, and fails silently instead of saying so. 

Requirements
------------

WireView 3D is available as native executables for 64-bit Haiku, and also as source code. It requires the Gtk3 library to run.

WireView 3D is written in the Nim programming language, using the NiGUI library. You need a Nim compiler to build it, which in turn requires a C compiler. A copy of NiGUI is included with the source code; it's a snapshot from late March or early April 2021. You can get a newer version from GitHub, or the Nimble package repository.

It should be possible to make a native Windows build. You're on your own there.

How to use
----------

WireView 3D can be used with the toolbar buttons, or the following keys:

    F1    show a help message (hidden command)
    O     open file from disk
    S     save file as STL
    E     export a screenshot
    +     zoom in
    -     zoom out
    R     reset view
    Q     quit program

    arrows to rotate

Screenshots can be exported as BMP, PNG or JPG, selected by file extension.

Known issues
------------

- Performance is disappointing for a native application.
- Loaders are fragile, and will probably crash on broken or unexpected files.

License and support
-------------------

WireView 3D is open source under the MIT License (and so is NiGUI). See the included file for details.

I'd love to hear from you. Drop by the #ctrl-c IRC channel on Tilde.chat sometime, or simply e-mail <felix@notimetoplay.org>.
