Changed last remaining instances I could find of material layout code that generated materials with flipped expression positions - SpeedTree, Fbx, dragging textures onto meshes and when placing rotate about axis nodes.
[CL 2095816 by Matthew Griffin in Main branch]
#ttp 331829 - Mobile Preview in Editor
#proj Engine
#branch UE4
#summary First pass of changes to remove GRHIFeatureLevel, allowing for multiple scenes with different feature levels to exist. First step towards dynamic mobile preview in the editor.
#change Added GMaxRHIFeature level which contains the highest supported feature level on this machine
#change Added a cvar "r.FeatureLevelPreview" which, when set to 1, enables a feature level selection in the quick settings menu. Not wired up to anything at the minute
#change Added a feature level variable to FScene, which is currently initialized to whatever GRHIFeatureLevel is. Accessed with GetFeatureLevel()
#change Added a helper accessor GetFeatureLevel() to FSceneView which gets the feature level from the relevant scene. Purely to reduce the amount of typing needed to get to a feature level
#change Many changes across the renderer to try and read the current feature level from the view or scene. Not everything is done yet, but this is almost all of the "easy" stuff. As there is still just a global feature level in the engine, nothing should change.
[CL 2066905 by Graeme Thornton in Main branch]
#ttp 332908 - Material editor: shortcut for component mask
#branch UE4
#proj Editor.MaterialEditor
#add Added new material editor action for CreateComponentMaskNode.
#add Created callback for creating a component mask node at the cursor.
#reviewedby Chris.Wood
[CL 2066775 by Richard TalbotWatkin in Main branch]
I've altered the preview material directly to compile with release shaders so that this incurs no overhead.
Refactored the empty material stuff to be neater and to report the base cost of the shader.
Reduced the shaders compiled for this empty stats material to the bare minimum. Typically 3-5, adding a near insignificat cost.
[CL 2054645 by Simon Tovey in Main branch]
#ttp 316874 - EDITOR: ME2: Space out the nodes in the new editor
#proj UE4.Engine
#change Added version number for permanent flip and added static function to material that can flip coords of materials and functions. Also scale the position of all expressions by roughly the size difference of the new nodes so that they are hopefully less tightly packed together.
[CL 2054296 by Matthew Griffin in Main branch]
Fixes the underlying issue with the material overhead stats.
Usage flags for the material were set from outside the material editor. I needed to update the overhead stats materials to match.
#codereview Nick.Penwarden, Bob.Tellez
[CL 2047768 by Simon Tovey in Main branch]
#proj UE4.Engine
#summary Added Find Results tab to Material Editor
#add Added SFindInMaterial class to search and display results from materials, similar to the Blueprint version but didn't seem like there was an obvious method of splitting it up into a base class that could be used by both. Made sure to use the search functions from Material Expressions as well to ensure that the results will be the same or better than they were previously.
#change Added new function to UMaterialExpression to get a one line description of it. Most of the time this is just all of the expressions captions combined into one line using spaces, though there were exceptions for constants, textures and function calls so that better information is shown in the results window. Also added a JumpToNode function to FMaterialEditor so that the find results can show the nodes when clicked on.
#extra This is only for searching the current material at present, adding support for searching all assets would be a lot more work as we would need to store meta data allowing materials to be searched before they are loaded.
[CL 2043640 by Matthew Griffin in Main branch]