4,313 Commits over 1,552 Days - 0.12cph!
Add SceneMap class that renders map geometry in a scene world
ShaderGraph: Revert changes to ScreenPosition node which made it do something completely different and add common accessors to it (xy, z, w)
Add ScreenCoordinate node which is what ScreenPosition was changed into doing
ShaderGraph: Add cross product node
ShaderGraph: Fix selection box staying alive when color pickup popup closes
ShaderGraph: Clamp AO, rough, metal, opacity material inputs because anything outside 0-1 has unexpected results (maybe this should be fixed in the material api?)
ShaderGraph: Reapply preview material on shader recompile, fixes preview becoming invisible when switching blend mode
Fix native texture thumbnail rendering not scaling up (tiny textures wouldn't fill up 256 thumb)
Fix NRE that sometimes happens when pasting shader graphs
Select all pasted items after they've all been created, some property editors trigger a property changed callback on selection (why?) which causes a recompile, we want to make sure everything is pasted before that happens
ShaderGraph: Create reroute node when dropping output while R key is held down
Clean up codegen for transform normal node, too messy
ShaderGraph: Use dynamic branching for transform normal node in preview mode (instant update of decode normal option)
ShaderGraph: Add some preview render options https://files.facepunch.com/layla/1b0911b1/sbox_3ucPCf9D7h.mp4
ShaderGraph: Only start selection box when nothing is hovered or selected (shouldn't input propagation be handling this?)
Fuck with connection curves to allow for right angles https://files.facepunch.com/layla/1b0911b1/sbox_flstakdQA4.png
Allow reroute nodes to have comments above them https://files.facepunch.com/layla/1b0811b1/sbox_2yuWZoaX1G.mp4
Add keyboard modifiers to GraphicsMouseEvent + Documentation
ShaderGraph: First iteration of reroute nodes https://files.facepunch.com/layla/1b0811b1/sbox_P0rciQn0oh.mp4
Don't detect expander press on treeview item press if the item has no children, this was stopping items from being clicked sometimes (very annoying)
ShaderGraph: Create node preview when drag dropping from node palette https://files.facepunch.com/layla/1b0811b1/sbox_UdPTk18ydz.mp4
Check compile result is valid before trying to update output handle configs
Add some more known input types
Don't make screen position node a constant
ShaderGraph: Update output handle configs when evaluating nodes so that we never have connections with an unknown color type https://files.facepunch.com/layla/1b0711b1/sbox_VkB7yk9nFf.mp4
Add Menu.RemoveOptions and Menu.RemoveMenus (sometimes you want to clear everything but widgets)
ShaderGraph: Make the node filter on context menu actually work https://files.facepunch.com/layla/1b0711b1/sbox_Pwav4kprlr.mp4
Fix static output result funcs not being evaluated when evaluating all nodes, causing not all previews to be working
ShaderGraph: Ctrl+Spin will rotate the model with the camera, giving the effect of the lights being rotated, similar to what we have in modeldoc https://files.facepunch.com/layla/1b0711b1/sbox_BF0qMUeERK.mp4
Fix bounds on generated sphere
Fix uvs on generated sphere
ShaderGraph: Fix mistake in texture name cleaning
ShaderGraph: Generate tessellated sphere for preview so shaders don't look bumpy and shit https://files.facepunch.com/layla/1b0611b1/sbox_NEn0OBFX0f.png
Fix GraphicsMouseEvent not telling us which button was released
ShaderGraph: Middle mouse button to pan preview camera
Fix another shader compile error in combine node when something other than a float is plugged into it
ShaderGraph: Color input plugs based on connected type, this is useful for when and input has an unknown type, like multiply https://files.facepunch.com/layla/1b0611b1/sbox_FgSqc4RxjO.mp4
Take better care in cleaning name for named constants
Remove delete button from node, this isn't as useful as I thought it would be
Revert time node, a constant time variable shouldn't serve 5 different functions
Make sure user is always notified of graph errors, clear errors on new and open
Evaluate all nodes for preview they can be previewed even if they're not part of the graph
Make WorldNormal, ScreenPosition, WorldPosition and ViewDirection all previewable
Make component outputs of texture node be constant results, no need to make local vars for these
Generate preview shader code using our own time attribute so we have control over it
Update preview camera in PreFrame so we're not running frame event twice
ShaderGraph: Allow node results to be marked as constant so result funcs can return without creating a local variable for it
Remove F_TEXTURE_FILTERING in generated shader, not used here
Documentation pass for texture and texture coord nodes
Property sheet can grow, fixes dodgy layout
Give texture node group and subgroup settings
Better position of initial result node on new graph
Add UI options to branch node
Add select all to toolbar
ShaderGraph: Add Ctrl+A to select everything in the graph because I keep trying to do it and realizing I haven't added it yet
ShaderGraph: Fix input value editor not getting restored when node with connection to it is deleted
ShaderGraph: Allow named constants to full customize group and subgroup UI
ShaderGraph: Disable tint mask input, isn't used and seems pointless so get rid
ShaderGraph: Add mask to texture ext types
Move saturate node to transform category + document it