A simple Wavefront OBJ viewer.
Clone or download

README.md

Nuo Model Viewer

A simple Wavefront OBJ viewer.

Latest Update

  • Hybrid rendering with ray tracing.
    • Direct lighting soft shadow.
    • Indirect lighting (ambient) with physically-based occlusion.
    • Physically based effect for the shadow overlay (blend-in with photographic scene).
    • Self-illuminating objects.
  • Checkerboard background for better inspecting the result transparency.

  • Inspecting intremediate textures in debug.

  • Overlay indicator for selected parts.

  • Transformation on the entire scene accurately around the scene's center.
  • More accurate bounds calculation (improving shadow map sampling quality).
  • User selection on GPU.
  • Better take advantage of dedicated video memory by using private buffers. Especially important for desktop-class graphics card or external GPU).
  • Background loading.
  • Motion blur.
  • Blending with real-scene background.

  • Ambient occlusion.

  • Transform of the entire scene (including the light sources).
  • Better PCSS soft shadow

  • Ground shadow

  • Skybox.

  • BRDF mode. Fix artifacts in specular lighting.
  • Save to high resolution PNG (up to 3900 px).
  • Rotate individual parts (mandatory for the varying-geometry wing plane model!).

  • Adjustable shadowing PCF and bias to alliviate artifacts.
  • Preliminary shadowing for two of the four light sources.

  • Load/save scene parameters (postion, light source direction, etc.).
  • Normal texture.
  • Light source configuration.
  • Multiple light sources.

  • Adjustable lighting direction.
  • Better handling to material opacity.

Screenshots on Development

TODO

  • Order-independent transparency.
  • Bump (displacement) texture.
  • Normal texture.
  • Direction of lgiht source.
  • Intensity of light source.
  • Mutilple light sources.
  • Selectable list of object.
  • Surface smooth.
  • Shadow
    • Shadow to model
    • Shadow to ground.
    • PCSS.
      • Basic PCSS.
      • Adjustable occluder search range.
      • More adjustable bias.
    • Transparency (strength) of shadow overlay. (Achieved by ambient)
    • Linear shadow map (more plausible PCSS, VSM).
    • Adaptive shadow map resolution/region.
  • Per light-source, per-surface shadow properties (bias, soft edge).
  • Cull mode.
  • Surrounding.
    • Cubmap skybox.
    • Water (for ship model).
  • Motion blur (especially for rotating parts like rotor).
  • Detailed properties panel for indiviudal model parts.
    • Smooth options (everywhere, texture discontinuiation only, etc).
    • Material opacity adjustment.
    • Material adjustment (specular, colors, etc).
    • List of board objects.
    • Self illumination.
  • Reflection.
  • BRDF mode.
  • Ambient occlusion.
  • Model visualization
    • PCSS steps visualization.
    • Triangle mesh
    • Normal/tangent visualization

Early Screenshots

Screenshot of the first version (left). Add support to simple transparency (right).