You can get automatic updates via the "EQUINOX-3D News" mailing list. If you'd like subscribe, please let me know.
Version history
v1.3 (2024-01-28)
Rendering.
Physically accurate subsurface scattering.
Automatic plugin reloading support. When you recompile a plugin, Equinox3D detects the change and reloads it. Just check the "Auto" box in the Plugin-manager:
You can also set "AutoReload" to TRUE in the Plugins.list file:
Note that some of the larger plugins (e.g. the renderers) can not be safely reloaded at runtime yet, but the ones that just implement shaders etc. should be good.
Live shader code editing. When you recompile a plugin that registers a ShaderClass, Eqx3D will detect the change, reload the plugin and redraw the viewports with the new shader. So, the shader code, bindings and any custom C code may all be changed live.
Improved spectral color display. Sorted by frequency red-to-violet (vs wavelength), so it's more intuitive and it adapts to the range of wavelentghs specified.
Faster Texture view.
Modeling
When hidden Edges (e.g. from subdivision surfaces) are enabled, they are shown as thinner lines to distinguish them better.
Vertex attributes (texture coordinates, normals etc.) can be on either the Mesh Vertices or the Polygons with full shader and texture-view support (finally!) and they can be selectively visualized.
Mesh normal calculation that works smoothly across split vertices and other advanced vertex attribute generation tools for PolyGroup / Polygon Vertices and Mesh Vertices. This includes tools for getting normals and tangents by sampling textures etc.
Perspective-projection texture-mapper.
Filling holes in Meshes.
All vertex attributes are properly interpolated for subdivision surfaces.
More intuitive and faster texture-projector rendering (blue).
Direct selecting of individual Mesh Vertices.
Bounding box visualization. It can be used instead of, or in addition to showing wireframe and vertices for selected objects.
File formats
Improved Pixar USD format support, mesh normals, texcoords etc.
Support for reading .ktx textures with ASTC compression.
v1.2 (2022-01-02)
Rendering.
Physically based camera parameters. Sensor size, focal length and field-of-view update each-other when changed.
Anti-aliasing improvements.
GPU HDR bloom and tonemapping with the ray-tracer.
File formats
Improved Pixar USD format import and export support. Vertex animation, skeletal animation, skinning.
New support for .ply format import for colored points, a.k.a. point cloud (PointSet).
Improved COLLADA (.dae) format import and export. COLLADA 1.5 support, shader import/export fixes.
Alembic format import improvements. It can import vertex animation now.
Modeling
Custom Mesh Vertex attributes, PolyGroup VertexNode attributes with visualization support, and custom PointSet point attributes.
More UV editing features and much faster texture view redrawing.
Front / back mapping option for planar texture mapping.
Name support for both Mesh Vertex attributes and PolyGroup VertexNode attributes.
Spline-Faces can have textures.
Animation
Blendhapes (morph targets).
Mesh Vertex animation (point cache) and import support from Pixar USD and Alembic files.
v1.1 (2019-03-25)
Beautiful, modernized user interface with rounded corners.
File formats
Improved support Pixar USD format import and export.
Pressing Shift + Enter will apply the entered value to all 3 fields of Scale, Rotate or Translate.
v1.0 (2019-06-23)
We finally hit version 1.0! And, what better way to celebrate it than with the new:
GPU ray-tracer!
Enjoy hardware accelerated realt-ime ray-tracing on NVidia RTX GPUs. It's pretty fast on a GTX 1080 Ti, but it's pure awesomeness on a RTX 2080 or 2080 Ti.
Just like the CPU ray-tracer, it's fully integrated. You can model, and edit in a GPU ray-traced viewport!
Please, add your EQUINOX-3D folder's lib subfolder (e.g. equinox3d-1.0-Linux-x86_64/lib) to your LD_LIBRARY_PATH, so the plugin can find the OptiX library (I'll try to automate this in later versions).
Also, make sure you have NVidia driver version 418 or newer.
Sample scenes coming soon.
File I/O
Pixar USD format support (.usda). Written from scratch, so the plugin is tiny (~40kB), fast and self-contained vs. using the massive Pixar USD SDK with its "dependency hell".
Minor fixes
v0.9.9 (2019-06-18)
File I/O
Powerful and efficient native binary file format! (.eqx)
It's much more feature rich than FBX, but the plugin is only 138kB! (vs. FBX's 15MB).
HDR formats with PNG. Just use a .pnge extension (RGB + common exponent, like in Radiance HDR) or a .pngf extension (16-bit float for Gray, Gray + A, RGB and RGBA formats).
Rendering
Greatly improved shader code generator that works seamlessly with Cg, GLSL and GLES/WebGL
The PBR shader works with Cg and GLSL
Cubemap texture mapper works in the Ray-tracer:
More efficient importance sampling for the PBR shader (left: before, right: after. Same rendering time (400ms))
You can save texture images that were inlined (e.g. in a glTF2.0 file), from the Material editor.
Improved light map / irradiance map support (shaders have "Irradiance" parameters that may come from textures).
Spotlight support in the Cg and GLSL shaders.
Point and spotlights have separately adjustable diffuse and specular factors.
Loadable background image for rendering reference (see Camera dialog box: select camera's Object and hit "E").
Reload changed textures (Ctrl+R). Checks time stamp on image files, and reloads them if they changed since they were loaded. Great when working with light maps.
Extrude along Splines took can create either a single PolyGroup or one for each path Spline.
(Mesh) Edges to Splines tool has construction history now, and can generate Splines for only visible Edges, it can create a single Spline for contiguous Edges, etc.
This tool is super useful if you want to generate wireframes that can be ray-traced (you can use Extrude along Spline on the Splines).
Basic texture map ("UV") editing (finally).
Only single point move for now, but it's undoable.
v0.9.8 (2017-09-17, updated 2018-04-01)
Mac version! with huge improvements, much faster and better-looking GUI.
Updated IRIX version, for the still quite large group of SGI enthusiasts. Huge thanks to Steven M. Jones for providing an SGI Octane!
VR, AR and video games
Hugely improved light-map rendering: the Merge Meshes tool can do automatic texture layout / mapping, when merging PolyGroups.
This greatly improves your work-flow, if you are creating 3D models for VR / games, or other real-time visualization, with light maps, ambient-occlusion maps, etc., or if you want to 3D-paint on the surface.
Fusion engine™ (Fe): stand-alone game/VR/AR engine, based on the same libraries as EQUINOX-3D!
Comes with sample code for building your own stand-alone app. Runs on Mac and Linux. Android and iOS versions are in the works.
Rendering
Normalized Blinn and physically accurate metal shader for simpler shininess textures:
Improved PBR shader with efficient global illumination support, and improved glTF2.0 shader import (Khronos glTF2.0 sample models)):
Shareable texture mappers. Note how the material has 5 textures, but they all share a mapper:
GLSL renderer, with the same internal, automatic code generator as the Cg renderer!
Much faster drawing of Splines with many thousands of points.
In "Solid" and "Shaded solid" rendering modes, you can see any of the textures, by selecting the active texture in the Material dialog box / Image textures panel.
This allows you to check the mapping of each Texture on multi-textured objects, even though those rendering modes can only show one Texture per Material / PolyGroup.
Modeling
Boolean operations finally released!
Further improved Clone along shape (Spline) and Duplicate with repeat tools. Intelligently keeps Models and branches, unless the number of instances changes. It also keeps as many as possible, when the count changes.
This is more efficient / faster when parameters are (e.g. Offset) are animated, and the guaranteed persistence of Models makes it easier to experiment with other animatable features, etc.
Duplicate with repeat tool allows you to specify the normal orientation when duplicating along a Spline.
Greatly improved 3D Text tool. Font style selection, international text entry (copy/paste), faster updates, better rendering of available fonts, Mac OS support.
User interface
Faster and better-looking UI, including:
Fast, cross-platform fonts/text rendering and font selector GUI.
Better-looking icons, with adjustable sizes. Great, if you have very low or very high resolution screens.
Full international text support, including in editable text fields (you can cut-paste international text).
File selection dialog boxes have icons for files, and show the file type (3D, Image etc.). Plus: much faster / smoother redraw and scrolling, even on very old systems, like SGIs.
Proper app class and category display, with icon on Linux task bars.
Much faster / smoother Schematics view, Texture view and Animation view redraws.
Schematics views do an automatic "frame all" when things are added/removed. It's super helpful, especially for new users. When you move/zoom by hand, it's turned off for that window. It can also be disabled from the preferences.
Extrude along Spline (loft) tool can take multiple path Splines and multiple instances of the same Spline.
Very helpful for simplifying your hierarchies and speeding up updates.
For example, you can create a single Mesh to cut out all the windows on a car or airplane (one profile Spline, one "snap to" surface, but multiple path Splines).
You can do a single boolean cut without having to do all the extrudes, then merging them together.
"Raw" fuselage. Created as: - low-res Mesh -> - Mirror - Subdivision surface - Extrude Mesh (to add wall thickness) - Boolean subtract for the landing gear doors.
Boolean cut of the extruded shapes (single Extrude along Splines for all windows).
Note that the Splines don't need to be perfectly fit to the surface. The Extrude along Spline tool can "snap" the resulting shape to a surface. See "Snap to surface" checkbox.
The glass for the windows were cut with the same cutting geometry, but from an Extrude Mesh with thinner walls, then split into a separate PolyGroup, and the Material was changed to glass.
Fixes and improvements in Extrude and Extrude along Spline. Support for non-closed contours in face exteriors and holes, sides can be turned off, etc.
Improved Mirror tool. Added "Last segment linear" option when mirroring Splines, fixed mirror-plane point removal issue.
Merge Meshes tool can merge PolyGroups that share Materials, with configurable texture coordinate tiling.
Greatly improved Clone along shape (Spline) tool, with Orient along, Make Models visible and Visible only options, and animatable Offset! See the bulldozer's tracks (Orient along - ON) and the escalator (Orient-along - OFF):
Improved automatic texture layout tool.
Animation
Constrain Models to a shape (Spline or Mesh surface) tool:
Allows yout to keep a Model on a Spline, or on a surface, as you move it interactively (similarly to Clone along shape, but when moving a Model by hand).
Improved / fixed animation curve editing view
For example, you can insert a new key directly on a specific animation curve, with a midle-click (similar to Spline editing).
Rendering
Further improved importance sampling, used on all shaders now.
"Apply to all" option in the window / rendering settings copies background color as well.
File I/O
You can save a Model (left screenshot), or a branch (right screenshot) from within a hierarchy. You don't need to copy or disconnect the branch any more! It's super-convenient!
Mesh Edge attributes (Visible, Selected, Hardness) are saved into / loaded from .dae files.
More robust .dae loading.
v0.9.6 (2016-11-11)
Rendering
Greatly improved importance sampling for any BRDF (faster rendering / better quality), thanks to a new BRDF visualizer / debugger plugin. It even handles strong Fresnel terms well (see ivory ball) and it's multiple-importance sampling friendly (e.g. BRDF + HDR environment light).
Before and after (Same rendering time. Low quality setting, no anti-aliasing or post-processing):
RGB / hyperspectral fresnel term (refractive indices) for Blinn shaders (vs. the old monochrome).
"Apply to all" option for window / rendering settings: you can set grids, anti-aliasing etc. for every window at once.
User interface
Hugely improved manual with a clickable table of contents.
Major picking and selecting speed improvements, especially with large Scenes / complex Models.
GUI speed improvements, better looks, more icons and more consistency.
Modeling
Arbitrary transform list GUI for Models (e.g. when read from a COLLADA file):
EQUINOX-3D has had internal support for arbitrary transform lists (e.g. rotate, rotate, translate, scale, rotate...) for a while, but now you can see them in the GUI.
Animation
Major vertex skinning and skeleton animation improvements, faster wireframe update, more visible/colored skeletons, bone width auto-scaling, "Draw over" option for bones and more.
File I/O
New Panda3D (.egg) exporter with robust mesh, skinning and animation support!
New .md5mesh and .md5anim import plugin (Doom 3D file format with vertex skinning and animation).
Fixes in the .obj reader.
Greatly improved COLLADA 1.4.1 material / shader support.
Bug fixes.
v0.9.5 (2016-09-14)
Rendering
Physically accurate volume effects and more accurate caustics (click on images to play movies).
VR (HMD) support:
Side-by-side stereo 3D rendering.
Lens distortion correction.
Lens chromatic aberration correction.
Lens offset (IPD) correction.
You can create a "detached" 3D window, make it full-screen (Ctrl-F) and move it to the screen of the VR headset.
Modeling
Advanced hierarchy connection editing with single-step Model and Object reparenting, Add Object to all Models of a picked Object (Multi-instance object replacement) and more!
Powerful 3D text tool!
It can use any TrueType or Type1 fonts and it generates (Spline) Faces that you can extrude, to get thickness as well.
I had to invent a fast and powerful Spline-inside-Spline graph generation algorithm, so it supports any levels of faces with holes, inside other faces with holes (see Japanese characters and chess symbols in the image).
Still working on international text entry, so there's no UI to enter international characters yet...
Undo/redo works for hierarchy editing!
Merge Meshes and Merge Splines tools are modifiable, on the fly! You can see the source component list, activate/deactivate/add/remove components!
Super useful when building / testing final comCameraposite objects for export, 3D printing etc.!
Menu->Hierarchy->Expand selected expands selected Models in the Schematics view
The Duplicate tool has options for Generate unique names for Models and Generate unique names for Objects. (See left vertical menu).
Animation
General Aim constraint (orient a Model toward another Model):
Exporting
EAGLE CAD exporter lets you specify the layer.
COLLADA exporter: "Triangles" option.
User interface
Insanely fast parallel processing when loading large 3D files!
8,16,32 (or more) times faster (depending on how many CPU cores / threads you have).
Huge files with tens of thousands of Objects and millions of polygons, can load in seconds!
And EQX was already orders of magnitude faster than most other 3D applications!
Customizable Mesh Edge colors.
Optimized change propagation in the in the dependency graph. Much faster updates when complex multi-level construction history is used.
Improved preferences settings. Consolidated global Camera settings into main Preferences dialog box.
Mouse wheel camera zoom/dolly direction configurable.
Camera zoom to pointer option (2D views, front, right, top, schematics etc.).
Improved Materials dialog box. Faster re-render (ray-traced sample / thumbnail images), selected Material highlight, fixed layout issues etc.
Internal improvements, faster UI, better text anti-aliasing support etc.
Preliminary international text support (directory / file lists can show international text (UTF8), when using unicode fonts. See your home/.equinox/.EQUINOX-3D file). Click image for a bigger version.
Workflow improvements. Model/Object dialog boxes put keyboard focus on name field and select name automatically.
Fixes
NumLock fixes. Keyboard and numerical keypad works on the main 3D windows now.
More robust font search for the Schematics view.
Transmitted caustics fix for the ray-tracer.
Dialog box Widget layout fixes, major UI code internal cleanup.
v0.9.4 (2015-11-01)
3D printing, CAD/CAM
Several new modeling functions and file format support for 3D printing and general CAD / CAM! : Subdivision surfaces, Extrude Mesh and so on (see details below).
Renderer
Physically accurate dielectrics: glass etc. (yes, this is an EQX rendering :) ):
Physically accurate metals:
Silver, Aluminium, Steel, Titanium and gold (dragon)
Depth of field:
It works for cube-map cameras too! Great for "baking" blurry environment maps for "brushed metal" type materials!
Motion blur:
Interactive frameless rendering (random-order pixel updates, then anti-aliasing).
EQUINOX-3D is fully usable while the image is being refined.
More interactive than before (fewer pixels need to be recalculated to get an idea of the image).
HDR environment lights : millions of times faster than before, thanks to Importance-sampling!
Area light sampling is much faster for area lights with many polygons.
Normals and tangents are properly handled when non-uniform scaling is present.
Cg renderer
Tangents are automatically generated (when the geometry doesn't have them) for anisotropic shaders.
Modeling
Catmull-Clark subdivision surfaces!
Properly interpolated texture coordinates.
Edge sharpness control.
Correct handling of boundary Edges.
Robust and intuitive handling of concave Polygons and Polygons with holes.
Subdivision levels are instantiated as separate Meshes, so they can be visualized simultaneously and moved around independently.
Editing can be made at any subdivison level and changes automatically propagate to higher levels.
Mesh Edges are selectable and their 'hardness' is adjustable (shown as thicker Edges) for Catmull-Clark subdivision.
Edge attributes are preserved through Polygon editing (add Edge, delete Vertex etc.).
More intelligent undoable adding/deleteting of Mesh Polygons, Edges and Vertices.
More intelligent hierarchy walking via cursor keys.
Realistic grass:
Procedurally generated geometry over mesh surface (terrain).
Translucency support
Multiple texture maps to specify density, height and color variation over terrain.
Extrude Mesh tool : Add thickness to surfaces:
Extrude along Spline tool:
"Snap to surface" option:
"Scale by Spline" options: 1, 2 or 3 scaler Splines (X, Y and U):
"Fixed normal" option.
Layers: Named states of visible/hidden objects.
Offset Spline tool: Create a Spline that maintains a given distance from another Spline, from a surface, or from another Spline and along a surface at the same time (see highlighted Splines below).
Constrain to Spline + surface: Constrain Nodes along spline and surface, position and/or orientation (see screws below).
Change and Show input buttons for tools with construction history.
Interactive Merge Meshes and Merge Splines tools with construction history.
You can select Mesh Edges directly with "paint-select", just like for Polygons.
(Mesh) Edges to Splines tool works for selected Edges or all Edges.
Splines can have normals (at CVs) and Extrude Along Spline can use those.
(Mesh) Edges to Splines tool preserves Mesh Vertex normals into Spline CVs.
Fix Polygon directions tool.
Circle/Disc tool can generate spiral.
Un-triangulate tool.
Volume and surface area are shown for Meshes.
Extrude tool has "twist" and "scale".
Duplicate with repeat tool can duplicate Models along Splines, with optional X and Y scaling (guide) Splines.
Gears with precisely meshing involute curve teeth.
Extrude tools have better UV layout.
Simple automatic UV layout for any Mesh (see PolyGroup dialog box).
Individual Spline segments can be hidden and the Extrude tools selectively generate sides.
Mirror tool works with Splines (as well as Meshes).
Mirror tool can mirror along X,Y or Z axis now.
"Flood-fill selecting of Polygons : selects connected Polyons with a single click (hold down "L").
"Group objects" tool (Ctrl+G)
Undo/Redo works for add/delete Mesh Edge.
Negative scaling (e.g. mirroring a whole hierarchy with instancing) works properly with all renderers.
User interface
Full-screen mode
Camera and aim-point shown in Schematics view and its state (branch expanded etc.) are saved.
Other objects can be attached to camera and aim-point Nodes.