You are on page 1of 42

NOX free renderer

open beta quide

Ta b l e o f c o n c e n t 1. Introduction and capabilities 2. Installation 3. NOX Renderer - main window 3a. Main bar 3b. Render frame 3c. Render tab 3d. Regions tab 3e. Camera tab 3f. Objects tab 3g. Materials tab 3h. Environment tab 3i. Blend tab 3j. Post tab 3k. Final tab 4. Material editor 5. Dialogs 6. Rendering 7. Recommended settings 7a. Performance issues 7b. Memory consumption 8. 3ds Max plugin 9. Blender script

N O X

f r e e

r e n d e r e r

o p e n

b e t a

q u i d e

1. Introduction and capabilities


NOX Renderer is a stand-alone application that renders images from 3D geometry. The rendering engine is based on unbiased methods. Light behavior is based on laws of physics, however some simplifications occur. In current version only Metropolis Light Transport algorithm is used for Global Illumination evaluation. Application works with all CPUs that support SSE2 (e.g. Pentium 4 or Athlon 64 and further). Multicore is supported in most crucial operations. Application was compiled for 32- and 64-bit (also known as x86 and x64) architectures and works under MS Windows family systems. Currently application is released as early public beta version, so many important features are still being developed. All images in this document were created or caught from versions 0.3.33 0.3.39. NOX contains a plug-in, that is partly integrated with 3ds Max. It will allow you to export geometry from 3ds Max. More information on using NOX in 3ds Max can be found in further part of this document. There is a script for Blender that allows to export geometry with materials assignment. NOX Renderer is an application that does not need any 3D host environment to work. Exported scene may work without problems on other machines. However careful textures usage is recommended in scene porting situations. After scene is exported you can freely change most of the settings however often it requires to stop the rendering engine. Light emission is possible only from geometry or internal Sunsky system. Any other hidden or fake lights are not supported. Sunsky system is an artificial emitter that simulates sky pattern in accordance to sun position. Power of emission is comparable to the physical power of light that hits the surface of the earth. Materials are based on layers that are blended. With some exceptions, each blend layer is independent to another. Reflections are evaluated in accordance to microfacet model of reflection. Also perfect reflection/refraction or Lambert reflection model are possible. Some other settings for materials, like roughness, transmission, absorption, dispersion, are available. Camera in NOX works on the basis of real world camera. All the exposure settings are set in the same way. Final image exposure is correct comparing to the photo taken by real camera in the same light conditions. Depth of field is also physically correct, provided that scene scale is properly set. Aperture shape and behavior of light coming through lens can be set in many ways, giving possibility to reproduct commonly known characteristics of bokeh effect. Some other lens effects like bloom and glare can be added by finalizing rendered image. In final stage also fake depth of field effect can be added, however due to lack of information on rendered image it can be used only in long depth of field settings without common known artifacts of that algorithm.

N O X

f r e e

r e n d e r e r

o p e n

b e t a

q u i d e

1. Introduction and capabilities


You can do a simple image post production. Main phase of it is made in render-time, so refreshing is quick and can give very reliable preview of final image. In that phase you can change whole image appearance: exposure, manipulation on colors (brightness, contrast, curve, etc.), film response or anti-aliasing algorithm. More time-consuming part is done in the final stage when rendering image is done. There you can add more effects with no harm to the original image. Fake depth of field (fake DOF) can be done here with most settings of the camera that has impact on DOF. Also you can add bloom or glare effects here. NOX has its own rendering in region system. Image is divided into small boxes so it gives possibility for high number of regions. However region feature is limited only to direct lighting. Due to the complex nature of Metropolis Light Transport global illumination is evaluated only on the whole image. NOX gives the possibility to use up to 16 layers of image. They are additively blended to the final image and user can change every layers power or color attenuation. Each emitter can be assigned to one blend layer. Changing their settings on a rendered image can quickly redraw scene in different light conditions. Unfortunately not all common features used in other softwares can be found in NOX. Professionals can get some pain from absence of such techniques as object instancing, geometry displacement or bump mapping. In current stage of development there is no material anisotropy or subsurface scattering. It is planned to be added some time later.

N O X

f r e e

r e n d e r e r

o p e n

b e t a

q u i d e

2. Installation
NOX comes with its installer or a simple compressed file. In the second method user has to take care to set everything on his own. On systems with User Account Control (UAC) - Windows Vista and 7 installer will ask for administrator rights. Without them it may not create registry entries or will not write to some folders. The installer asks user to set destination folder. On systems with UAC it is recommended to install it in different destination than Program Files. NOX uses his folder to save some files like logs, exported scenes or downloaded materials. UAC by default deny writing right in special folders (e.g. Program Files), so there might occur some problems with that destination during the usage of NOX. On the other hand, Windows XP does not suffer with that problem. Unless you deselect proper checkboxes, installer will also make some additional tasks: run 3ds Max plugins installer at the end of installation; it will check for installed 3ds Max versions and set destination folders its up to user to verify those settings, turn on automatic updates by adding a registry entry it can be turned on/off later in NOX application, download and install proper redistributable libraries it is recommended at least for first time; NOX will crash if wont find those. Redistributable for Visual C++ 2010 is needed only when plugin for 3ds Max 2010 or higher is used. During the installation some registry entries are created. Most crucial is HKEY_CURRENT_USER\Software\Evermotion\Renderer where string value named directory exists. It shows NOXs place where its files lie, e.g. 3ds Max plugin needs to know that. Not or wrongly set will cause NOX to crash. If someone wants to copy files by himself, creation of above registry entry is necessary. Also file associations are made by registry all that registry operations are automated by vbs script (addDirToReg32.vbs or addDirToReg64.vbs for 32 and 64 bit system respectively), however on system with UAC it needs to be called with administrative rights from main NOX directory. NOX Renderer folder structure: bin contains all executable files, dll contains used libraries, exported scenes by default 3ds Max plugin exports NOX scenes there, logs NOX for each run creates one file and logs some operations there, maps additional textures, mat editor contains scenes for material editor, materials material library holds local materials there, max<version> plugin contains plugin for specified version of 3ds Max, settings interface themes are hold there. Some of above folders contain subfolders named 32 and 64 with files compiled for 32- and 64-bit architectures.

N O X

f r e e

r e n d e r e r

o p e n

b e t a

q u i d e

3. NOX Renderer - main window


NOX Renderer main window is divided into 4 regions: [1] Main bar [2] Tabs [3] Render frame [4] Status bar Following sections will introduce you to their functions.

N O X

f r e e

r e n d e r e r

o p e n

b e t a

q u i d e

3. NOX Renderer - main window


3a. Main bar Main bar is a horizontal bar that contains buttons with major functions associated. These are respectively from left: [1] Load scene opens a dialog for choosing scene to load once loaded or failed, it wont be accessible anymore. NOX must be run again to load another scene, [2] Save scene opens dialog for choosing name of file to save scene with all the changes that were made and images that were rendered, [3] Save scene with textures works in the same way as above with two differences: textures are copied to the same destination as scene file and scene is saved without absolute path to textures. This gives possibility to move the scene with copied textures on other machine. Also it will ask if rendered buffers should be saved. [4] Save image saves current shown image. All post/blend settings and final stage currently shown counts, [5] Refresh manually refresh image, tip: F5 key will do the same, [6] Start rendering starts rendering, current rendered buffer will be lost, [7] Resume rendering continues rendering on current buffer, [8] Stop rendering stops rendering, [9] Zoom in show enlarged image, [10] Zoom out show smaller image, [11] Show 100% show image in original size, [12] Fit to screen show image fitted to current window size, [13] Draw smooth turn on/off smoothing zoomed image, [14] Scene info show scene statistics and information, [15] About NOX Renderer Show information about author and license. Automatic updates can be turned on/off here.

N O X

f r e e

r e n d e r e r

o p e n

b e t a

q u i d e

3. NOX Renderer - main window


3b. Render frame Render frame ([3] at first image in chapter) takes most part of the window. It draws rendered image in its area. Mouse actions in Pan mode: left mouse button moves image mouse scroll zooms in and out image middle mouse button sets zoom to 100% Mouse actions in region mode: left mouse button adds area to region right mouse button removes area from region left mouse button holding shift moves image mouse scroll zooms ina and out image middle mouse button sets zoom to 100% Tip: dropping scene file on render frame will load that scene. This can be done only whene scene is not loaded yet. 3c. Render tab [1] Tabs are horizontally spaced buttons resembling file cards. Each opened card (tab) contains some space below it. Tabs allow to save some space by grouping it and hiding when they are not needed. Render tab contains simple settings for the rendering engine. [2] Image resolution and anti-aliasing level are set here. Anti-aliasing level is experimentally chosen as default for 2. It has the best ratio quality/time. [3] Following timers can be set here: for rendering stop, for refresh rate and for autosaving. [4] Show/hide MLT settings will switch visibility of Metropolis Light Transport settings [5] Metropolis Light Transport settings are described in Rendering chapter.

N O X

f r e e

r e n d e r e r

o p e n

b e t a

q u i d e

3. NOX Renderer - main window


3d. Regions tab As pointed before, regions rendering works only with direct lighting. GI is evaluated for whole image. Regions work very simple. When some region is chosen, it renders only that part of image. First three icons on Regions tab are selections of mouse mode for image part of window. [1] Pan mode it has nothing to do with regions. Once its selected, no manual regions selection is performed on image when doing some mouse operations. [2] Rectangle tool. Select a rectangle with mouse on an image to check or uncheck some region holding left and right mouse button respectively. [3] Brush regions selection mode. Regions are selected or deselected by drawing with a circle brush on an image with left or right mouse button clicked respectively. [4] Size of circle brush for brush regions selection mode. Following icons has nothing to do with mouse mode. They simply change regions automatically. [5] Select whole image as a region. [6] Clear all the regions. [7] Invert current selection. 3e. Camera tab Camera tab contains settings for all cameras in the scene. User must note that not all features seen on the GUI are implemented. Simply GUI was designed with some plans that were not yet made. [1] List of cameras. All the setting changes are always made on camera that is set active. To set camera active, select one from list and click Set active button or simply double click on camera on the list. Rendering engine must be stopped to do this. [2] Exposure group. Auto-exposure setting is one of not implemented features. User has to set the exposure manually. It is done in exactly the same way as in photography. ISO value is a film/sensor sensitivity higher value will make final image brighter. Aperture value controls the diaphragm hole size. Higher value will close the hole more. Less light will come through the lens and the final image will be darker. Aperture also makes impact on depth of field. Lower value will open the hole wider and make depth of field shorter. This will make objects out of depth of field more blurred, provided that depth of field feature is turned on with checkbox on the right side of Camera GUI ([7]).

N O X

f r e e

r e n d e r e r

o p e n

b e t a

q u i d e

3. NOX Renderer - main window


Shutter value is the time that film/sensor is being exposed while shutter is opened. The more time it gets the brighter photography it makes. However in this control value is inverted. Unit is 1/second. So the user must carefully set that value. In photography shutter time would also create such effect as motion blur. NOX does not support that feature. There is no need to be worried when the exposure settings are wrongly set and the image turns out to be too bright or too dim. This can be corrected in Post tab with EV trackbar during or after rendering. [3] Focus group contains second not implemented feature auto-focus. Focus distance has to be set manually. In most cases it is set in exporting software, e.g. 3ds max plugin set it to camera target object. Focus distance is set in meters. This value loses its purpose when depth of field [7] is turned off. [4] Optics geometry group concerns viewing angle. It is based on focal length in the same way as in photography. Conversion to viewing angle is evaluated basing on 35mm film dimensions. It is always converted with respect to film/sensor width which is 36mm. Height view angle may change along with image ratio on the same focal length. A set of predefined values buttons lies in the same group. These focal lengths are the most frequently used prime lens in photography. Depth of field is a natural effect of lens camera. This happens because of its cone nature of light gathering. Pixel on sensor is not just illuminated by single ray of light. Actually the whole cone around the route (ray) of light participates in pixel illumination. Because of it there are some parts of photo that are sharp and parts that are blurred. The sharp part in the scene is called depth of field. The more distant planes are more and more blurred. Blur does not have to be equal. Its characteristics are called bokeh. [5][6] Aperture and Bokeh groups in NOX camera GUI count only when depth of field is turned on [7] in Bokeh group. All settings in those groups give an extensive solution for bokeh effects. [5] Aperture group Aperture values from this group and Exposure group are linked. As explained before lower value will give wider hole and brighter image. Also it will shorten the depth of field size and will increase size of blur of bokeh. Blades value sets the number of blades in diaphragm. In real lens diaphragm works by covering part of light path by metal blades. Each model of lens contains some number of those blades embedded around the lens main axis. Their shape is more or less round to give at least partly circular shape of the whole mechanism. Angle value is a rotation angle of blade mechanism around lens main axis. Round blades enables round shape of blades to create more or less circular shape of diaphragm.

N O X

f r e e

r e n d e r e r

o p e n

b e t a

q u i d e

3. NOX Renderer - main window


Radius is a radius of circle that creates the round shape of blades. The shape of aperture might appear on image when there exist small bright objects in camera frame. Other often situation that gives a shape of aperture on image is a bright sky that is partly visible through dense spaced leaves on a tree. Thats why its shape is important. [6] Bokeh group settings allow to distort the shape of aperture that is drawn out of depth of field. There is no perfect lens in real world, every construction comes with some side effects and some artifacts may occur. In NOX some of bokeh distortions can be simulated. Ring balance regulates the brightness balance between ring and its interior. It is often found bokeh effect a bright ring that is drawn on the border of aperture shape. Ring size adjusts the thickness of that ring. Flatten controls the amount of flattening. It is also often found distortion flattening of aperture shape that increase along with the distance from the center of image. Vignette is yet another distortion. This happens when some part of light way is being covered by part of lens construction. This also increases along with distance from center of image. On image this would be shown as cut off of the aperture shape. All those settings of Aperture and Bokeh groups, except for Flatten and Vignette, is being visualized on image in Aperture group. User must note that for renders with fake DOF, (real) DOF in camera (in Bokeh group) should be turned off. Using both ways of DOF in the same time would give unexpected results. 3f. Objects tab Objects tab contains a list of all geometry objects in the scene. It has no other features in current stage of NOX Render development.

10

N O X

f r e e

r e n d e r e r

o p e n

b e t a

q u i d e

3. NOX Renderer - main window


3g. Materials tab Materials tab contains a list of materials used in scene and allows user to choose material to edit. [1] List of all materials. [2] Simple information about chosen material [3] Rendered preview. [4] Edit button. Clicking it or double clicking on material icon on list will open material editor, provided that engine is not rendering currently. 3h. Environment tab Environment tab gives a possibility to control Sunsky system. Enabling it allows the engine to render a scene with with illumination that imitates physical sky and sun. Sun position on horizon is evaluated from position of viewer on earth and time of the year. Different sun positions and atmosphere settings give a different sky colors spectrum. [1] The map of earth. When a time is given the preview of day and night territory is drawn. Also sun and viewer position is shown there. Viewer position can be moved on this map when left mouse button clicked. [2] Enable Sunsky system. It concerns both sun and sky. [3] Longitude and latitude set the viewer position on earth. [4] Date, time and time shift GMT set the time for which sun position is being evaluated. [5] Turbidity sets atmosphere pollution due to various types of gases. Higher value will scatter the light more and the sky colors will change. Lower values will make the sky more clean. Aerosol value is not used in current implementation. [6] Sun group. Sky illumination has nothing to do with this group. Sun ON turns sun light illumination in the scene. Sun on blend layer #2 sends sun illumination on second blend layer. Sun size on the sky is measured in degrees. Reset will change it to default value which is the same as on Earth. Altitude and Azimuth show the sun angular position on the sky. Color of sun shows the color in current Sunsky configuration. Black color is shown in night situation. More about the blend layers is explained in the next subchapter, however it must be clear that sky light will always be rendered in the first layer and the sun in first or the second blend layer, depending on checkbox in Sun group.

11

N O X

f r e e

r e n d e r e r

o p e n

b e t a

q u i d e

3. NOX Renderer - main window


3i. Blend tab NOX Renderer gives the possibility to render in multilayers. Each light source (meaning material or Sunsky system) must be assigned to one blend layer that will receive that lights energy. At least one blend layer is always used. Maximum number is 16. As mentioned in previous subchapter Sunsky will always be assigned to a first and optionally second blend layer. Emission material can be assigned to every possible layer, but not to a several at once. This is set in Emission group in Material Editor. Each of 16 blend layers contains a set of controls on GUI. As example on screen above marks are attached to blend layer 8. [1] Name of blend layer. It can be changed for easier scene illumination management. Those names will be shown in Material Editor in emitter blend layer choosing combo box. [2] Enable blend layer. During and after rendering each blend layer can be turned on and off. This will immediately redraw render with or without this layers energy; or to be more precise the energy from emitters that are assigned to that blend layer. User must be aware of blending behavior when emitter is visible on the image. Turning off the blend layer that is assigned to that emitter will NOT make that area invisible. That pixels on image will become black. [3] Power of blend layer. With it the user may change the emission power of the each blend layer. Default value is 100. Value 200 will double the emission power and so on. Emission power must not be confused with pixel value. Doubling the emission power will NOT make pixel color values doubled. [4] RGB color components. This will attenuate blend layer multiplicating it by chosen color. Whole light environment in the scene may be changed in a second with this feature. [5] Reset button changes blend layer values to default 100. It is a good practice to set light power correctly to some degree during scene designing stage. Situations where (for example) emitters from the first blend layer give 20x too much power comparing to the second blend layer and correction by changing power to 5% in blend layers is wrong. This is because stronger emitters will get more CPU power to be rendered. Their quality will be much better than the others, yet it will be artificially dimmed. That CPU time will be wasted, because it is harder to observe a noise in darker colors than brighter. [6] Import/Export buttons. All blend settings can be imported/exported. XML file with NXB extension will be used.

12

N O X

f r e e

r e n d e r e r

o p e n

b e t a

q u i d e

3. NOX Renderer - main window


3j. Post tab With the controls in Post tab simple post-production can be made. Each camera has its own post-process settings. Only active camera settings are shown. GUI is divided in four areas grouped with names: [1] Curve [2] Exposure [3] Color manipulation [4] Appearance. [2] Exposure group sets the way of conversion from internal buffer to render image on screen. Internal buffers contain physical values. Showing them directly on screen would give an incorrect and unexpected result. [5] EV gives possibility for compensation of wrongly set exposure values in the camera. [6] GI compensate corrects only GI part of image. It changes ratio of GI to direct power. GI is evaluated by Metropolis Light Transport algorithm which often wrongly set power of GI and it needs to be corrected manually. Both those values are in EV units exposure value. This means that having default value 0, setting it to 1 will double image exposure brightness, 2 will give 4x, 3 will give 8x, and so on. Each trackbar increased by 1 will double the previous exposure. This works in the same way in opposite direction setting to -1 will halve exposure brightness. Every subtraction by 1 will halve from previous exposure. Because of its ease of use, EV units are commonly used in photography. [7] Vignette gives some darkening of image for pixels distant from the center. The effect is often found in photography, especially as darker corners. As said before this happens when part of light path is shadowed by part of lens construction. [8] Burn is a very simple tool for reducing image tone range. It gives fair results only for scenes with not to big source tone range. [9] Gamma correction is the simplest way to translate values from linear scale to monitor colors. However it is used only when there is no camera response function chosen (none). [10] Camera response function is the other way to convert linear values to monitor colors. Lots of films and sensors were measured to create a set of functions which can reproduce image that looks like taken using that particular tools. [11] Draw graph for current response function. [12] Generate previews of all response functions based on current rendered image. [3] Color manipulation group is a standard set of post-production actions found in every image editor. There is no need to explain every of them. They simply are: brightness, contrast, saturation, add RGB, temperature.

13

N O X

f r e e

r e n d e r e r

o p e n

b e t a

q u i d e

3. NOX Renderer - main window


[13] Curve is a tool that also can be found in some image editors. Once mastered it is a very useful tool to change whole image appearance. Curve itself is a custom point based function that operates on source color value and gives a result color. On X-axis lies the source values, on Y-axis the result. [14] Color channel that curve is currently operated. Each color channel can have its own function or there can be one function that operates the color lightness. Lightness and color channels cannot be used together in current release. [4] Appearance group contain some miscellaneous settings. [15] Filter gives a choice of anti-aliasing method. This is used only when image is rendered with AA higher than 1 (this is set in first tab Render). It works by rendering image in higher resolution and scaling down with some common filters. Because of this memory usage is higher with anti-aliasing rendering. Read more about memory issues in chapter VI. [16] Show direct and GI allow to turn on and off drawing render with buffers of direct or global illuminated scene. [17] Hot pixels allow to filter image and remove single over-burnt pixels by mapping them to neighboring ones. Its the same algorithm that is used in Final tab, however with predefined settings here. [18] Show timestamp will turn on drawing a box with simple information about the machine and the rendering time on the image. [19] Histogram will switch drawing a histogram on render frame. [20] Load/Save post. All post-process settings can be exported/imported with Load post and Save post buttons . Post-process settings file is an XML file and comes with NXP extension. 3k. Final tab Final tab is used for finalizing rendered image. Because of importance of fast refreshing image all the time consuming post-process elements can be found here. They are not done automatically with refreshing, it has to be run manually. [1] Redraw button manually redraw final image. [2] Hot pixels group. As mentioned in previous subchapter, hot pixels is a filter for elimination of single over-burnt pixels. Different renders may have different distribution of problematic pixels and it is impossible to automatically detect all of them correctly. Three values can be set to tweak the algorithm correctness: [3] Radius neighbor searching area. It is a square of side 2*radius+1 size. In other words radius pixels in every direction. [4] Threshold minimum ratio of pixel color value to other near pixels to be considered over-burnt. Any of RGB component counts.

14

N O X

f r e e

r e n d e r e r

o p e n

b e t a

q u i d e

3. NOX Renderer - main window


[5] Density maximum number of over-burnt pixels in neighboring area. This filter is supposed to eliminate invalid over-burnt pixels but leave those that are correct, e.g. lights, bright reflections. Whole image is searched for over-burnt pixels. For each found over-burnt pixel it checks for neighboring pixels to recognize if it is alone and invalid. If there is more neighboring over-burnt pixels than density value it is considered a valid pixel, e.g. emitter. Otherwise it is consiedered invalid and is mapped to pixel next to it. Bloom and Glare groups. Bloom and Glare in photography comes as a side effect due to imperfection of used lens materials and the laws of physics. Bloom (also called glow) is noticeable especially in very contrast scenes when light from a very bright (especially over-burnt) region seems to bleed to some darker region around it diminishing with distance. Glare appears often as a star shaped flash around small bright emitters visible on frame. This happens when light diffracts during transition through tiny hole, like tight closed aperture. Some obstacles on optics also increase this phenomenon. Shape of glare is strictly related to shape of hole, including projected obstacles. Bloom in NOX is customized by three values (on trackbars) and attenuation color. [6] Enable bloom. [7] Power of bloom effect in terms of energy. It is expressed in EV units. [8] Area of bloom to be exact it is the length of the side of square that bloom fills around source pixel. [9] Threshold minimum value for pixel to be the source of the bloom. [10] Enable attenuation [11] Change attenuation color. Glare is partly set in the same way as bloom. [12] Turn on glare. [13] Power of glare, EV units. [14] Area of glare shape [15] Threshold minimum value for pixel to be source of glare. [16] Dispersion. Light coming through medium borders (like air to glass) gets refracted. However with different power for different wavelength. This is called dispersion. For glare it will make pattern multicolored. Shape of the glare is evaluated basing on the shape of aperture [38]. However own aperture shape can be loaded from image file. Just fill square image white color for transmission and black for blocking. [17] Loading custom shape for aperture - will ignore the aperture shape generated from aperture settings.

15

N O X

f r e e

r e n d e r e r

o p e n

b e t a

q u i d e

3. NOX Renderer - main window


[18] Load obstacle image. Obstacle will change the shape of glare. Examples of obstacles can be found quite often: eyelashes when squinting try watching road lamp in the night with partly closed eyes. The glare pattern will be very asymmetric. Other example may be a star filters sometimes used in photography for enhancement of glare effect. One other example is watching lamps outside through curtain nets on the window. Image for obstacle is created in the same way as for aperture image. Sample obstacle images should be added to NOX release. Depending on image and settings, bloom and glare generation can become time consuming. Increasing area may show some slowdown. Decreasing threshold will increase a number of source pixels for bloom/ glare this may also slow generation process. Fake Depth of Field. Fake DOF in NOX is yet in experimental phase. Some weird artifacts may still occur. Like in other software it is generated basing on depth map which here is created during direct illumination rendering. It is strongly recommended to render image with real DOF turned off when fake DOF is to be used. Also it is not a good idea to use fake DOF on scenes with very short depth of field, because strong blurs may give some unexpected artifacts. Actually there are five groups on GUI concerning fake DOF: [19] Fake DOF, [20] Aperture, [21] Bokeh, [22] Bokeh preview, [23] Lens chromatic aberration. Aperture and Bokeh groups are set in the same way as on Camera tab (few subchapters earlier), so no unnecessary words repeating. Only Aperture value range has been extended to deal with wrong scene scale. [19] Fake DOF group controls more technical part. [24] Turn Fake DOF on/off. [25] Focus distance is a distance (in meters) from camera lens where the center of depth of field is. [26] Fake DOF algorithm. During implementation several algorithms were created to obtain fair fake DOF effect. Due to experimental phase it is still not perfect and some artifacts may occur. Note that Algorithm 2 works without (explained below) lens chromatic aberration. [27] Quality - number of samples for DOF evaluation. More will give better result. Less can be good for faster previews.

16

N O X

f r e e

r e n d e r e r

o p e n

b e t a

q u i d e

3. NOX Renderer - main window


[28] Number of threads. Unlike other image processing functions, fake DOF is multithreaded. Default value (which is recognized number of cores on CPU) should work fine. [29] Show DOF range. For the rendered image you can quickly create a map of depth of field white regions will show depth of field, where everything is sharp. With more dark gray colors the blur will be greater. With it turned on, any change of value that has impact on depth of field (aperture, focus distance also picked from image) will redraw that map. Note that this action will destroy last redrawn final image (but not original image of course). [30] Pick focus mode. When having a rendered image you can change focus distance by picking pixel on a image. For that effect NOX must be in Pick focus mode with proper checkbox. Uncheck it or close Final tab to get back to Pan mode. [31] Reset values button all fake DOF settings will be reset to values set in camera. [32] Draw Z-map will simply draw a depth image, provided that image is already rendered. Range will be automatically set for nearest and farthest values from depth buffer. Chromatic aberrations. Chromatic aberrations can be done in two ways. They can be used together. These are planar and lens chromatic aberrations. Planar chromatic aberrations. [33] Planar chromatic aberrations RGB values. Planar chromatic aberrations are simple and dont affect DOF. Image is simply scaled with different chosen values for each RGB component. Scale pivot lies at the center of image. Lens chromatic aberrations. Lens chromatic aberrations are much more complicated. This works only with fake DOF (except algorithm2) and it is in a pretty experimental state. For its better understanding special diagram is added that shows focusing mechanism with aberrations. [34] Focusing diagram visualizing rays for different color components. Lens without aberrations does not exist. Simplified version of chromatic aberration mechanism was created. Ray ways for different wavelengths on a diagram are distorted and controlled with three values. [35] Shift color components on lens. It controls arrangement of starting points on the lens. Some wavelengths will have higher projected aperture and some lower.

17

N O X

f r e e

r e n d e r e r

o p e n

b e t a

q u i d e

3. NOX Renderer - main window


[36] Shift color components on depth. It expands the focus point, meaning that for the different wavelengths focus distance will be slightly different. [37] Achromatic simulating correction mechanisms. Chromatic aberrations in lens are partly corrected by using some optical constructions. One of them is achromatic doublet that brings focus point closer for ranges of wavelengths. This works only to some degree and changes an aberration characteristics but correction is noticeable. Achromatic value controls that behavior. [38] Bokeh preview. It works almost in the same way as in Camera tab. Only exception here is the drawing impact of chromatic aberration on the bokeh. This depends not only on the settings. The distance from camera also counts. Shifting a vertical bar on chromatic aberration diagram shows what bokeh would look like in different distances from the camera. [39] Scaling aperture size on preview due to aperture value or distance from camera. Other group. [40] Grain value controls the amount of grain that should be added to the image. Applying fake DOF may look weird because of leaving noise in depth of field and bluring it in the rest of the image. This can be corrected by manually adding grain. [41]. Load/Save settings all the Final tab settings can be exported and imported. XML file with NXF extension will be used..

18

N O X

f r e e

r e n d e r e r

o p e n

b e t a

q u i d e

4. Material editor
NOX Material Editor may be called from Materials tab in NOX Renderer or to be run as stand-alone application. GUI has been divided into several groups. Note: Some controls are added as plans for the future. NOX does NOT support following features: displacement, normal mapping, anisotropy, SSS, advanced fresnel. Material preview group. [1] Rendered material preview. [2] Start rendering preview. [3] Stop rendering preview. [4] Open the dialog with bigger preview. [5] Manually refresh image. [6] Change preview scene, currently only two scenes are available. First is multi-purpose scene (seen on image above), second is simple emitter test scene. Material group. [7] Name of the material. [8] Load material from file. [9] Save material to file. [10] Archive material save, add textures and compress it all with 7z. Tip: loading may also be done by dropping material file (*.nxm) from windows on a preview area ([1]). [11] Library group will be explained at the end of this chapter. Layers group. NOX materials are based on layers. Each is independent to another. At least one layer must exist. Maximum is 16. Each layer has its own reflection settings. [12] List of layers. [13] Add layer. [14] Delete layer. [15] Clone layer. [16] Reset layer to default values. Weight group. [17] Current layers weight. It tells how much this layer contributes to reflection of whole material. [18] Tex button calls Texture dialog for weight. During rendering values from that texture are multiplied with value [17]. Note: every Tex button on GUI has a checkbox next to it. With it texture can be turned off without releasing it.

19

N O X

f r e e

r e n d e r e r

o p e n

b e t a

q u i d e

4. Material editor
[19] Geometry group is turned off. None of its features will work. Engine does not have any implementation of those. Emission group. Emission group contains settings for the emission of material. [20] Enable emission it is important to know that having any emission enabled layer whole material ignores reflection settings, even on other layers. In current implementation material cant reflect and emit at the same time. [21] Set color of emission by RGB/HSV values [22] Set color of emission by the temperature of incandescent light. [23] Texture for emission color will be ignored. [24] Power of emission due to correctness of physical simulation light must be set properly or at least to some degree. [25] Unit of power value can be chosen among Watt, Watt/meter2, lumen, lux (=lumen/m2). Units are shown as abbreviations. W and lm can have some power issues when scene has wrong scale. They will simply emit to bright or to dim. W/m2 and lx dont have problems with scene scale. [26] Blend layer power from emitter will be sent to this blend layer. This should be chosen only for emissive materials, will have no effect on reflective ones. One material cant emit to two blend layers. Default is first blend layer. Blend layers were discussed in previous chapter. Note: material emission is one-sided only. Geometry normal points side of emission. All groups in the third column are pretty much related. It forms the way of light reflection and transmission. [27] SSS group is disabled none of this works, not implemented. Reflectance group. Reflectance group sets the reflection colors and roughness. [28] Anisotropy and its angle are not implemented on GUI its locked. [29] Reflection color is set as two values. Reflection will take blended value of those two depending on angle of light beam to the surface normal. Reflection 0 is for geometry directed (by its normal) to the light beam. Reflection 90 is for geometry perpendicular to the light beam. Tip: Color can be quickly copied by dragging from one color showing box to another. [30] Textures for reflection color color from [29] will be ignored once corresponding texture is loaded and turned on.

20

N O X

f r e e

r e n d e r e r

o p e n

b e t a

q u i d e

4. Material editor
[31] Roughness tells the engine how much light there is scattered during reflection. [32] Texture for roughness value [31] will be ignored. Higher roughness value will give more scatter. Roughness value range is 0-100. Border values (0 and 100) works different than its interior ones. For roughness 100 pure Lambertian reflection occurs. Its not physically based reflection but gives good results when glossiness is not needed and also is a bit faster to calculate. Only reflection 0 color is used for that reflection, reflection 90 is ignored. For roughness 0 pure reflection/transmission occurs. There is no light scattering in that situation. Fresnel group. [33] Index of refraction (IOR) impacts refraction (bending) of light while coming through transparent materials. Higher value will bend more. [34] Fresnel graph shows the amount of light reflected. On x-axis is the angle of light and on y-axis is the reflection amount. When transmittance is turned on, the rest of light is transmitted for transmission graph would be vertical flipped. Tip: Using mouse with left button clicked on the graph, IOR can be changed. [35] Advanced button is for future features where graph can be created with points. Currently it does not work and it is disabled. Transmission group. Transmission group is all about transmittance of materials, not necessarily physical. [36] Enable transmission. Except for opacity any transmission effects must have this checked. [37] Enable absorption. [38] Attenuation color. [39] Attenuation distance that is needed to attenuate for given color. [40] Enable dispersion. This works only for 0 roughness. Light will be dispersed and some rainbow effects should occur. Note two things: dispersion is not evaluated on wavelength. Its color distribution is faked, but results are satisfactory. Secondly, dispersion is very slow. Because of different refraction angles for different wavelengths it needs a lot much more samples to get a clean render. Use this only in extreme situations. [41] Dispersion power higher value will give wider range (angle) of dispersion. [42] Enable fake glass, sometimes called a ghost glass. It works only with roughness 0. It is a very useful feature. Every time when light refraction is not needed, it is recommended to turn it on. E.g. glass in windows. Light gets refracted twice when going through but in opposite directions so bending direction gets canceled as a result but with some shift that is not noticeable in almost all situations. For fake glass reflection/transmission factors stay the same and are based on IOR. Rendering gets a way faster with this because most of light coming through that material is rendered with direct illumination.

21

N O X

f r e e

r e n d e r e r

o p e n

b e t a

q u i d e

4. Material editor
[43] Opacity works very similar to the fake glass. The difference is that it does not need a roughness 0 and IOR does not impact the ratio of reflection/transmission. It just needs to have the power of opacity set. Value of 0 will make object invisible, 100 makes object fully opaque. [44] Texture for opacity. It is very useful for strange shaped simple objects like leaves on a tree. Note: opacity is set per material. Cant be different for different material layers. [45] Accept material. Material Editor window will close. [46] Reject material. Material Editor window will close. Material library The Material library is located at the bottom of the first column (as a Library group) and at the bottom of the material editor window once it is expanded. It works in two modes: local and online. Depending on mode different buttons are shown in Library group, or to be precise two of them are changed. [1] Turns on and off material library by expanding bottom of material editor window. [2] Switch between online and local library mode. [3] Load selected material in local mode. Download selected material in online mode. Double clicking on selected material will do the same. [4] Call dialog for uploading material to online material library. Uploaded material wont be shown there until we (Evermotion) verify and accept it. However there is one exception it will be shown in category User visible only for the one that uploaded it. Uploading and getting category User require to log on. Authentication is coupled with Evermotion forum. You need to have account on www.evermotion.org/vbulletin/ for that purpose. Using local and online library in the rest of categories does not have that requirement. [5] Add material to local material library. If the material was downloaded from online library, it will add to the same category. If something was changed or material was made from scratches it will add to category User. [6] Delete selected material in local mode. Change username/password for online material library - in online mode. Expanded part of material editor looks the same in local and online mode. [7] Category list. There is 23 categories including category User. [8] Search area. [9] Boxes for results of searching or category picking. [10] Pages. For more than 7 materials result will be shown in pages.

22

N O X

f r e e

r e n d e r e r

o p e n

b e t a

q u i d e

5. Dialogs
During work with NOX you will meet a few dialogs. Using them is quite intuitive, however a few words can be told. 1. Color dialog Color choosing is the most often used feature of every application that operates on images. In NOX color is set as [1] Red/Green/Blue representation, [2] Hue/Saturation/Value representation. Using it should not make any problems to anyone. Only one thing has to be explained : [3] 18 slots for user custom colors. It is remembered per project (scene). Load color from slot with left click or add current color to slot with right click on it.

2. Temperature dialog Choosing color by temperature is sometimes used for setting color of emission. Some predefined temperatures are assigned to buttons.

23

N O X

f r e e

r e n d e r e r

o p e n

b e t a

q u i d e

5. Dialogs
3. Texture dialog Every rendering application needs to use a texture. Each texture can be processed without using external software. [1] Texture preview. Can be zoomed with mouse scroll. Modifiers will be applied to this preview. [2] Texture resolution and type. [3] Color and coordinates of pixel that is under mouse. [4] Interpolation for textures that are too small. Without it pixelation may be visible. [5] Keep a copy of texture with precalculated modifiers. This is deprecated feature that needs more memory without noticeable speed gain. [6] Reset buttons for each modifier values. [7] Common color modifers. [8] Gamma is a very important setting. It translates between color energy of monitor and real world. For color important textures it should be the monitor gamma most probably 2,2. For other features where color does not count (like weight or roughness) it should be 1. [9] Invert inverts color, usable in weight masking for material layers. [10] Load from file and release texture. Tip: File may be loaded by dropping it on Texture preview control [1]. [11] Loaded file name. [12] Accept or reject changes. Textures are put on the model with single channel UV coordinates. Every texture uses the same UV value on given object, so they must fit each other. 4. Zoom preview dialog Preview zoom is called from the material editor for more detailed view of the material. Higher resolution will take more time to render, so regions are added.

24

N O X

f r e e

r e n d e r e r

o p e n

b e t a

q u i d e

5. Dialogs
5. Response graph dialog Response graph simply shows how camera response function affects color. Graphs for RGB components are drawn. In some of them there is one white graph. This means that all components have the same values. There is also a gamma function for 2.2 value drawn for comparison purposes. When no function is chosen, gamma is responsible for translation colors from the real world color representation to monitor values.

6. Response preview dialog For rendered image a set of all response functions previews can be created. Choosing preferred function and accepting will automatically change it for main image and redraw.

25

N O X

f r e e

r e n d e r e r

o p e n

b e t a

q u i d e

5. Dialogs
7. Upload material dialog Uploading a material gives other users possibility to use it in their own renders. Before visible to everybody material needs to be accepted by Evermotion. It should not be treated as personal material database. Materials that dont meet following requirements will not be accepted or even you wont be able to upload: description should be adequate, declaration of copyright should be checked, category should be chosen, material preview should be rendered to good quality, material should make sense.

8. Log in dialog This is a dialog for online material library purposes. Authentication is required for uploading materials and previewing a list of materials already sent. User name and password is the same as for Evermotion forum. It can be remembered with some encryption in system registry.

26

N O X

f r e e

r e n d e r e r

o p e n

b e t a

q u i d e

6. Rendering
Rendering with NOX Renderer is very easy. Once you loaded a scene, simply click on Start rendering button. For the real depth of field random evenly spread points on lens are generated. Next Metropolis Light Transport algorithm is being initialized. This may take few seconds. Main rendering algorithm starts immediately after it. All CPU cores participate in this task. Direct and global illumination are being evaluated one by one all the time. Energy they collect is being summed to the final image, so it cannot be doubled by the same family of light paths. Direct lighting takes the most easy part of evaluation. Four situations can be distinguished when paths are being considered direct lighting: (1) when emitter (also a sunsky) is visible on camera no reflections, (2) when non-specular material is being directly illuminated by emitter one reflection, (3) when there is one or more specular (rough 0, also transmission) reflections between camera and emitter, (4) when there is one or more specular reflections between camera and a non-specular material directly illuminated by emitter. All other possible ways of light travel are considered GI part and being illuminated by Metropolis Light Transport. MLT is a mutation algorithm. Having one path it constantly mutates it with some randomness with five possible ways. By doing so it tries to explore whole scene and approximate light transport. Once a mutation is correct it is accepted or rejected with some adequate probability. Depending on scene and materials complexity it can be easy or hard work. Whether accepted or rejected, new or old path contribution is added to image. Metropolis Light Transport Below instructions are for advanced users only. It concerns MLT settings that are customizable in first tab (Render) of NOX window. Default values set there work fine in most scenes. However for beta testing purposes it was left for customization and tweaking. As mentioned earlier MLT works by mutating current path. Once mutation is accepted, current path is being replaced with mutated one. First column of MLT settings on GUI shows possible mutations: [1] Lens mutation [2] Bidirectional mutation [3] Lens perturbation [4] Caustic perturbation [5] Chain perturbation Perturbation is a mutation that gives a very small change to the path but is faster. For all those mutations weights can be set. Higher weight will increase the chance for that mutation to be chosen. By default those weights are equal. Each mutation works well with some family of paths and bad with other. On right column there are settings for perturbations that can be changed. Those are presented as a ranges with minimum and maximum values:

27

N O X

f r e e

r e n d e r e r

o p e n

b e t a

q u i d e

6. Rendering
[6] Lens perturbation expressed in pixels [7] Caustic perturbation expressed in degrees (angle) [8] Chain perturbation 1 expressed in pixels [9] Chain perturbation 2 expressed in degrees (angle). Below are descriptions of behavior for each mutation and the influence of settings from right column. 1. Lens mutation this is the most important one. Actually its not a mutation. It creates the whole new path. Alone it works slow but is very crucial for proper working of MLT because it is the only way to change between the family of paths. Decreasing its weight to 0 is not a good idea. This mutation does not have any settings on the right column. 2. Bidirectional mutation it cuts some inner part of path and replaces it with a new random one. Its useful for interiors where a lot of simple GI (excluding caustics) is done. This mutation does not have any settings on the right column of GUI. 3. Lens perturbation perturbates a part of path starting from camera, provided that there can be found two neighboring non-specular reflections. This is most noise reducing mutation so low weight for it is not recommended. Perturbation range is set with first pair of trackbars in the right column of GUI. Setting too big values will make lower rate of acceptance of perturbation and noise can be greater. Too low values will fill GI buffer more smoothly but less evenly brighter and darker areas may be visible, especially at the beginning of rendering. 4. Caustic perturbation most often situations for caustics are when light from emitter comes through specular glass or mirror (rough=0), reflect on non-specular object to the camera however some other situations may be using this. For physical algorithms it can be hard to evaluate due to the low chance to find that path. Once found caustic perturbation should explore that path with some number of perturbations. It starts from the emitter. Direction of path is perturbed with a very small angle and if it goes through the same specular material it hits the non-specular again (similar to original path) it is a correct perturbation. That perturbation angle is random and its range can be controlled with second pair of trackbars in right column on GUI. 5. Chain perturbation is a little bit similar to caustic perturbation. Caustic perturbation does not work when first path reflection is specular (e.g. caustic viewed in mirror). This is where chain perturbation is useful. It works inversely. It starts from the camera by randomizing a new pixel in neighboring area (like in lens perturbation). The ray from that pixel must hit a specular material as in original path. It follows farther until hits a non-specular one. Then second perturbation is made. New direction is evaluated by perturbing the old one with small angle. Second step may be repeated for some special paths. Perturbation ranges can be controlled with last four trackbars in right column on GUI: two for first step and two for second.

28

N O X

f r e e

r e n d e r e r

o p e n

b e t a

q u i d e

7. Recommended settings
Scenes can be constructed and illuminated in very different ways. Some actions may have big impact on quality, memory usage or rendering performance. Using difficult settings is OK as long as they are used with sense, like for visible better quality. Otherwise this may be a loss of time. 1. Performance issues Most basic performance drop happens due to bad scene illumination. Some tips for illumination may change a lot. When most of light contribution comes from GI, long rendering times are to be expected. Sometimes it might be better to fake illumination with a little direct one hidden out of the frame. Also closing emitters inside diffusing shapes (like lampshades) will move illumination of scene to a GI algorithms. Shape of light may have an impact on performance. For example on open scene emission from a sphere will be noticeably slower than from a plane directed into scene frame. This is because back side of sphere illumination does not have any contribution to illumination, yet it is evaluated. Complexity of emitter may have an impact but as long as it light energy is not wasted by shining into empty space it should be OK. Also when emitter is out of the frame and it is not clearly visible on reflections, simplifying it shape, even to a plane, makes sense. For Sunsky illumination interiors with small windows should be avoided. There is no optimizations for that situations (like portals in other software). Most of direct light evaluation will become shadowed and getting rid of noise will be time consuming. It will be also harder for GI. Using textures on emission also is slower. The more contrast on texture, the slower it will be. Long range textures (HDR) with small points (like sun) might be really slow to render. Using fake glass on windows gives significant speed-up. Otherwise illumination through them will be evaluated as caustics. Caustics might be hard to catch, but once done, it should be evaluated quite quick to reasonable quality. The problem might be when there is many possibilities for number of reflections/transmissions. Each set must catch its own caustic. Probability of catching caustic depends especially on the size of emitter. Angular size. When emitter is farther, its angle from a specified point of view is smaller, so it is harder to hit it by random chance. Increasing the angular size of emitter will potentially decrease needed time, but shape of caustic will become softer sometimes it may be unexpected. Turning on dispersion in transmissive material should be done only for special effects. Rendering with it is much slower because for different colors there are different angles of ray bending and they are evaluated

29

N O X

f r e e

r e n d e r e r

o p e n

b e t a

q u i d e

7. Recommended settings
separately. So a high number of samples must be taken. This applies to the part of scene that is impacted by it especially dispersing material itself and a caustic it may create. Using multilayered materials also decreases rendering efficiency, because for a single light path one layer from material is sampled. It needs to sample other layer separately its matter of randomness. Using multiple layers gives nice results but should be used with sense. Roughness in materials. It seems that using materials with roughness 100 is bit faster to render. Its not a recommendation, just a clue. Roughness 0 may have pros and cons. For simple reflections it does not need to sample a cone of directions, just one; or two for transmission enabled materials. However without scattering almost all energy gets reflected (not including extinction due to material settings) which can give a huge impact to evaluated pixel. If there is other difficulty on that sampled path, noise might be increased. Wrong light power setting and extreme correction with blend layers may be a bad idea. Power of an emitter is correlated with the probability of its random choosing. So more CPU power will go to brighter emitters and less for dimmer ones. Extreme brightening of dark blend layers also increases its noise, which might be greater due to less CPU usage for them. 2. Memory consumption NOX Renderer may become very memory hungry when using without knowing each settings consequences. Here is the list of the most memory demanding settings along with their impact on memory usage. Most of memory goes on image buffers, there is many of them and they might be very heavy. Each camera has its own buffers that gets results of rendering. Their size vary a lot depending on some settings. But fact that cameras dont share their buffers must be known. More buffers, more memory used. Image displayed on NOX window is already processed. Its just a simple bitmap which as a buffer is very light 32 bit bitmap takes 4 bytes for pixel, so 640x480 will take over 1MB of a RAM. Alone its not even noticeable. However there is more much heavier buffers that were used as a source for processing to get that result. Single buffer that takes contribution of light while rendering scene consists of pixels. Single pixel has to hold values with high range. There has to be separate values of RGBA components and for a number of samples taken. This takes 20 bytes for single pixel. For 640x480 buffer size rises to almost 6MB. But its not that easy. Who said that for the result image internal buffer has the same resolution? When

30

N O X

f r e e

r e n d e r e r

o p e n

b e t a

q u i d e

7. Recommended settings
anti-aliasing is turned on, resolution rises. With AA value of 2 and 3, dimensions are respectively doubled and tripled. So now for result image of 640x480, source buffers must have 1280x960 or 1920x1440. Its size rises to 23,5MB or 52,7MB. Visually best results come with AA x2 (which is default), so next calculations will be for that value. Whats next? Direct and GI are stored in separate buffers. So buffer is again doubled. Single image for 640x480 at AA x2 needs almost 47MB for storing calculations. 47MB still may be not much, but its a low resolution. Above calculations were made on a single blend layer. Adding another layer will make another buffers of that size. Suppose that average scene to play with blend layers contains 5 layers. Now for the same settings there is a need for 234MB for buffers. Still low resolution. But for simple HD resolution (1920x1080) with the same settings it suddenly rises to 1,5GB of RAM (316MB when single blend layer). Maximum number of blend layers is 16, but memory is allocated only for used layers. During rendering depth buffer is also created. Its only one for camera. One pixel of depth buffer needs 8 bytes. AA is used in the same way as before. So for 640x480 image with AA x2 it will need less than 10MB. Comparing to above buffers it is not that much. For HD resolution it will grow to 63MB. Still not much comparing to 1,5GB with 5 blend layers. But its there. During redraw, post-process occurs. Some temporary buffers are created and memory consumption jumps for a short period. Its size depends only on resolution and AA. No doubled values due to direct/GI or blend layers. However still noticeable. Textures. Their buffers size also depends on settings and their resolution. Most important fact is that there is no optimization for loading one texture multiple times. They are stored in separate buffers. Textures loaded from EXR contains long value range. So they have heavier buffers than simple jpegs or others. There is a Keep precalculated copy checkbox on Texture dialog. Turning it on will create another buffer for that texture and will keep a texture with its modifiers done before rendering. That buffers have long range values, so much more memory is needed. Originally NOX had it always done this way. Then modifiers evaluation on the fly was added. There was no visible change in rendering speed with this turned on and off. So turning it off seems to be reasonable, memory may be used for other purposes. Geometry. Higher number of triangles will need more memory. Single triangle needs 124 bytes, so for one million triangles 120MB goes for geometry itself. But thats not all. There is a special structure for intersection optimization called kd-tree. It contains a part of triangles data doubled their vertices.

31

N O X

f r e e

r e n d e r e r

o p e n

b e t a

q u i d e

7. Recommended settings
For a single triangle 40 bytes is needed. There is no way to estimate its whole size because it is evaluated dynamically and division extra data and triangle doubling depends highly on scene construction. One fact is important here: that optimization is kept in single buffer. Due to memory fragmentation 32-bit application may have problems to find enough continuous memory when scene is big. Running 64 bit version of NOX on a 64 bit Windows is then recommended. Test on over 50 million triangles scene was passed with positive result on 64 bit version. For 32 bit this is much lower value and is no constant. It may be 1 million triangles, it may be more or less. Most of buffers discussed above are saved to a single file. So its size may be huge. Note that on FAT system partition file cant have more than 4GB.

32

N O X

f r e e

r e n d e r e r

o p e n

b e t a

q u i d e

8. 3ds Max plugin


NOX comes with 3ds Max plugins compiled for versions from 9 to 2010 (2011 is compatible). Installer and updater runs plugin installer in last phase. It recognizes installed versions of 3ds Max and fills destination folders. User can verify and correct that folders before continuing installation. Installation itself is very simple. It copies a NOXplugin.dlr file to max plugins directory. It is important to keep the same version of NOX application and 3ds Max plugin. Plugin will check that while the 3ds Max starts. The version can be also checked in Plug-in Manager. Plugin implements five different objects in 3ds Max: Camera, Material, Sun Light, Exporter and Renderer. This means there are special objects that are to be used with scenes prepared for NOX.

NOX Camera It works like standard camera with some options that are specific to NOX. On Max command panel simple rollout is added [1] Run NOX camera settings dialog, which contains the same settings as in NOX main window in Camera tab. All those settings are explained in chapter III.5. [2] Sets camera as primary. This camera will be loaded as Active in NOX. [3] Focus on object allows to pick object that focus distance will be set on. More precise, distance to objects pivot. [4] Camera is connected to target when checked or free camera when unchecked. [5] When checked, focus distance will be the same as distance to target. [6] Turn on/off camera (field of view) cone drawing on viewport. When camera is selected, cone is always drawn. At least one camera must exist for valid scene. NOX Camera is compatible with the 3ds Max Camera, which can be used for NOX scenes. It will simply set all values to default.

33

N O X

f r e e

r e n d e r e r

o p e n

b e t a

q u i d e

8. 3ds Max plugin

NOX Sunlight Sunlight acts as a light in 3ds Max and can be found in 3ds Max lights command panel. It controls the sun position in the sky in the NOX Sunsky system. It is a targeted object. The target can be controlled (transformed) for changing sides of the world directions. Rollout area is added to command panel. [1] Calls Environment dialog. All settings on dialog works the same as in NOX Environment tab and they were already discussed in chapter III.8. [2] Moves selection to target. [3] Hides target. [4] Turns on/off Sunsky. [5] Altitude and Azimuth of sun on the sky. [6] Sun and Target positions in 3ds Max coordinates.

34

N O X

f r e e

r e n d e r e r

o p e n

b e t a

q u i d e

8. 3ds Max plugin


NOX Material The material system in 3ds Max is built in a way that single triangle can have only one material. So it is in NOX, however materials can be multilayered. There is a special material in 3ds Max that is for NOX purpose. A standard material will also do, however for conversion it will take minimal information when exporting the scene. For geometry with no material assigned one default material will be created. [1] Material previews. This is copied preview from NOX material editor. [2] Material type button. NOX Material should be chosen for every material. [3] Run NOX Material Editor. It is descibed in chapter IV. [4] Run Blend layers dialog. Blend layers names can be changed there. [5] Choosing texture slot that texture will be displayed on objects in Viewport. Choose among roughness, reflection 0, reflection 90, weight, light. [6] Choosing layer from which texture will be displayed on objects in Viewport. NOX material textures are incompatible with Max textures. For display a copy of Max texture is created. Blend layers dialog allows to change blend layer names. Those names can be exported or imported. File with. NXB extension will be used. NOX Exporter Exporting is simple and has no settings. Just pick Export... from the File menu and choose the NOX scene file type. Two extensions are possible: nox and nxs. The first one is in binary format, the second as xml file. Default is binary it loads/saves faster and uses much less memory for those operations. NOX Renderer The Renderer plugin simply exports a scene to the exported scenes folder inside NOX folder and runs NOX Renderer. Also few settings can be changed. There is the NOX Renderer rollout on Renderer tab in Render Scene dialog (F10). Exported file name and location can be changed. Also blend layers name dialog can be called from here. Some information can be added for a scene: name, author, homepage and e-mail. This info can be shown in the NOX Renderer application. For usability purposes in production the renderer and the material editor should be changed for NOX Renderer. First will run NOX Renderer on Render button. Second will give you material previews in 3ds Max Material Editor.

35

N O X

f r e e

r e n d e r e r

o p e n

b e t a

q u i d e

9. Blender script
There is a special script for Blender that allows to create scenes for NOX. However due to fast Blender development a lot of changes comes and it is very important to keep proper version of script with corresponding version of Blender. It works properly only on Windows version of Blender. Installation is very simple. Just unpack zip file and copy unpacked folder to <blender folder>\<version folder>\scripts\addons. To enable script, open File->User Preferences window and turn it on: Also rendering engine should be changed to NOX Renderer. This gives a few panels for typical NOX settings. It is easier to understand them knowing NOX (as standalone application) settings. Also other engine panels are hidden with this engine selected. NOX scene can be also exported from File->Export menu.

36

N O X

f r e e

r e n d e r e r

o p e n

b e t a

q u i d e

9. Blender script
Render panel Here render resolution and antialiasing level can be set. Also names for blend layers can be pre-set here.

37

N O X

f r e e

r e n d e r e r

o p e n

b e t a

q u i d e

9. Blender script
World panel Here are settings for NOX Sunsky system. They were explained in NOX Environment tab in chapter III.8. Note, that NOX needs a light source: either Sunsky must be enabled or at least one emission geometry object (mesh) must exist.

38

N O X

f r e e

r e n d e r e r

o p e n

b e t a

q u i d e

9. Blender script
Camera panel Here are NOX Camera settings. All those were described in Camera tab in chapter III.5. Note, that on correct scene at least one camera must exist.

39

N O X

f r e e

r e n d e r e r

o p e n

b e t a

q u i d e

9. Blender script
Material panel NOX materials in Blender differ a bit from standard behavior. Textures are set in material panel. Also colors set in NOX material are not shown in viewport in current state. Unfortunately it is not possible to have material preview on Blender panel. Materials may be edited in Blender style panels or as external NOX material editor. For second way NOX has to be installed. All settings are named as in NOX material editor and their influence on material are described in chapter IV. Textures compatible with NOX are only image files. Settings on NOX Textures panel applies material layer chosen from NOX Material panel. Texture slots, unlike Blender way, are built in NOX style. Except for Opacity all slots are set per material layer.

40

N O X

f r e e

r e n d e r e r

o p e n

b e t a

q u i d e

Special thanks to current beta testers, their tests were a great contribution to NOX: - Zbigniew Ratajczak

41

N O X

f r e e

r e n d e r e r

o p e n

b e t a

q u i d e

You might also like