In August of 2000, Blender 2.0 was released at the SIGGRAPH show. That means that the Blender 2 series has been running for a little over two decades! We certainly don’t want the 3 series to take that long. Starting with Blender 3.0 a new version numbering convention will be used, with a major release planned each two years. According to the new planning, in the coming two years eight minor Blender 3.x releases will be made, of which two of these as Long Time Support (LTS) versions.
This article aims to provide an outline for the Blender 3.x roadmap. It has been reviewed with several of the core contributors already. Feedback is very welcome as usual, this will be a living document for a while.
General focus: building on 2.8 UI and workflow, and improving it further.
The general guideline will be to keep Blender functionally compatible with 2.8x and later. Existing workflows or usability habits shouldn’t be broken without good reasons – with general agreement and clearly communicated in advance.
Before 3.0 gets released, all module teams will check on reviewing ongoing implementation and workflows, and come with design docs with requirements, outlining what we accept to be revised, and what we stay away from now.
The module teams should make clear which changes will be happening, what the user benefits are, how we will keep compatibility of previously saved work, and (last but not least) how to get involved as a contributor.
Most areas in Blender are quite stable, but in some areas bigger changes are being expected: for physics, ‘everything nodes’, sculpting/painting, texturing, and character rigging. None of these changes will be violating the roadmap as outlined for 2.8 though.
Core
The core module will be empowered to manage code standards and engineering practices everywhere in the Blender code more strictly (please write docs and provide tests!). Ongoing improvements of architecture and code will continue, aiming at better modularity and performances.
Anything that affects core Blender functionality such as ID management, Blender files, DNA data design, Python API, undo, dependency graph, overrides and APIs in general is meant to get good specs and functional docs, for contributors to know how to use it efficiently. No commit to this module will be allowed without review of Core Module owners.
Python scripts and Add-ons
The Python module is committed to keep the API work and compatible for all of the 3.x series. Some breaking changes to the API are inevitable, these will always be communicated at a minimum of 6 weeks before a release will happen at the Python release log page. The biggest change in one of the 3.x releases is that BGL will be entirely deprecated and replaced by the GPU module.
Modeling
Modeling tools in Blender will be maintained and keep working compatible. Speedup for managing massive datasets (large scenes or large models) remains a key topic for more development.
Sculpting / Painting
Currently a proposal for a hybrid sculpting/painting workflow is under review. This would eliminate the need for multires, and introduce a novel approach to combine traditional (triangle offset) sculpting with shader-based texture displacement. The benefit would be to achieve extreme detailed resolution, without need for massive polygon datasets, memory use and giant files.
Related to the proposal is to make Blender’s current editmodes atomic and flexible, allowing tool designers to combine multiple editmodes together for more efficient workflows.
Final decisions on the proposal and editmodes are pending a design and review workshop with contributors, which is tba.
Texturing
Blender’s procedural texturing system is in urgent need to be upgraded. Modern workflows offer node-based procedural textures that can be layered to do something similar to image textures – or better. In Blender we can do this by fully integrated support for these textures inside Eevee, Cycles, viewport drawing and painting tools.
Design is an open topic still.
Animation Tools
Character rigging is also in need of a serious upgrade. The ‘animation 2020’ project was postponed due to circumstances, but in ‘22 it should come back on the agenda.
Keywords are: node based, layering, debugging tools, speed, crowds, mocap support, automated systems for muscles and physics.
Blender Institute will lead this project by involving industry veterans for design and implementation. The new rigging system is expected to use similar concepts for bones or poses, but it is not expected to be feature compatible. For that reason we expect old rigs and new rigs to co-exist for a while.
UI/UIX
The UI team will be reviewing the 2.8 workflow (toolbars, shortcuts, layouts), and come with a design doc to provide focus for developers and guidelines for everyone to understand in what way to contribute to sensible high quality and consistent UIs in Blender.
The UI module is currently in need of senior UIX engineers and designers. Until these roles have been assigned, UI module team members will mostly assist the other modules in keeping their UIs and workflow well balanced and consistent.
Assets
Asset browsing and managing is one of the big new 3.0 features. Work on this area in Blender will continue for a while. The expectation is that good asset tools in Blender will help configuring efficient workflows; for expert artists in productions and beginners alike. Part of the Asset and UI project is to publish (a series of) Blender Bundles; relatively large downloads (1+ GB) with presets, primitives and asset libraries.
Blender 101 (Application templates)
Being able to configure Blender for personal workflows is a key Blender target, part of the 2.8 project.
To bring configuring even one step further, .blend files can be used to replace the standard startup file – creating ‘custom versions’ of Blender this way. These templates will allow to completely configure UI layouts, define custom keymaps and enable add-ons to run at startup. A smart Python scripter can design complete new applications this way, using vanilla Blender releases. As prototypes the team will release a couple of simple templates: a video-player review tool and the 100% dumbed down ‘Monkey Blender’.
A template used this way will be called “Blender Application Template” or just “Blender App”. Planning is to have this working as beta for Blender 3.1, after extensive testing and reviews by contributors and module teams.
Cycles
Cycles is now 10 years old, and had a big rewrite in the last 6 months, the Cycles X project. This included an essential architecture redesign, leading to significantly improved GPU rendering performance and interactivity in Blender 3.0. Following Blender release will build on this, adding new Cycles production features and improving handling of complex scenes.
Eevee
Our high-quality real-time 3D rendering engine is being upgraded as well. The new design brings screen space global illumination, more efficient shading, improved volume rendering, panoramic cameras, and tight grease pencil integration. It also paves the way for GPU ray-tracing through Vulkan.
A real-time compositing system is also planned, bringing compositing nodes into the 3D viewport. The new Eevee will be designed to efficiently output render passes and layers for interactive compositing, and other renderers will be able to plug into this system too.
Compositing
As promised at the 2019 Blender Conference, compositing is getting attention from developers again. The main goal is to keep things stable and solve performance bottlenecks. New is support for a stable coordinate system using a canvas principle.
VSE
The Blender Video editor is getting more developer attention, especially to improve the UI and usability. Noteworthy are the new preview images in strips. The VSE module will spend time on getting the roadmap and requirements clear, to enable the community to align with generally agreed design principles for VSE to contribute efficiently.
Viewport
The 3D viewport in Blender is where the action is; the 2.8 strategy to move more tools to 3D (not as buttons or panels, but by carefully designed 3D widgets or facegroups) will be ongoing.
A big target for the 3.x series is to move Blender to entirely use the Vulkan open standard. Vulkan and Metal backends for Blender’s GPU API are being developed. We expect these to be ready to replace the OpenGL backend by the end of 2022.
CPU/GPU support
Blender now is being supported by all major silicon manufacturers: Intel, AMD, Nvidia and Apple.The developers closely work with the hardware industry to ensure an equal and fully compatible experience for artists who use Blender, disregarding the platform or operating system. Everyone can monitor or submit performance reports on Blender’s Open Data website, which will be updated when 3.0 is out.
AR/VR
Blender supports a real-time stereo viewport, for using the industry standard OpenXR library to communicate with VR devices. Support for VR controllers has been added for 3.0. A possible project for 3.x is to add real-time camera tracking for AR and virtual sets.
Everything Nodes
The Geometry Nodes of 2.9x are a big success, and can be seen as proof of concept for ‘everything nodes’ in Blender. Next on the planning is to introduce solvers as nodes, add point-based nodes (particles) and nodes for physics simulations.
Hair systems are a separate topic; here simulation is secondary to artistic control and tools. Specs and design for a node based hair system is on the todo.
Object level (animation) nodes is an open topic as well.
Physics
Blender 3.x will keep using the old physics systems such as for Bullet, and modifiers for Mantaflow, Softbody and Cloth. An OpenVDB modifier will be added. For the rest, new development will go to Node based Solvers. See previous point.
Real-time mode
Physics simulation and VR viewing already require a new concept in Blender – “time”. Continuous passing of time can be treated independently of frames output for rendering or animation. Blender needs a formal design concept for this; enabling all tools and options for Blender to always work, whether playing in real-time or still. Design challenges are related to animation playback, dependencies, caching and optimization. Ideally the real-time viewport could be used for prototyping and designing real-time environments or experiences. Design topic: a node based editor for events, logic and states.
Grease Pencil
Gpencil projects for 3.x are: storyboarding workflow using Sequencer strips editing, better support for Eevee, asset browser support.
With Gpencil being used by the industry a lot, also for final rendering, we expect increasing development attention to this area.
NPR
Line art will get further performance tweaks and features. While speed is a major focus, also generating lines of higher quality will be on the roadmap.
Production pipelines and IO
Blender will remain committed to other industry standards such as OpenVDB, OpenEXR, OpenTimeline, OpenColorIO, OpenSubdiv, and OpenShadingLanguage. Support for MaterialX is on the list to be discussed.
Blender 3.x will see further integration with USD, also to enable hybrid pipelines. More (design and code) contributions are going to be needed by studios from the industry.
Work on a complete and 100% free/open source pipeline will continue as well, coordinated by the team in Blender Studio. Challenge for the coming years remains to ensure that individuals and small teams can create & manage complex industry grade 3D media projects using Blender and other FLOSS tools.
Blender and internet: “Meta”
A core principle of Blender is that it does not require the internet to work. The Blender developers remain strongly committed to providing a complete offline user experience. Optionally, however, Blender should be able to connect to the web for additional features to work. For example: signaling a user of new releases, updating add-ons, browsing asset repositories, sharing data with others or set-up collaborative environments.
Blender will start a new module for this: named Meta (as in “Beyond Blender”). Module ownership and membership will be managed openly and accessible, making sure that only things will be added with general consensus that directly benefit users.
A dedicated website and server meta.blender.org will be set up for proof of concepts and rolling out online features. By principle and by design only free & open services for everyone will be added here (only requiring an account to login). That means that possible commercial add-ons (like for storage, versioning, libraries) will need to be provided by external and independent vendors. The meta project can provide APIs for it, and help keep this safe and stable.
After 3.0 is out, Blender Foundation will set up the meta project at blender.org to start initial design discussions and to recruit contributor members.
Research
As a free and open source project we also need to keep looking for topics that will define the future of 3D tools. We especially welcome contributions from research labs or universities in this area.
A big topic we need to tackle once is AI tools – useful ‘assistants’ to speedup repetitive tasks in the creation process.
Mission
In the last year Blender worked on defining a clear mission statement. It’s what drives the blender.org projects and keeps the focus:
We make the world’s best 3D technology available as open source tools for artists.
Or in short: we defend and further The Freedom to Create.
Exciting times are ahead!
Thanks for reading,
Amsterdam October 2021
Ton Roosendaal, Blender Foundation chairman.
from Hacker News https://ift.tt/2ZH1ece
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.