What's new in SHADERed 1.5.5
Oct 3, 2021
- Add IPlugin3
- Fix gizmo 3D model
- Fix "Save as GLSL/HLSL" when a plugin shader editor is used
- Fix a bug where cached plugin shader editor information sometimes wouldn't be cleared
- Fix a bug that would cause SHADERed to crash when pausing the preview with a plugin shader editor open
New in SHADERed 1.5.4 (Jul 10, 2021)
- Add "Save as HLSL" option & --convert flag can now convert GLSL -> HLSL
- Add ability to step into included files while debugging
- Add vertex buffer instancing
- Add ability to copy error messages
- Add --generatecmake | -gcm command line argument
- Add more empty space to the "Objects" window so it's easier to right click
- Fix a bug that would cause SHADERed to crash when trying to view texture properties
- Fix a bug that would cause compute shaders not to run when rendering a sequence to image files
- Fix a bug where 3D textures wouldn't be properly bound to a shader debugger
- Fix a bug where sometimes the debugger wouldn't work properly with if statements
- Fix loading volume .dds textures
- Fix autocomplete for geometry shaders
- Fix a bug that would cause shaders to be output in wrong directory when converting project into C++
- Fix debug outline in the "Preview" window when using lines_adjacency
- Fix a bug that caused SHADERed to crash when a non-project shader file is open in a text editor and there are error messages
- Fix a bug that occured when debugging a project that uses 3D models
- Fix a bug that caused SHADERed to crash when debugging geometry shaders
- Fix a bug that caused the debugger not to work if the compiler doesn't output function with the name "main"
New in SHADERed 1.5.3 (May 20, 2021)
- Add Debug Adapter Protocol
- Fix a bug that would sometimes cause SHADERed to concat two absolute paths
- Fix a bug where "Function Stack" window would display wrong line numbers while debugging HLSL
New in SHADERed 1.5.2 (Apr 26, 2021)
- Fix a critical bug that would cause SHADERed to not store proper texture paths in project files
- Fix a bug that would cause SHADERed to crash on creating cubemaps
- Fix a bug that caused the geometry shader file dialog to be unresponsive
- Fix a bug that would crash SHADERed when a project file is referencing an texture that doesn't exist
New in SHADERed 1.5.1 (Apr 5, 2021)
- Add tessellation control shader debugger
- Add --convert command
- Remove BUILD_IMMEDIATE_MODE (immediate mode now works on all systems)
- Fix immediate mode when using HLSL's cbuffer variables
- Fix a bug that would sometimes cause SHADERed to print unhelpful error messages
- Fix a bug in immediate mode that would cause it to crash
- Fix a bug where --disassemble command would output wrong IDs
- Fix a bug in text editor that would sometimes highlight wrong code folding collapse/expand sections
- Fix a bug where search in "Browse online" wouldn't work when searching for themes & plugins
- Fix a bug that doesn't let you close the frame analysis window
- Fix a bug that caused the frame analysis window to stay open after loading another project
- Remove SFML
New in SHADERed 1.5 (Mar 11, 2021)
- add "Frame analysis" window
- add the ability to detect undefined behavior in shaders
- add global/frame breakpoints
- add the ability to see variable's value throughout the whole frame
- add SPIR-V instruction heatmap
- add "Profiler" window - measure shader execution time
- add color histogram
- add pixel history
- add "Focus mode"
- add support for .dds textures
- add Texture3D object
- add preview for Image3D objects
- add --disassemble command
New in SHADERed 1.4.4 (Feb 16, 2021)
- Add tessellation shaders
- Add new file dialog
- Add code folding
- Add the ability to CTRL+Click on keywords, functions, headers... etc in the text editor
- Add "Highlight brackets" option to text editor
- Add PickPosition variable
- Add VertexShaderPosition variable
- Add darkened render texture as background to GeometryOutputUI
- Add the ability to open a shader file by drag and dropping it into the window
- Fix a bug where gizmo and bounding box would still render even when preview is paused
New in SHADERed 1.4.3 (Dec 24, 2020)
- add geometry shader debugger
- add "Auto" window
- add "Save as GLSL" option
- add "Language" dropdown to "Create Item" when creating a shader pass
- add --compile and related commands
- add function declaration tooltips
- add scrollbar markers for changed lines
- add the ability to temporarily disable breakpoint condition
- add "Editor.DuplicateLine" shortcut
- add "Editor.CommentLines" and "Editor.UncommentLines" shortcuts
- add BufferFloat and BufferInt to input layout manager
- add link to the blog post in the "Changelog" window
- autocomplete now suggest object members after typing '.'
- highlight SPIR-V code that corresponds to the line on which the shader debugger is currently located
- list Rust and C++ shaders in 'Browse online' window if corresponding plugins are installed
- creating a new project doesn't require a save location anymore
- when creating a render texture the ratio size will now be used by default
- remove "Clear" button in pixel inspect window
- "Properties" window will now open (if it was closed) when opening the object's/item's properties
- fix a bug that would sometimes crash SHADERed when pasting code
- fix a bug that would cause SHADERed to crash when opening a newly created VertexBuffer item in the properties window
- fix a bug that caused SHADERed to crash when deleting a input layout item
- fix a bug that caused "Create item" window not to create shader files sometimes
- fix a crash that happened when deleting last expression in the "Watch" window
- fix "Auto indent on paste" feature
- fix "Topology" dropdown in the properties (it was impossible to render a point list)
- fix double click, CTRL+Backspace & CTRL+Delete shortcuts in the text editor
- fix a bug that would cause the "Use geometry shader" flag to be completely ignored in "Create item" window
- fix a bug that caused SHADERed to crash when plugin tried to add a message without a "group"
New in SHADERed 1.4.2 (Nov 5, 2020)
- Add "Save SPIR-V binary" option
- Add the ability to drag and drop objects on pipeline items
- Add --version | -v command line argument
- Add --render | -r, --renderwidth | -rw, --renderheight | -rh, --rendertime | -rt, etc... commands
- Add threading to "Browse online" window so that it doesn't block SHADERed
- Add OS support check for plugins in "Browse online" window
- Improve Pixel Inspect window's UI
- Improve message written after installing plugin through "Browse online" window
- Improve logging
- Reset file dialog search query after opening a directory
- Right clicking on the path button in file dialog will open path textbox
- Text editor's "Find" feature is now case insensitive
- Unpin the variable after applying system value to it
- Fix binding textures to HLSL shaders in the debugger
- Fix pipeline item drag and drop
- Fix "Check for plugin updates on startup" option
- Fix undo bug that happens after autocomplete
- Fix SPIR-V syntax highlighting on stats page
- Fix text editor scrolling
- Fix GLSL include directive
- Fix converting from SPIR-V to GLSL when multiple stages are in the same file
- Fix a bug that wouldnt let user open a project that used plugins through terminal
New in SHADERed 1.4.1 (Oct 4, 2020)
- Add compute shader debugger
- Add "Vector watch" window
- Add the ability to speed up the first person camera's movement by holding SHIFT key
- Add the ability to paste full file path in the file dialog
- Switch from Dear ImGui's 'Columns API' to 'Tables API' in "Watches" & "Breakpoints" window
- Fix a bug that would cause SHADERed to crash when using immediate mode while debugging vertex shaders
- Fix a bug that would cause SHADERed to crash if shader has a function with a texture as an argument
- Fix a bug that would keep the debugger running after "Save As"
- Fix a bug that wouldn't add a project to recents after "Save As"
New in SHADERed 1.4 (Sep 2, 2020)
- web version of SHADERed: https://shadered.org
- add 'Browse online' window -> install plugins, themes & shaders through the application
- add "Check for plugin updates on startup" option
- add File -> Open Recent
- hardware mouse cursors
- fix "Save As" for projects that use textures
- fix render state saving
- fix text editor windows not being resizable
- fix file dialog search
- fix Gray theme's comments
New in SHADERed 1.3.6 (Jul 27, 2020)
- [DEBUGGER] add immediate window
- [DEBUGGER] add watches
- [DEBUGGER] add conditional breakpoints
- [DEBUGGER] add a feature that executes expressions on hover
- [DEBUGGER] add color preview for vec3 and vec4 variables
- Add code snippets (located in Options)
- Add a feature that allows exporting images, textures & render textures to an image file
- Add ability to disable compute pass
- Add ability to update image's content from a loaded texture
- Add markers to text editor's scrollbar
- Add "Auto indent on paste" option
- Add IsSavingToFile system variable
- Add custom file dialogs
- Add ability to add multiple textures to project at once
- Add KeyboardTexture description in Help -> Information
- Implement IPlugin2
- Redesign "Output" window
- Fix text editor's "Find and replace" feature
- Fix a bug that would crash SHADERed when using multiple compute shaders
- Fix a bug that would crash SHADERed when deleting a buffer
- Fix a bug that would crash SHADERed when setting FPS limit to 0 while the FPS limit is applied to whole application
- Fix a bug that would add textures to Shader Pass' variables when using "auto variables" feature
- Fix a bug that caused SHADERed not to apply 'system value' if a variable previously used a function
- Fix cubemaps
- Fix cubemap example
- Fix a bug that would incorrectly report an error when exporting project to a C++ file
- Fix a bug that would add some themes two times to the theme list in options
- Fix a bug that wouldn't sync breakpoint's state when toggling it through the "Breakpoints" window
- Remove "Create shader file" menu item
- Rename "Active autocomplete" option to "Continuous autocomplete"
New in SHADERed 1.3.5 (Jul 12, 2020)
- Plugin API v1
- Add a feature that automatically detects and adds uniforms to variable manager
- Add "Active autocomplete" option
- Add user defined functions, variables & structures to text editor's autocomplete
- Add KeyboardTexture object
- Add BreakpointDisabled, UserFunction, UserType, UniformVariable, GlobalVariable, LocalVariable, FunctionArgument entries to TextEditor's theme
- Add "Syntax highlighting" option
- SHADERED_WEB, SHADERED_DESKTOP & SHADERED_VERSION preprocessor definitions to shaders
- Add Preview.ToggleCursorVisibility, Preview.ToggleMouseLock & Preview.ToggleTimePause shortcuts
- Add more information to the "Stats" page
- Add ability to reload texture objects
- Plugins are backward and forward compatible
- Plugins can implement their own shader language & editor
- Improve the "auto recompile" feature
- Fix text editor's ui scaling
- Fix HLSL geometry shaders
- Fix a bug that caused SHADERed to crash when deleting render textures
- Fix a bug that sometimes caused SHADERed to crash when deleting shader pass item
- Fix a bug that caused deleted plugins to stay in the "Not loaded" list in options
- Fix a bug that allowed user to create objects without a name
- Fix a bug that caused SHADERed to crash when debugging a shader that uses some image functions
- Fix cubemap saving
- Fix text editor's "Save changes" popup
- Fix "Autocomplete" option
- Fix "Brace completion"
- Fix mouse wrapping
- Rename "Recompile shader every 200ms" to "Recompile shader on content change"
- Rename "Smart predictions" to "Autocomplete"
New in SHADERed 1.3.4 (May 17, 2020)
- Replace ShaderDebugger with SPIRV-VM (introduces significant improvements to the SHADERed's debugger)
- Add pixel outline to debugger's overlay
- Add debugger overlay to render texture's preview
- Add Stats page (currently only shows SPIR-V)
- Add "Auto fetch" option
- Add "Primitive outline" & "Pixel outline" options
- Add a feature that automatically creates shader files when creating a shader pass
- Add line numbers in the "Function stack" window
- Add statusbar to render texture's preview
- Add new templates (QuadHLSL and QuadGLSL)
- Primitive's outline is now shown even after zooming in when paused and debugging
- Changing properties in Save Preview -> Advanced should now accordingly update the preview window
- Use glslang for error messages
- Use more powerful GPU by default (NvOptimusEnablement & AmdPowerXpressRequestHighPerformance)
- Double clicking on an object in the "Objects" window now opens its preview
- Make it possible to pick pixels on the render texture's preview window
- Show pixel coordinates in "Pixel Inspect" window
- Update text editor's light theme (better current line and "selection" colors)
- Reset zoom on project load
- Pause music & audio shader when preview is paused
- [DEBUGGER] now works with buffers, 3D textures and cubemaps
- [DEBUGGER] now works with VertexBuffer items
- [DEBUGGER] add support for derivative functions
- Remove "Immediate" window, "Watches" & conditional breakpoints
- Fix a bug where buffer objects couldn't be bound to vertex/pixel shaders
- Fix (render) texture's preview alignment
- Fix (render) texture's preview magnifier
- Fix gizmo
- Fix VertexBuffer picking + bounding box
- Fix 3D model picking
- Fix "Step Out" (it's now possible to use "Step In" multiple times on the same line)
- Fix a bug that caused breakpoints to duplicate when a new line is added
- Fix a bug that caused SHADERed to change current time after a render to file even if user didn't change it
- Fix a bug that caused SHADERed to crash when deleting a texture that's open in properties
- Fix a bug that caused magnifier not to zoom sometimes
- Fix a bug that made it possible to open preview for the same object several times
- Fix a bug that caused debugger to produce wrong numbers when it is rendered to the same render texture multiple times in the project
- Fix a bug that caused buffer to stay bound to compute pass even after it has been unbound
- Fix buffer's "load data from 3D model"
- Fix text editor's UI when user horizontally scrolls
- Fix a bug that would apply user's custom render states to the magnifier UI
- Fix TextEditor::EnsureCursorVisible()
New in SHADERed 1.3.3 (Apr 17, 2020)
- Add VertexBuffer
- Add command line arguments
- Add an option to pause buffer preview
- Add an option to load buffer data from texture, 3D models and regular files
- Add horizontal scrolling with mouse cursor while selecting text
- Add SHIFT + left click to select text
- Add color preview to vec3 and vec4 shader variables
- Line numbers & breakpoints in text editor should now be "pinned" to the left side
- Fix a bug that unfocused text editor on AltGr key press
- Fix a bug that caused SHADERed to crash when parsing error messages
- Fix a bug that caused SHADERed to crash when using ObjectProperty variables
- Fix a bug that caused SHADERed to crash when a font file didn't exist
- Fix a bug that caused SHADERed sometimes to crash after pressing "Change Variables" button
- Fix a bug that caused variable values to get mixed up sometimes
- Fix a bug that caused preview window to sometimes go blank when using an external text editor
- Fix a bug that caused "Save As" file dialog to open twice when saving templates
- Fix a bug caused by deleting variables used in the "Change Variables" popup
- Fix gizmo
- Fix file dialogs
- Fix fps limit options
- Fix line highlighting in the text editor
- Fix plane and circle normals
New in SHADERed 1.3.2 (Apr 3, 2020)
- add texture properties
- add shader variables that point to pipeline item properties
- add a splash screen
- add "Changelog" popup which shows up on startup after an update
- add "Show tips on startup" option
- add "This will unassign Shortcut.ID" popup when changing shortcuts
- fix ScreenQuad position and size on other RTs
- fix a bug that caused SHADERed to crash when clicking on shader variable function list combobox
New in SHADERed 1.3.1 (Mar 18, 2020)
- Add confirmation dialog when deleting a shader pass item
- Add CTRL + scroll to change text editor font size
- Fix font resizing/changing
- Fix a bug where caret would move multiple characters after pressing backspace
- Fix picking with SHIFT + A
- Fix picking scaled 3D models
- Fix a bug where SHADERed would sometimes block on exit on Linux
- Fix UI scaling
- DPI awareness
- Moving items up/down now counts as a project modification
- Resizing render textures now counts as a project modification
- Remove MatrixShadow and MatrixReflect
New in SHADERed 1.3 (Feb 25, 2020)
- Add shader debugger
- Add plugin API
- Add MSAA
- Add option for supersampling when rendering to an image file
- Add support for #include keyword
- Add "Export -> as C++ project" option
- Add ability to load projects by drag and dropping them
- Add search in Options -> Shortcuts
- Add "Pause preview on startup" option
- Add "Show function description tooltips" option
- Change default font & theme
- Change how MouseButton works
- Change how paused state works
- Clicking on "Reset time" when paused will now rerender everything
- Fix zoom reset using double click when paused
- Fix a bug where SHADERed would think it's minimized on startup (and slow down the whole program)
- Fix copy and pasting 't'
- Fix deleting 't'
- Various fixes
New in SHADERed 1.2.4 (Oct 31, 2019)
- add drag & drop to PipelineUI
- add ability to "hide/deactivate" certain shader pass
- fix TextEditor shortcut system (please update your shortcuts.kb file)
- fix Home/End in TextEditor
- fix gizmo interaction when preview is zoomed in
- fix Find tool's highlighting
- fix pause functionality
- scroll to Find tool's selection
- Editor.Replace is now bound to CTRL+H (instead of SHIFT+H)
New in SHADERed 1.2.3 (Oct 13, 2019)
- Add 3D textures
- Add audio shaders (GLSL synthesized audio)
- Add ability to have multiple cameras / camera snapshots
- Add ability to change variable type after variable has been created
- Add a window where all system variables are listed
- Add magnifier tool to texture/image preview window
- Add find and replace feature in the text editor
- Add right click context menu in the text editor
- Add Editor.FindNext shortcut
- Add feature that automatically adds variables on shader pass creation
- Add support for HLSL types in the buffer format
- Add ability to change warning, message and error text colors in the theme files
- Add ability to use sprintf format specifiers in filenames when exporting image sequence
- Fix copy and paste
- Fix matrix variable exporting & importing
- Fix a bug where openning Sobel -> Edge -> Sobel examples would break the rendered
- Fix RT default size
- Fix bounding box color
- Fix a bug where SHADERed would recompile file two times after clicking "Compile" button
- Fix texture loading
- Fix "GeometryShader" & "VulkanSimple" example
- Fix a bug where "Outline" example wouldn't work after Edge/Sobel examples
- Fix ObjectPreviewUI::Close()
- Fix a crash on openning "cubemap" example
- Improve image sequence export speed
- Any form of project saving should also now save all shader code modifications
- Shader code modifications now also count as project modifications (now you will get "Are you sure" message box on exit)
- Recompile shader pass after we change it's shader path
- Close code editors after a shader pass has been deleted
- Prevent various crashes (loading wrong 3D model file, wrong project file, compute shaders not supported, etc...)
- Color compute shader labels light/dark green (can be changed)
- Improve CTRL+F
- Internal changes
New in SHADERed 1.2.2 (Sep 27, 2019)
- rework image objects (removed Read & Write flags & you can choose how to bind them) - some old projects with compute shaders may not work
- add support for Vulkan GLSL
- add input layout manager
- add CTRL+F in code editor
- add tangent, bitangent and color vertex attributes
- add ability to export your shader to an image sequence
- add support for drag & drop
- add resource manager
- add project change detection & "Are you sure?" message box
- add "Hide menu bar in performance mode" option
- add glslang error messages when preprocessing fails
- add CamerPosition3 and CameraDirection3 variables
- fix a bug which would crash whole app after deleting last variable in the list
- fix a bug where variable name was wrongly limited to 16chars when being created
- fix a bug where SHADERed would use absolute paths even if project and shader file were on the same drive
- fix file "Compile" option so that it only recompiles the correct shader pass
- fix "Recompile on file change" so that it only recompiles correct shaders
- fix non resizable columns
- fix a bug where SHADERed would sometimes crash on exit
- fix a bug where no actual error messages show up with the auto recompile on HLSL and Vulkan GLSL shaders
- fix "Edge" example
- fix for two vertical scrollbars in CodeEditorUI
- fix for loading textures with improper size
- fix ScreenQuadNDC rendering in GLSL projects
- save "performance mode" state on exit
- increase variable name length from 32 to 256
- color the "Name:" label red when user tries to use already existing item name
New in SHADERed 1.2.1 (Sep 20, 2019)
- fix ctrl + backspace / ctrl + delete
- fix ctrl + shift selecting
- fix "Insert spaces on tab press" option
- fix "Show horizontal scrollbar" option
- fix text editor error message color on light theme (& add ErrorMessage property to editor themes)
- fix various transcompiler crashes
- fix a crash that occurs when fetching texel data from a texture without a sampler in a HLSL shader
- fix a bug where text editor would append n at the end of file
- fix crash when using RWTexture2D
- fix crash on HLSL function calls with no arguments
- write item type in the Properties
- minor UI polishing
New in SHADERed 1.2 (Sep 17, 2019)
- Add compute shaders
- Add empty image object
- Fix loading files from different drives on Windows
- Fix saving info about item opened in PropertyUI
- Fix "Show error list window when build finishes with an error" option
- Temprorary fix for crash on float3(), float4(), etc...
New in SHADERed 1.1.5 (Sep 14, 2019)
- add auto recompile option (compile shaders every 200ms)
- add option to disable/enable window's alpha channel
- add "Show whitespace" option
- add ScreenQuadNDC
- add the ability to set CodeUI.Save and Project.Save to same shortcut
- add option to stream logs to log.txt
- fix some TextEditor bugs
New in SHADERed 1.1.4 (Sep 12, 2019)
- CHANGELOG:
- Add option to reset time
- Add CTRL+ALT+MWheel to zoom in/out
- Add buffer objects
- Add instancing
- Add cubemap preview
- Add object preview window
- Add automatic update checks
- Add option to modify system variables when rendering to an image
- Fix zoom area dragging
- Fix zoom selection bounds
- Fix picking when zoomed in
- Fix gizmo, bounding box & zoom area performance
- Fix a bug where SHADERed would crash with multiple 3D models
New in SHADERed 1.1.3 (Sep 3, 2019)
- fix float4/int4/bool4 variables
- add icon font
- add tool bar
- add zoom in/out functionality
- add zoom controls (ALT + LEFT drag to select the zoom area, ALT + RIGHT drag to move the zoom area, ALT + DBL CLICK to reset zoom)
- add format property to render textures
- add ability to pause and increase time by 100ms (or hold CTRL to increase just by 1 frame)
- add Mouse and MouseButton system variables
- fix last frame flag for GeometryTransform
- fix a bug where bounding box wouldn't show if gizmo is turned off
- disable last frame flag for ViewportSize
New in SHADERed 1.1.2 (Sep 2, 2019)
- Add Pointer function (variables can now be pointers to other variables)
- Add shader macros
- Add FrameIndex system variable
- Add shader variable flags (invert matrices, use last frame values, etc...)
- Add option to disable RT clear
- Fix clear color parsing
- Fix a bug where SHADERed would crash when adding a shader pass through CreateItemUI
New in SHADERed 1.1.1 (Aug 24, 2019)
- Fix a bug when multiple textures are bound but some are not used
- Fix GLSL shaders (specify location)
New in SHADERed 1.1.0 (Aug 22, 2019)
- port from DirectX to OpenGL & SDL (works on linux now)
- add CMakeLists.txt
- use assimp - supports more 3D model file formats
- link glslang and SPIRV-Cross (rather than using external processes)
- only one variable manager for all stages (variable names now matter though)
- write actual error messages in the Output window
- add line number and shader type (source) in the Output Window
- support single key shortcuts (example: press F to go into Performance mode)
- KeyboardShortcuts doesnt listen to repeated events anymore
- merge DepthStencilState, RasterizerState, BlendState into one state called RenderState
- HLSL to GLSL transcompiler
- cubemaps now require path to 6 separate textures
- append version to project files (+ backwards compatibility)
- implement version #2 of SHADERed project files
- SHIFT+drag gizmo for faster dragging
- slow down the application when minimized
- add "Apply the FPS limit to the whole application" option
- add "Limit application to 60FPS when it is not focused" option
- limit rotation value between [0, 360] in PropertyUI
- duplicated object now appears in PropertyUI if "PropertyPick" option is turned on
- IsPicked variable now works with multiple items selected
- prompt user to save project when user tries to save changes to a shader file in a template
- prompt user to save project when user tries to open template shaders in an external editor
- add an actual logger -> outputs high amount of stuff in log.txt
- fix mouse cursor capture when rotating camera
- fix bounding boxes for other geometry types
- fix for "app wont gain focus when clicking on anything but the titlebar"
- fix a bug where the app would crash if when set as a default app for ".sprj" files
- fix a bug where gizmo wont move with the selected object when the object is moved using PropertyUI
- fix a bug where user couldnt write {} (and other characters using alt and ctrl) in the text editor
- fix a bug where user could pick a render state item by double clicking it in PipelineUI
- fix a bug where two items could exist with names "Box", "BoX", etc...
- fix a bug where where SHADERed wouldnt check for file updates on a recently added geometry shader
- remove FXAA
- remove stats page
- remove input layout manager
- remove glslangValidator.exe & SPIRVCross.exe