title: NeL 3D Features
description:
published: true
date: 2023-03-16T23:02:24.151Z
tags:
editor: markdown
dateCreated: 2022-03-13T06:18:08.951Z
Landscape
Bezier patch landscape modeling gives NeL enormously more flexibility than traditional height fields. NeL supports vertical faces, overhangs, and so on.
Use of Bezier patches and the ROAM algorithm, to provide adaptive subdivision of the landscape based on distance from the camera, steepness, etc.
Geomorphing is used between LODs (levels of detail) to eliminate popping.
Landscape coloring effects include vertex coloring and application of pre-calculated shadow maps. Pre-calculated shadows can have soft edges while real-time shadows obviously can not. Shadows can be colored and faded at run time
Lightmaps are used for landscape lighting to avoid lighting changing with LOD transitions
Landscape texture mapping at a constant 1.5cm/ texel, with the possibility of a second complete additive texture layer. Texture continuity breaks due to bilinear filtering have been eliminated.
Landscape is dynamically streamed into memory with background loading
'Snap To Ground' functionality allows objects that are on the ground to remain attached to the surface as it geomorphs
Displacement maps (also known as geometric noise) - these are taken into account during lightmap generation which means that they can still be 'seen' at low levels of detail
Dynamic lighting
Area based audio effects (wind, etc)
Portal based streets and interiors
Management of the scene graph depending of the needs of the environment.
Use of portal algorithm with view casting into the landscape mesh
Static light maps: up to 3 layers of light map simultaneously - each layer can be enabled, disabled, faded or colored in real time
Tools: light map generation: max plugin: support for different lamp types, ray tracing for shadows, projected images (like a slide projector), support for colored translucent objects influencing light color (eg colored glass), support for saturation (with lighting at > 100%), mixing of vertex colors into light map calculation
Audio occlusion and resonance effects
Objects and characters
Component based object construction, which allows the assembly of multiple "parts" of objects into a single mesh around a single skeleton
Multi-Resolution Meshes, to provide a smooth reduction in polygon count as objects retreat into the distance. Full implementation of the technique presented by Hope, in a recent paper, with geomorphing. This implementation provides superior results for low detail LODs and smooth transitions between LODs.
Character and object rendering supports bump mapping, environment mapping, multi-texturing and real time shadow casting.
Optimized management of extremely low detail 'billboard' versions of objects
The LOD system is capable of working with a subset of the LODs. This means that the high detail LODs don't have to be loaded if there is insufficient memory or if the client machine is not sufficiently powerful to make use of them.
Object streaming, to provide a transparent load-on-demand, including the multi-resolution meshes
Object Picking in a scene
Animation
Support for skinning, using a base skeleton for animations, with up to 4 matrices per vertex
Smooth transitions between animations
Controllable blending of multiple animations (eg 70% walk + 30% limp)
Application of different animations to different parts of skeleton (eg run + punch)
Animation types (so far): bones, material & light parameters
Animation export plugins for 3DStudio Max: feature more or less complete set of 3DStudio animation controllers (bezier, TCB, linear, etc) and support for biped (Character Studio) skeleton
Skinning export plugins for 3DStudio Max: support both physique (character studio) & com_skin2 skinning data
Blended Shape animation, to provide morphing and lip-sync style animations
Inverse kinematics
Animation and environment related sound effects
Materials
Support for environment mapping, multi-texturing, texture-coloration.
Tools: more or less complete support for 3ds max materials
Vertex and pixel shader implementations for GeForce3 and above
Water shader effects
Font Rendering
Text rendering
Particle Systems
Support for various particles representations, including dot, line, triangles fans, bitmaps, shockwave, ripples, meshes.
A variety of emitters are available : mesh, cone, plane, points and sphere emitters.
Forces can be applied to particles
Support for simple collision shapes for particles
Support for LOD with distance
Tools: custom WYSIWYG editor in the ObjectViewer
Particle systems can cast light into the scene and be lit by scene lights
Integration of tools with Max and with animation exporters
Screen Space Effects
Screen distortion effects
Bloom
FXAA
Stereo Rendering
Low Level
Exploitation of 3D graphic accelerator cards' TNL, pixel shader and vertex shader capabilities.
Adaptive memory management with background hard disk data streaming.
Adaptive texture and polygon detail to manage CPU load, GPU load and video memory constraints.