Skip to content

yozhijk/test

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

98 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Standalone client for Baikal renderer requirements

Summary

The high level goal is to create simple standalone GUI client (further refered as the app) capable of doing fast raytraced preview of static models and basic material editing. Ray traced preview is based on Baikal renderer, but should be easily extendable to support other rendering solutions.

Requirements

Platform, hardware, OS

  • The app runs on the following operating systems: Windows 7/8/10, Ubuntu Linux (15, 16), OSX 10.10+
  • The app supports all the hardware configuration Baikal renderer supports (OpenCL 1.2+ enabled systems, cross-vendor)

File formats

  • The app supports loading .obj file format with custom xml- based material description part.
  • The app supports loading .fbx file fomat optionally.
  • The app suppprts exporting custom xml-based material description files.

Workflows

Workflow #1 is to provide pure viewing experience:

  • User opens a file by File->Open menu or dragging into the window
  • User optionally sets hardware configuration via Settings->Configuration
    • Configuration includes the number and type of devices to use (default is single GPU).
    • Configuration includes the checkbox for OpenGL interoperability.
    • Configuration includes framebuffer resolution (the app does up/down- scaling if necessary)
    • Configuration includes the number of bounces of light and number of samples per pixel.
  • User optionally sets camera config via Settings->Camera menu:
    • This includes camera movement speed.
    • This includes camera movement type (orbit or 1st person)
    • This includes DOF checkbox.
    • This includes focal length of a lens.
    • This includes camera sensor size.
    • If DOF enabled this includes focus distance of a camera.
    • If DOF enabled this includes lens aperture value.
  • User optionally sets lighting config via Settings->Light menu:
    • This includes HDRI map edit box.
    • This includes HDRI multiplier value.
  • User presses Render button.
  • User is presented with interactive progressive ray-traced preview in render Window.
  • User can zoom/pan/dolly camera and navigate through the scene.
  • User is presented with a list of objects in the scene in Scene widow.
  • By clicking on an object in a scene user enables material settings window. (optionally material graph window).
  • User presses terminate render and the rendring stops.

Wokflow #2 material editing (optional).

  • While navigating through the scene user picks some object in Scene window.
  • Object’s material shows up in material properties window.
  • The users makes changes to the material (see material editing section).
  • The users exports xml material via File->Export material graph.

Material editing (simple)

  • If the object has simple material (single BxDF) it is show right away with the following potential params:
    • Shader name
    • BxDF type - dropdown list
    • Albedo value / texture
    • Normal texture
    • Fresnel reflection checkbox
    • Fresnel reflection IOR (if checkbox is enabled)
    • Roughness value / texture (optional, depends on type)
    • Refraction IOR (optional, only for BTDFs)
  • If the object has compound material (layered or mix) it is exposed as a following set of params:
    • Shader name
    • Compound type (layered or mix)
    • Top material (if user pick this he gets right to the top material settings)
    • Bottom material (the same)
    • IOR (if type == layered)
    • Mix value / texture (if type == mix)
  • If we are not at the top hierarachy level, back button shows up which gets the user to the prev level upon press.
  • If we are not at the top hierarachy level, root button shows up which gets the user to the root level upon press.
  • All color values (albedo) allows color picker and texture loading dialog.
  • All scalar values allow input field or texture loading dialog.

Material editing (graph based, optional)

  • Instead of material properties windows the user is presented with flexible graphical material graph editor (similar to Maya Hypershade) which allows creating the nodes and wiring them up.

UI mockup

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published