Professional Documents
Culture Documents
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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