Latest News
 
v2.08
10/29/2023
New Script PlugIn
Added a new plugin useful for interacting with the elements of the scene via scripts in VB.NET language.
By pressing the Help button you can open a small manual with two examples, from which you can copy code fragments into the clipboard.
Render ClipArea
New rendering attribute "RenderClipArea", by default it will contain the rendering area expressed as xy starting point and xy ending point. It can be modified to render only a specific area.
Render Hidden Surface
Added a rendering attribute "RenderBackSurfaces", by default it is False but if set to True it renders the hidden surfaces of all objects. For loading scenes via plugin PBRT4 is set to True.
v2.08 v2.07
As you can see from the comparison alongside, the improvements are evident.
Other comparisons at the following link.
Also added a new attribute "BackfaceCulling" to all materials (only new ones in PBRT4 standard), by default it is True but if set to False it renders the hidden surfaces of the objects that have applied the material.
New Light Material
Added a new material to handle area light, and takes the place of the Light map of the BlinnOrenNayar material. You can apply this material to any instance to turn it into a light source.
Plugin PBRT4 - Instances
Added the ability to load instances (possibility to replicate the shape while maintaining the same memory area for vertices and polygons, changing only the transformations and applied material) of the PBRT4 scenes. Given the high amount of memory it requires (even replicating the instance leads to an increase in the memory used) this feature is disabled by default. To enable it, an additional option has been added in the "PBRT4 Settings" plugin, detailed further below in the interface news.
New ThinDielectric Material
Added a new ThinDielectric material in the PBRT4 standard, useful for simulating thin dielectric surfaces (e.g. transparent plastic Christmas tree decorations, bubbles, etc.).s
Improves on Scanline Render
  • Scanline and Environment Map
    Improved the display of materials through the use of the environment map.
  • Improved the Environment Details option
    The scene option is now called "Scanline Environment Details", due to its exclusive use in the editor's Scanline rendering.
    Increased the default detail of the Vertex Shading environment in the editor viewports to 6. While I left the detail of the preview of the materials at 4.
    Now the chosen configuration is saved in the registry instead of in the scene file.
Plugin OBJ - Auto Smooth Mesh
Improved the default loading of object normals in OBJ format.
In some cases it is still recommended to apply the "Smooth Normals Adaptive" action on the object.
Plugin OBJ - New Materials
Using the new materials in the PBRT standard for loading objects in OBJ format.
The material that simultaneously presents reflective and diffusive characteristics (e.g. ceramic) has been converted into a Mix material, which amount is the required reflection coefficient "ks", the first material is diffusive and the second is a CoatedDiffuse material.
AlphaMap Refactor
Moved the Alpha Map application from Instance to Shape.
Small improvements
  • Octree deprecated
    Deprecated the Octree algorithm for speeding up intersection searching.
    Now we will only use the KDtree algorithm, which at the expense of a slight slowdown in precalculation, brings with it greater speed in finding intersections.
  • PLY gzip loading
    Added the ability to upload ply files compressed in gzip format.
  • Remove ColorMap from Dielectric
    Removed Color map for Dielectric material.
  • Loading file "tga"
    Added the ability to use images in Targa format.
  • PBRT4 "tga" file
    “Targa” format images will now be loaded when importing PBRT4 scenes.
  • PBRT4 alpha map
    Alpha Maps will now be loaded when importing PBRT4 scenes.
  • PBRT4 default material
    Applied a default diffuse material when importing PBRT4 scenes.
Plugin PBRT4 Settings
Added a new item in the plugin list, useful for managing the settings of the PBRT4 plugin.
Here you can activate or deactivate the loading of instances (see news above).
By default this feature is deactivated, given the heavy loading of some scenes.
An update will follow to improve performance.
Bug Camera Pan
Fixed a bug that prevented the camera from moving correctly within the current viewport via panning, or moving the camera using the arrow control.
Bug removing SubMaterial from Material Mix
Fixed a bug that caused Now3D2 to crash by deleting one of the two sub-materials applied to a Mix-type material.
Bug render empty Scene
Fixed a bug that prevented the rendering of the background (environment) in the case of a scene without objects.
Bug Shape MeshInstance
Fixed an issue that prevented the selection of shapes for the instance and the mesh.
Bug crash Shape Mesh empty
If saving a BaseObject with an empty mesh shape (therefore without vertices/polygons), it failed on the next load.
PBRT4 BumpMap Bug
When loading PBRT4 scenes the bump map was not applying the correct UV mapping.
v2.07
07/24/2023
Spectral Render
I finally implemented full spectrum rendering in the MultiplexedMLT render engine!
RGB Spectrum
As can be seen from the comparison on the side, the colors will be more realistic.
More comparisons at the following link.
The use of Spectrum is active by default but can always be deactivated from the MultiplexedMLT engine attributes.
New plugin PBRT4
I implemented a new plugin to load PBRT4 scenes.
Some scenes can be downloaded in the Official PBRT git.
Next an example of a scene in pbrt format rendered using Now3D2.
More examples can be found in the gallery.
Most of the attributes have been implemented, but many are still missing. Here are some of those that will be implemented in a future release:
  • thin dielectric material
  • render hidden faces
  • load exr files
  • equirectangular type environment mapping
  • load ply files compressed using the GNU zip algorithm (.gz)
  • instances
  • subsurface materials
  • volume materials
  • improve the dielectric material
  • shape of type loopsubdiv (currently loaded as a simple mesh)
  • load Targa images (.tga)

N.b.: Just a little of patience to wait for loading.
Speedup via KDtree
Thanks to the KDtree algorithm now you can render more complex scenes and those containing displacement materials faster!
Next an example of an image rendered using the KDTree algorithm with a rendering time passed from 2h14m a 1h28m.
While for scenes like these it would have been difficult to render them using the Octree algorithm.
The use of the KDtree is optional (except for pbrt4 scenes where it is active by default) and can be applied from the rendering attributes, the previous Octree will soon be deprecated, and only the KDtree one will remain.
New shader nodes
Implemented two new nodes useful for spectrum management.
  • Spectrum: the input is a spectrum expressed as a string composed of wavelength/value pairs separated by space (e.g.: 298.757 1.795 302.4004 1.812)
  • Blackbody: the input is the temperature of a black body (e.g. 5500 for the sun)
New Scale action for the Scene
Thanks to this action applicable to the scene, it is possible to increase or decrease the size of the scene. This is useful in cases where the scene is smaller than unity (most pbrt4 scenes), as Now3D2 still doesn't handle scenes of that size well.
Improving Transformations and Matrices
  • Managed saving and loading of the Extra transformation matrix.
  • Improved the general implementation of transformations.
Small improvements
  • Saved the Maxdepth attribute of the MultiplexedMLT render engine.
  • Removed the Eta and K maps of the Conductor and CoatedConductor materials, and replaced them with simple (Eta and K) and spectrum-type (EtaSpectrum and KSpectrum) colors.
  • Added EtaSpectrum attribute to Dielectric, CoatedConductor and CoatedDiffuse materials
Better use of colors in Wireframe
To improve the user experience, the selected object is shown in yellow-gold color, while the invisible ones in gray color.
Saved last folder for OBJ plugin
Now after importing an OBJ file, the last folder opened is stored so as to re-propose it in a follow loading request.
Small improvements to the interface
  • Improved the preview of Layered materials by increasing, only in the preview phase, the number of samples (NumSamples)
  • Now the MultiplexedMLT render engine is the default
  • Increased the intensity of light in the material preview.
  • Changed the default scene. Camera moved to Z +5000 and objects created to Z 0
Sphere primitive loading bug
Bug that prevented reloading of a file containing a sphere primitive. The reason was a wrong version of the associated N3D2.Instance.Object.Primitive was connected.
Object (.nxo) file loading bug
Bug that prevented the reloading of an nxo file (generated when saving an Object). The problem was in the wrong version of the BaseIntance applied.
Bug Object ImportPLY
Did not load the last polygon of the mesh of a ply file.
UV texture coordinate bug
Didn't handle texturing uv coordinates well in case of negative values
Plane primitive bug
It didn't handle decimal values for the y dimensions of the plan.
Scene loading bug
When reloading a scene with multiple cameras it put them in place of the default ones (top, rear, left).
Measured material crash bugs
Fixed a bug that could crash rendering when using Measured materials.
News Archive