Dev:2.8/Viewport
目次
Viewport Project
This document aims to describe the 2.8 Viewport Project, and to help facilitate discussion and communication on the project. Only high-level details (goals, tasks, etc) should be in this document. For lower-level implementation details, please use this page. It should also be noted, that this project is a workflow and user experienced focused project and is not focused on performance and under-the-hood improvements to Blender's viewport drawing. For such improvements, look at the OpenGL project. Weekly progress reports can be found on this page.
Objective
Improve the workflow and user experience of Blender's 3D viewport including improvements to previewing for rendering and exporting.
Roadmap
Discussion Items
The following are items to be discussed for eventual inclusion into the project.
- Roadmap!
- Physically-based rendering following Unreal Engine 4's model
- Move selecting and picking outside of OpenGL (default bvhs everywhere)
- Note: OpenSubiv needs special attention since it doesn't support ray tracing, could be solved by adding patches to BVH which can be rasterized on CPU
- Better rendering of selection outline / indication in the viewport
- Workflow modes (sculpters, modelers, animators, game designers, etc)
- Ways to config this and switch efficiently
- Good material previewing of cycles nodes
- Blender as a shader editor
- Be able to use those shaders for previewing assets before export
- OpenGL 3.2 Core minimum
- Look into OpenGL 4 + AZDO (try to be compatible with Vulkan as well) for hardware that supports this
- Allow viewport to be reused by game engine
- Support viewport renders from command line/in headless mode
Goals
TODO: Formalize some of the discussion items into concrete goals
Devs
- Mike Erwin (merwin)
- Brecht Van Lommel (brecht)
- Mitchell Stokes (Moguri)
- Daniel Stokes(Kupoman)
- Kevin Dietrich
- Alexander Romanov(aromanov)
- Julian Eisel (Severin)
- Dalai Felinto (dfelinto)
Tasks
- Continue OpenGL refactoring (more info)
- Finish DerivedMesh refactor (more info)
- Viewport dependency graph - System for managing GPU data cache updates (more info)
- Resolve limitations of viewport compositing effects
Related Projects
Resources and References
- Real Shading in Unreal Engine 4
- Physically Based Shading at Disney
- Moving Frostbite to Physically Based Rendering
- Videos:
- Maya Viewport 2.0 (Demo 1, Demo 2)
- Unity Viewport
- Nvidia article on Vulkan-like OpenGL
- ShaderFX - Create a Stingray Physically Based Shader
- Documentation of "UBER - Standard Shader Ultra" (advanced PBS such as wetness, glitter, snow, ...)
- Dota 2 Hero Shader Masks Guide (non-PBS?)
Proposals
- Preliminary Viewport Design proposal (by Antony Riakiotakis)