I had forgotten to add a call to update_portal_tools() at the end of the SpatialEditor constructors. This ensures that the portal UI is off by default in normal use without portals.
This PR makes the 'convert rooms' button permanently on the toolbar and accessible whichever node is selected, so you can convert rooms without having to select the RoomManager first.
It also adds a togglable item 'view portal culling' to the 'View' menu which is a simple way of setting the RoomManager 'active' setting without the RoomManager being the selected node.
Both of these have keyboard shortcuts, which should make it much faster to reconvert rooms and edit.
In addition there the string in the 'Perspective' Listbox is modified to show [portals active] when portal culling is operational, for visual feedback. This is updated when you change modes, and when the rooms are invalidated.
This makes it easier to notice that some menu items only appear when
specific nodes are selected.
This change applies to both 2D and 3D editors, including both plugin-based
menus and the hardcoded 2D layout/animation contextual menus.
Implement Octahedral Compression for normal/tangent vectors
*Oct32 for uncompressed vectors
*Oct16 for compressed vectors
Reduces vertex size for each attribute by
*Uncompressed: 12 bytes, vec4<float32> -> vec2<unorm16>
*Compressed: 2 bytes, vec4<unorm8> -> vec2<unorm8>
Binormal sign is encoded in the y coordinate of the encoded tangent
Added conversion functions to go from octahedral mapping to cartesian
for normal and tangent vectors
sprite_3d and soft_body meshes write to their vertex buffer memory
directly and need to convert their normals and tangents to the new oct
format before writing
Created a new mesh flag to specify whether a mesh is using octahedral
compression or not
Updated documentation to discuss new flag/defaults
Created shader flags to specify whether octahedral or cartesian vectors
are being used
Updated importers to use octahedral representation as the default format
for importing meshes
Updated ShaderGLES2 to support 64 bit version codes as we hit the limit
of the 32-bit integer that was previously used as a bitset to store
enabled/disabled flags
- Use background and line colors that match better with the
rest of the editor.
- Use translucent lines to make overlapping lines visible.
- Tweak the error message to mention the UV layer in question
when there is no UV for a defined layer.
(cherry picked from commit 8cdfd2e706)
- Allow some tolerance when clicking the plane move/scale,
even if the click is actually slightly outside the plane
(similar to Blender).
- Make the rotate manipulation circles visually thinner to be
less distracting.
- Make the hovered color less saturated to be more distinguishable
from the non-hovered state.
- Don't set brightness above 1.0 to prevent the gizmo from glowing
when hovered.
(cherry picked from commit 6cfcbbbb93)
- Makes tips clearer and more consistent.
- Removes outdated "shift+v" that doesn't work
- Adds Ctrl+RMB for adding nodes at position
- Removes tip for non-existent Alt+Drag in 3D select tool
(cherry picked from commit 6b90e2df6c)
This also changes the display mode tooltips to reflect the fact that
times are now displayed in milliseconds instead of seconds.
(cherry picked from commit e837e04ef8)
A Camera node still has to be selected to initially enable camera
preview, but another node can then be selected and the preview can
be disabled by pressing the shortcut key again.
`localhost` was removed as it won't work out of the box. It can be added
by the user if they're working on the asset library itself.
This won't affect existing installations due to how the editor settings
are stored, but existing installations will keep working fine.
(cherry picked from commit eac8ba6ce8)
Allows users to have the RoomManager as the roomlist.
Fixes a couple of bugs dealing with situations where users attempt to link Portals to Rooms outside the roomlist.
Adds a PortalEditorPlugin allowing you to flip individual portals.