Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/intern
AgeCommit message (Collapse)Author
2020-03-17VR: Initial Virtual Reality support - Milestone 1, Scene InspectionJulian Eisel
NOTE: While most of the milestone 1 goals are there, a few smaller features and improvements are still to be done. Big picture of this milestone: Initial, OpenXR-based virtual reality support for users and foundation for advanced use cases. Maniphest Task: https://developer.blender.org/T71347 The tasks contains more information about this milestone. To be clear: This is not a feature rich VR implementation, it's focused on the initial scene inspection use case. We intentionally focused on that, further features like controller support are part of the next milestone. - How to use? Instructions on how to use this are here: https://wiki.blender.org/wiki/User:Severin/GSoC-2019/How_to_Test These will be updated and moved to a more official place (likely the manual) soon. Currently Windows Mixed Reality and Oculus devices are usable. Valve/HTC headsets don't support the OpenXR standard yet and hence, do not work with this implementation. --------------- This is the C-side implementation of the features added for initial VR support as per milestone 1. A "VR Scene Inspection" Add-on will be committed separately, to expose the VR functionality in the UI. It also adds some further features for milestone 1, namely a landmarking system (stored view locations in the VR space) Main additions/features: * Support for rendering viewports to an HMD, with good performance. * Option to sync the VR view perspective with a fully interactive, regular 3D View (VR-Mirror). * Option to disable positional tracking. Keeps the current position (calculated based on the VR eye center pose) when enabled while a VR session is running. * Some regular viewport settings for the VR view * RNA/Python-API to query and set VR session state information. * WM-XR: Layer tying Ghost-XR to the Blender specific APIs/data * wmSurface API: drawable, non-window container (manages Ghost-OpenGL and GPU context) * DNA/RNA for management of VR session settings * `--debug-xr` and `--debug-xr-time` commandline options * Utility batch & config file for using the Oculus runtime on Windows. * Most VR data is runtime only. The exception is user settings which are saved to files (`XrSessionSettings`). * VR support can be disabled through the `WITH_XR_OPENXR` compiler flag. For architecture and code documentation, see https://wiki.blender.org/wiki/Source/Interface/XR. --------------- A few thank you's: * A huge shoutout to Ray Molenkamp for his help during the project - it would have not been that successful without him! * Sebastian Koenig and Simeon Conzendorf for testing and feedback! * The reviewers, especially Brecht Van Lommel! * Dalai Felinto for pushing and managing me to get this done ;) * The OpenXR working group for providing an open standard. I think we're the first bigger application to adopt OpenXR. Congratulations to them and ourselves :) This project started as a Google Summer of Code 2019 project - "Core Support of Virtual Reality Headsets through OpenXR" (see https://wiki.blender.org/wiki/User:Severin/GSoC-2019/). Some further information, including ideas for further improvements can be found in the final GSoC report: https://wiki.blender.org/wiki/User:Severin/GSoC-2019/Final_Report Differential Revisions: D6193, D7098 Reviewed by: Brecht Van Lommel, Jeroen Bakker
2020-03-17Ghost: Ghost-XR API to abstract away and access OpenXR functionalityJulian Eisel
Extends Ghost to include an abstraction for OpenXR, which I refer to as Ghost-XR. Such an API is the base for the following commit, which introduces VR support to Blender. Main features: * Simple and high-level interface for Blender specific code to call. * Extensible for muliple graphics backends, currently OpenGL and a DirectX compatibility layer are supported. * Carefully designed error handling strategy allowing Blender to handle errors gracefully and with useful error messages. * OpenXR extension and API-layer management. * OpenXR session management. * Basic OpenXR event management. * Debug utilities for Ghost-XR and OpenXR For more information on this API, check https://wiki.blender.org/wiki/Source/Interface/XR. Reviewed by: Brecht Van Lommel Differential Revision: https://developer.blender.org/D6188
2020-03-17Cleanup: process colorspace conversion with a 1D pixel arrayBrecht Van Lommel
No need to assume it's 2D or 3D.
2020-03-17Fluid: Updated manta pp filesSebastián Barschkis
Includes only a rename. The name PyInit_Main was a bit confusing as it just belongs to Manta.
2020-03-16Cycles: Fix bad escape character used for dotSergey Sharybin
2020-03-16Fix T74776: Cycles crash with missing image texture after recent changesBrecht Van Lommel
2020-03-16UI: Show decorators for lights when using CyclesWilliam Reynish
This matches Eevee, and also the rest of Blender.
2020-03-15UI: Fix capitalization in the macOS app menuWilliam Reynish
2020-03-14Cleanup: sort file lists & struct declatationsCampbell Barton
2020-03-13Fluid: Potential fix for Eevee tests crashing with MantaflowSebastián Barschkis
Belongs to T73921. This commit fixes the crashes with light baking (disabled in f3a33a92987f). There is still a memory leak to be fixed though.
2020-03-13OpenSubdiv: Make non-full geometry less strict for sharpnessSergey Sharybin
Allow to mark individual vertices as infinitely sharp even if there is no full topology and no access to edges: infinite sharp vertices do not need connectivity information.
2020-03-12Fix memory leak in recent Cycles image texture refactorBrecht Van Lommel
2020-03-12Cleanup: add device_texture for images, distinct from other global memoryBrecht Van Lommel
There was too much image texture specific stuff in device_memory, and too much code duplication between devices.
2020-03-12Fix build error with recent OpenImageIO versionsBrecht Van Lommel
2020-03-12Cleanup: spelling, clang-formatCampbell Barton
2020-03-11Fix T73626: crash scrubbing timeline with Cycles viewport and smoke/fireBrecht Van Lommel
2020-03-11Cleanup: refactor image loading to use abstract ImageLoader base classBrecht Van Lommel
Rather than passing around void pointers, various Blender image sources now subclass this. OIIO is also just another type of image loader. Also fixes T67718: Cycles viewport render crash editing point density settings
2020-03-11Cleanup: add ImageHandle to centralize image ownership logicBrecht Van Lommel
2020-03-11Cycles: add internal default volume shader, to be used for new volume objectBrecht Van Lommel
This is mostly straightforward, but required some refactoring to ensure that the default volume material does not always turn on the volume feature for GPU rendering.
2020-03-11Cleanup: remove foreach include from header, conflicts with OpenVDBBrecht Van Lommel
2020-03-11Fix Optix build error on Linux with some compilersBrecht Van Lommel
2020-03-11Fix Cycles crash in BVH8 build due to out of bounds memory accessGiovanni Remigi
Differential Revision: https://developer.blender.org/D7114
2020-03-11Cleanup: stop encoding image data type in slot indexBrecht Van Lommel
This is legacy code from when we had a fixed number of textures.
2020-03-11Fix Cycles link error with debug + asan after RTTI changesBrecht Van Lommel
2020-03-11Cycles: disable RTTI only for OSL files, other libraries like OpenVDB need itBrecht Van Lommel
This is a bit weak since it's not entirely clear where the boundary is, but tested to build and pass tests on all platforms.
2020-03-11Smoke: put density/color in separate textures, fixes for workbench shaderBrecht Van Lommel
This is more in line with standard grids and means we don't have to make many special exceptions in the upcoming change for arbitrary number of volume grids support in Eevee. The workbench shader was also changed to fix bugs where squared density was used, and the smoke color would affect the density so that black smoke would be invisible. This can change the look of smoke in workbench significantly. When using the color grid when smoke has a constant color, the color grid will no longer be premultiplied by the density. If the color is constant we want to be able not to store a grid at all. This breaks one test for Cycles and Eevee, but the setup in that test using a color without density does not make sense. It suffers from artifacts since the unpremultiplied color grid by itself will not have smooth boundaries. Differential Revision: https://developer.blender.org/D6951
2020-03-11Fix Cycles incorrect result when compressing some 8 bit log colorspace imagesBrecht Van Lommel
Don't clamp and do premultiply after color space conversion.
2020-03-11Cycles: add view layer setting to exclude volumes, like hair and surfacesBrecht Van Lommel
2020-03-11UI: show more digits for adaptive sampling noise thresholdBrecht Van Lommel
2020-03-11Cleanup: clang-formatCampbell Barton
2020-03-11GHOST: tests now build againCampbell Barton
GLX gears work as expected, multitest_c only creates windows but misses font drawing still.
2020-03-11Cleanup: remove bitmap font drawing ifdef from MultiTest.cCampbell Barton
2020-03-10Cycles: Fixed Shadow and Mist passes with adaptive sampling.Stefan Werner
This also fixes a side-effect where turning on UV pass but leaving Shadow pass turned off destroyed the Combined pass.
2020-03-10Cycles: Using OpenCL popcount() in PMJ sampler.Stefan Werner
2020-03-09Cleanup: avoid (harmless) race condition reported by HelgrindJohan Walles
Differential Revision: https://developer.blender.org/D7058
2020-03-09Fix part of T73921: hang with Eevee light baking and MantaflowBrecht Van Lommel
Now it crashes instead.
2020-03-08Fix T74537: Fixed out of bounds memory access in Cycles' PMJ sampler.Stefan Werner
2020-03-07Fluid: Optimization for smoke simulation (multigrid)Sebastián Barschkis
The solver will now automatically detect static scenes (no moving obstacles) and use a slightly faster pressure solve in those cases.
2020-03-07UI: move Cycles adaptive sampling settings to own subpanelBrecht Van Lommel
2020-03-07Fix T74504: Cycles wrong progress bar with CPU adaptive samplingBrecht Van Lommel
2020-03-07Fix error in Cycles Optix adaptive sampling after recent cleanupBrecht Van Lommel
2020-03-06Cleanup: Fix forward declaration of headersDalai Felinto
2020-03-06Cycles: cleanup warningDalai Felinto
2020-03-06Fluid: Revert bc2ce31d7940 (changes to open boundaries)Sebastián Barschkis
Changes from that commit turned out to be unstable.
2020-03-06Cleanup: tweak Cycles #includes in preparation for clang-format sortingBrecht Van Lommel
2020-03-06Cleanup: spellingCampbell Barton
2020-03-06Fix memory leak in the colorio fallback implementation.Sebastian Parborg
We would previously not store the transforms that were added to the group transform node. This would lead to pointer to allocated memory being lost and not freed.
2020-03-06Attempt to fix build errors on macOSJulian Eisel
Mistake in 5be0e3430d13
2020-03-06GHOST/Keymap: support for detecting repeat eventsCampbell Barton
- Keymap items now have 'repeat' boolean which can be set to make keymap items respond to key repeat events or not. - Support for X11 & WIN32 (not macOS currently). This allows for the possibility to perform actions while a key is held and finish the action upon release. Thanks to @Severin for review and WIN32 support.
2020-03-06Cleanup: spellingCampbell Barton