From 316215e1ea82948d8298369f9f4bab4d4b7ebf2f Mon Sep 17 00:00:00 2001 From: Aiekick Date: Thu, 30 Dec 2021 18:03:32 +0100 Subject: [PATCH] Add files via upload --- LICENSE | 36 ++-- VERSION | 614 +++++++++++++++++++++----------------------------------- 2 files changed, 250 insertions(+), 400 deletions(-) diff --git a/LICENSE b/LICENSE index b6b7438..0771bae 100644 --- a/LICENSE +++ b/LICENSE @@ -1,18 +1,18 @@ -Copyright (c) 2018 Stephane Cuillerdier - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software, to deal in the Software, including, the rights to use, -copy, distribute, copies of the Software, and to permit persons to whom -the Software is furnished to do so, subject to the following conditions: - -You can't sell this software and -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +Copyright (c) 2018-2022 Stephane Cuillerdier (aka aiekick) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software, to deal in the Software, including, the rights to use, +copy, distribute, copies of the Software, and to permit persons to whom +the Software is furnished to do so, subject to the following conditions: + +You can't sell this software and +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/VERSION b/VERSION index a197faf..50e8abc 100644 --- a/VERSION +++ b/VERSION @@ -1,382 +1,232 @@ -0.5.937 -https://github.com/aiekick/NoodlesPlate/releases ---- -0.5.897 - -little update - -[ADD] : add a categorie in the settings dialog for defined path to use for scripts, - and any type of assets (texture 2D/3D, cubemap, meshs, etc..) -[ADD] : add a settings for enabled/disable the HDPI support of the UI. (WIP) disabled by default -[ADD] : add a settings for define the global UI scale -[FIX] : fix a width issue fo the import bar. irony of the fate, the hide button was hidden :) -[FIX] : fix an issues with the time input widget. - when many time widget was in the same shader, the edition of one was defining all.. - -0.5.897 -https://github.com/aiekick/NoodlesPlate/releases ---- -0.5.897 -big update, and stable enough for be shared. but WIP on some features - -New Features : -[ADD] : new ui system (each pane can be extracted as a new windows) -[ADD] : vertical toolbar on the left side for the main features -[ADD] : add a live opengl profiler -[ADD] : add a live gpu metric small pane (for nvidia on windows only) -[ADD] : add a console pane -[ADD] : add a unified uniforms switcher pane -[ADD] : add a new one file system when each buffer pass will be in the same file - * shadertoy import can be now improted in only one file -[ADD] : add a new uniform of type button -[ADD] : add a samples for features (new > Feature) -[ADD] : add a new theming system for change the colors of the ui as you want -[ADD] : the asset file dialog can now show pictures -[ADD] : transform feedback system for extract mesh from the vertex/geometry/tesselation shader stage -[IMP] : improvment of the timeline, easier for create loops now -[OPT][FIX] : Many Optimization and Bug Fixs (about the rendering system and ui) - -0.1.3075 -https://github.com/aiekick/NoodlesPlate/releases ---- -0.1.3075 -[ADD] Mac version added, x64 only -[ADD] Linux version added, x64 only -[ADD] Add a timeline widget : - * inspired by the timeline of Blender3D - * bezier curve based : three control points mode : free, aligned, symmetric - * add key by clinking the dot on the left of uniforms in uniforms pane - * move keys by dragging with mouse - * you can add whole the current shader config to the timeline and clean for keep only changed uniforms after - * use middle mouse on timebar, valuebar or view for scale the view - * can rescale keys along time by values => Re Scale Menu - * you can disable gpu upload for frame whith a button - * you can show all keys or edit channel,s for show corrresponding curves => little checkbox on the right of names in timeline - * can export current frames to pictures ; video export is planned but not supported for the moment - -[ADD] Opengl chooser at start, can support : - * 3.2 mini : Geometry Stage - * 4.0 : Tesselation Stage - * 4.3 : Compute Stage - -[ADD] New cross platform File Tracker system : - * need the .glsl extention associated with your favorite Editor - * on Linux, a bug appear with some editors, like gedit, a file called .goutputstream-xxx is generated after file save, NDP not detect the file changes due to that - * Succesfully tested on Linux and Mac with atom and vscode. no problem seen on windows with many editor - -[FIX] Many Bug Fixs - ---- -0.1.1440 -[ADD] add a text widget, only for the ui, not used in the shader, he display some text in uniforms section -[FIX] radio widget fixed, was not uploaded to gpu -[FIX] a crash was some time in the file update checker -[FIX] a modification of code not triggered the update of the view when the view was paused ---- -0.1.1417 -[ADD] Support of tesselation control and tesselation evaluation shader -[ADD] collapsable / expandalbe section for uniforms (always defined in code) -[ADD] MSAA x2 for mesh visu, or debug wireframe, btw it do, pixel debugging features, and fbo textures display, stop working -[ADD] A compil button, for force recompilation, when in some weird cases, the files changes are not triggered in NoodlesPlate -[ADD] a natural sorting for Uniforms Config Switcher -[ADD] cammera orthographic for mesh. not work correctly with sdf, need glsl code modification of space3d.glsl. with sdf use perspective -[FIX] version check, 4s of timeout, not block anymore the ui if github not respond -[FIX] mesh loader can open mixed mesh ,traingles, and quads, but only ascii obj and without textures for the moment -[FIX] some stability issue was fixed at open and close ---- -0.1.1081 -[FIX] version check -[FIX] recent files was not in good order -[ADD] template creation / see directory templates ---- -0.1.974 -[FIX] changelog was not displayed -[FIX] when rendering was paused, any tuning did not refresh the view -[FIX] crash at app close -[FIX] in some case, the config change crashed the app ---- -0.1.955 -[ADD] Settings dialog : - * proxy settings move from import bar to here - * same for ShaderToy api key - -[ADD] Transparant window support : - * activate or not in Settings Dialog - * control tranparancy with alpha value of the current buffer - * ex [here](https://twitter.com/aiekick/status/1126280207105765376) - -[ADD] you can save pictures of UI and FBO after each code modification - * let you create a video of your shader like, ex : [here](https://twitter.com/aiekick/status/1124527172306206720) - -[ADD] you can get metrics and infos about your GPU : - * only support for nvidia for the moment. - * you get temperature, load, etc.. - * you can get infos of your opengl - * acces it in menu Infos, [video](https://twitter.com/aiekick/status/1123654277623373825) - -[ADD] FullScreen support - * [video](https://twitter.com/aiekick/status/1125906159825817605) - * windowed or not, see F11 / F12 infos in title bar - -[ADD] Pixel Debugging Capability : - * Pixel debug value under mouse cursor : [video](https://twitter.com/aiekick/status/1119402970347712513) - * for all buffers attachments, let your record in a graph - * you can record in value change and/or if mouse pose change - * youc an define the measure frequency - * Pixel debug values under a line : [video](https://twitter.com/aiekick/status/1121917531458031616) - * you can configure the line, and record graph of change of whole line - * you can check where you are on the line on creen when mouseover the graph - * Pixel Debug tool for show 2d/3d normal under mouse cursor : [video](https://twitter.com/aiekick/status/1149811160927080454) - * you need to use the world camera for ray origin and ray direction - * Pixel debug tool for use gizmo for : [video](https://twitter.com/aiekick/status/1135012575299739648) - * you can move a gizmo with the current buffer value. - * with that you can vizualize a virtual position - * you can move a shape by the buffer value under mouse - * you need to use the world camera for ray origin and ray direction - -[ADD] GamePad Support - * [video](https://twitter.com/aiekick/status/1143665171661021184) - * you get uniforms and widgets : - * vec4 with value for : left and right thumb and trigger - * vec4 for cross pad and buttons down => true is > to 0.5, release => false is < to 0.5 (like checkbox widget) - * fully compatible with PS4 GamePad, not tested with others, but NoodlesPlate use glfw binding - * see Settings Dialog for affect you gamepad items to uniforms - -[ADD] Uniforms Config Load / Save - * [video](https://twitter.com/aiekick/status/1138999841969856512) - * you can save / load at a moment the curent uniforms config - * NoodlesPlate will create one conf file per config - * indeed if you chnage your sahder or uniforms, maybe an past conf will not prduce same shader :) - * all uniforms not currently in the config file will be not changed - * the uniforms values are just repalce with the content of the conf file, there is no overwrite, unitl you decide to overwrite conf file - -[ADD] for Heavy Shader, play/pause shader but listening inputs : - * each modif of input like mouse camera, gizmo will refresh the frame - * you can code heavy shader without overload the Ui and your system - -[ADD] ca, enable or not Input using : - * CAMERA, GIZMO, MOUSE, and Gamepad, each with a check button - -[ADD] Culling System : - * [video 1](https://twitter.com/aiekick/status/1140404208560160771), [video 2](https://twitter.com/aiekick/status/1141042801783844864) - * used if you have a heavy shader, or if you want to explore your sdf - * you need to use the world camera for ray origin and ray direction - * you need also to modify your raymarch loop, a example is provided in File -> new -> Gizmo_Culling_related menu - * you can enable or disable the culling of select culling primitive (sphere / cube) in menu Gizmo - -[ADD] new widget of type radio buttons, like a checkbox, but with vec2, vec3, vec4. and one check at true at same time - -[ADD] a mesh sahder can be selected : menu settings -> show mesh - * for load a mesh and superpose whit you sdf if you want comapred and simplify modeling fo your sdf - * support olny the loading of a obj file and with only triangles for the moment - * you sahder need to use the world camera and depth buffer, for have good sdf / mesh merge - -[ADD] Check version of app at start, you can disable it in settings - -[ADD] changelog visualization in file menu - ---- - -[BREACK] i have disabled the nodegraph because i have many issue and crash. need more time. will comeback in a future release) - -{BREACK] i have disabled the help pane (need a better system). for the moment the help is on the [wiki](https://github.com/aiekick/NoodlesPlate/wiki), will be updated as you go - ---- - -[CHANGE] the framebuffer definition is not any mosre in sampler uniforms : - * you will define that in the FRAMEBUFFER SECTION : - * buffer count (1-8) - * wrap mode (clamp,repeat,mirro) - * filter mode (linear,nearest) - * mipmap mode (true,false) - * format (byte,float) - * size (x,y or picture file) - * ratio (value or picture file) - * for use a buffer in a sampler, juste set the target tag : - * uniform sampler2d(buffer:target=0) name; if you want to target the buffer attachment of the current fbo - * uniform sampler2d(buffer:target=0:file=toto) name; if you want to target the buffer attachment of the file fbo - -[CHANGE] simplification of uniform sections : - * for contol visibility of an unfiorm you just need to target another uniform and define a condition : - * section : name (string and space), order (nurmber only), condition (accepted operator are ==, !=, < or >) - * uniform(section0:0) float(checkbox:false) activation; - * uniform(section0:1:activation==true) float(0:2:1); - -[CHANGE] combobox and checkbox default params are string now and not numbers - -[CHANGE] Slider widgets can be stepped : - * with the step increment in the last optionnal params - * uniform float(inf:sup:default:step) toto; - ---- - -[RELEASES] you have two type of release : - * release standard for X86 and X64 - * release with profiler for X86 and X64 ( open profiler in html directory profiler with package) - ---- - -Many bug fixs, and perf improvments - -if you found other bugs and want featrue request, go [here](https://github.com/aiekick/NoodlesPlate/issues) - -[ADD] New cross platform File Tracker system : - * need the .glsl extention associated with your favorite Editor - * on Linux, a bug appear with some editors, like gedit, a file called .goutputstream-xxx is generated after file save, NDP not detect the file changes due to that - * Succesfully tested on Linux and Mac with atom and vscode. no problem seen on windows with many editor - -[FIX] Many Bug Fixs - ---- -0.1.1440 -[ADD] add a text widget, only for the ui, not used in the shader, he display some text in uniforms section -[FIX] radio widget fixed, was not uploaded to gpu -[FIX] a crash was some time in the file update checker -[FIX] a modification of code not triggered the update of the view when the view was paused ---- -0.1.1417 -[ADD] Support of tesselation control and tesselation evaluation shader -[ADD] collapsable / expandalbe section for uniforms (always defined in code) -[ADD] MSAA x2 for mesh visu, or debug wireframe, btw it do, pixel debugging features, and fbo textures display, stop working -[ADD] A compil button, for force recompilation, when in some weird cases, the files changes are not triggered in NoodlesPlate -[ADD] a natural sorting for Uniforms Config Switcher -[ADD] cammera orthographic for mesh. not work correctly with sdf, need glsl code modification of space3d.glsl. with sdf use perspective -[FIX] version check, 4s of timeout, not block anymore the ui if github not respond -[FIX] mesh loader can open mixed mesh ,traingles, and quads, but only ascii obj and without textures for the moment -[FIX] some stability issue was fixed at open and close ---- -0.1.1081 -[FIX] version check -[FIX] recent files was not in good order -[ADD] template creation / see directory templates ---- -0.1.974 -[FIX] changelog was not displayed -[FIX] when rendering was paused, any tuning did not refresh the view -[FIX] crash at app close -[FIX] in some case, the config change crashed the app ---- -0.1.955 -[ADD] Settings dialog : - * proxy settings move from import bar to here - * same for ShaderToy api key - -[ADD] Transparant window support : - * activate or not in Settings Dialog - * control tranparancy with alpha value of the current buffer - * ex [here](https://twitter.com/aiekick/status/1126280207105765376) - -[ADD] you can save pictures of UI and FBO after each code modification - * let you create a video of your shader like, ex : [here](https://twitter.com/aiekick/status/1124527172306206720) - -[ADD] you can get metrics and infos about your GPU : - * only support for nvidia for the moment. - * you get temperature, load, etc.. - * you can get infos of your opengl - * acces it in menu Infos, [video](https://twitter.com/aiekick/status/1123654277623373825) - -[ADD] FullScreen support - * [video](https://twitter.com/aiekick/status/1125906159825817605) - * windowed or not, see F11 / F12 infos in title bar - -[ADD] Pixel Debugging Capability : - * Pixel debug value under mouse cursor : [video](https://twitter.com/aiekick/status/1119402970347712513) - * for all buffers attachments, let your record in a graph - * you can record in value change and/or if mouse pose change - * youc an define the measure frequency - * Pixel debug values under a line : [video](https://twitter.com/aiekick/status/1121917531458031616) - * you can configure the line, and record graph of change of whole line - * you can check where you are on the line on creen when mouseover the graph - * Pixel Debug tool for show 2d/3d normal under mouse cursor : [video](https://twitter.com/aiekick/status/1149811160927080454) - * you need to use the world camera for ray origin and ray direction - * Pixel debug tool for use gizmo for : [video](https://twitter.com/aiekick/status/1135012575299739648) - * you can move a gizmo with the current buffer value. - * with that you can vizualize a virtual position - * you can move a shape by the buffer value under mouse - * you need to use the world camera for ray origin and ray direction - -[ADD] GamePad Support - * [video](https://twitter.com/aiekick/status/1143665171661021184) - * you get uniforms and widgets : - * vec4 with value for : left and right thumb and trigger - * vec4 for cross pad and buttons down => true is > to 0.5, release => false is < to 0.5 (like checkbox widget) - * fully compatible with PS4 GamePad, not tested with others, but NoodlesPlate use glfw binding - * see Settings Dialog for affect you gamepad items to uniforms - -[ADD] Uniforms Config Load / Save - * [video](https://twitter.com/aiekick/status/1138999841969856512) - * you can save / load at a moment the curent uniforms config - * NoodlesPlate will create one conf file per config - * indeed if you chnage your sahder or uniforms, maybe an past conf will not prduce same shader :) - * all uniforms not currently in the config file will be not changed - * the uniforms values are just repalce with the content of the conf file, there is no overwrite, unitl you decide to overwrite conf file - -[ADD] for Heavy Shader, play/pause shader but listening inputs : - * each modif of input like mouse camera, gizmo will refresh the frame - * you can code heavy shader without overload the Ui and your system - -[ADD] ca, enable or not Input using : - * CAMERA, GIZMO, MOUSE, and Gamepad, each with a check button - -[ADD] Culling System : - * [video 1](https://twitter.com/aiekick/status/1140404208560160771), [video 2](https://twitter.com/aiekick/status/1141042801783844864) - * used if you have a heavy shader, or if you want to explore your sdf - * you need to use the world camera for ray origin and ray direction - * you need also to modify your raymarch loop, a example is provided in File -> new -> Gizmo_Culling_related menu - * you can enable or disable the culling of select culling primitive (sphere / cube) in menu Gizmo - -[ADD] new widget of type radio buttons, like a checkbox, but with vec2, vec3, vec4. and one check at true at same time - -[ADD] a mesh sahder can be selected : menu settings -> show mesh - * for load a mesh and superpose whit you sdf if you want comapred and simplify modeling fo your sdf - * support olny the loading of a obj file and with only triangles for the moment - * you sahder need to use the world camera and depth buffer, for have good sdf / mesh merge - -[ADD] Check version of app at start, you can disable it in settings - -[ADD] changelog visualization in file menu - ---- - -[BREACK] i have disabled the nodegraph because i have many issue and crash. need more time. will comeback in a future release) - -{BREACK] i have disabled the help pane (need a better system). for the moment the help is on the [wiki](https://github.com/aiekick/NoodlesPlate/wiki), will be updated as you go - ---- - -[CHANGE] the framebuffer definition is not any mosre in sampler uniforms : - * you will define that in the FRAMEBUFFER SECTION : - * buffer count (1-8) - * wrap mode (clamp,repeat,mirro) - * filter mode (linear,nearest) - * mipmap mode (true,false) - * format (byte,float) - * size (x,y or picture file) - * ratio (value or picture file) - * for use a buffer in a sampler, juste set the target tag : - * uniform sampler2d(buffer:target=0) name; if you want to target the buffer attachment of the current fbo - * uniform sampler2d(buffer:target=0:file=toto) name; if you want to target the buffer attachment of the file fbo - -[CHANGE] simplification of uniform sections : - * for contol visibility of an unfiorm you just need to target another uniform and define a condition : - * section : name (string and space), order (nurmber only), condition (accepted operator are ==, !=, < or >) - * uniform(section0:0) float(checkbox:false) activation; - * uniform(section0:1:activation==true) float(0:2:1); - -[CHANGE] combobox and checkbox default params are string now and not numbers - -[CHANGE] Slider widgets can be stepped : - * with the step increment in the last optionnal params - * uniform float(inf:sup:default:step) toto; - ---- - -[RELEASES] you have two type of release : - * release standard for X86 and X64 - * release with profiler for X86 and X64 ( open profiler in html directory profiler with package) - ---- - -Many bug fixs, and perf improvments - -if you found other bugs and want featrue request, go [here](https://github.com/aiekick/NoodlesPlate/issues) +0.6.77 +https://github.com/aiekick/NoodlesPlate/releases +--- +0.6.77 + +little update + +[ADD] : add a settings in Uniform Pane for reset all widgets to their defaults values +[ADD] : add a settings in Uniform Switcher Pane for reset widgets who are not in a config file +[MOV] : move buttons fo space3d and mesh in left toolbar + +0.5.937 +https://github.com/aiekick/NoodlesPlate/releases +--- +0.5.937 + +little update + +[ADD] : add a categorie in the settings dialog for defined path to use for scripts, + and any type of assets (texture 2D/3D, cubemap, meshs, etc..) +[ADD] : add a settings for enabled/disable the HDPI support of the UI. (WIP) disabled by default +[ADD] : add a settings for define the global UI scale +[FIX] : fix a width issue fo the import bar. irony of the fate, the hide button was hidden :) +[FIX] : fix an issues with the time input widget. + when many time widget was in the same shader, the edition of one was defining all.. + +0.5.897 +https://github.com/aiekick/NoodlesPlate/releases +--- +0.5.897 +big update, and stable enough for be shared. but WIP on some features + +New Features : +[ADD] : new ui system (each pane can be extracted as a new windows) +[ADD] : vertical toolbar on the left side for the main features +[ADD] : add a live opengl profiler +[ADD] : add a live gpu metric small pane (for nvidia on windows only) +[ADD] : add a console pane +[ADD] : add a unified uniforms switcher pane +[ADD] : add a new one file system when each buffer pass will be in the same file + * shadertoy import can be now improted in only one file +[ADD] : add a new uniform of type button +[ADD] : add a samples for features (new > Feature) +[ADD] : add a new theming system for change the colors of the ui as you want +[ADD] : the asset file dialog can now show pictures +[ADD] : transform feedback system for extract mesh from the vertex/geometry/tesselation shader stage +[IMP] : improvment of the timeline, easier for create loops now +[OPT][FIX] : Many Optimization and Bug Fixs (about the rendering system and ui) + +0.1.3075 +https://github.com/aiekick/NoodlesPlate/releases +--- +0.1.3075 +[ADD] Mac version added, x64 only +[ADD] Linux version added, x64 only +[ADD] Add a timeline widget : + * inspired by the timeline of Blender3D + * bezier curve based : three control points mode : free, aligned, symmetric + * add key by clinking the dot on the left of uniforms in uniforms pane + * move keys by dragging with mouse + * you can add whole the current shader config to the timeline and clean for keep only changed uniforms after + * use middle mouse on timebar, valuebar or view for scale the view + * can rescale keys along time by values => Re Scale Menu + * you can disable gpu upload for frame whith a button + * you can show all keys or edit channel,s for show corrresponding curves => little checkbox on the right of names in timeline + * can export current frames to pictures ; video export is planned but not supported for the moment + +[ADD] Opengl chooser at start, can support : + * 3.2 mini : Geometry Stage + * 4.0 : Tesselation Stage + * 4.3 : Compute Stage + +[ADD] New cross platform File Tracker system : + * need the .glsl extention associated with your favorite Editor + * on Linux, a bug appear with some editors, like gedit, a file called .goutputstream-xxx is generated after file save, NDP not detect the file changes due to that + * Succesfully tested on Linux and Mac with atom and vscode. no problem seen on windows with many editor + +[FIX] Many Bug Fixs + +--- +0.1.1440 +[ADD] add a text widget, only for the ui, not used in the shader, he display some text in uniforms section +[FIX] radio widget fixed, was not uploaded to gpu +[FIX] a crash was some time in the file update checker +[FIX] a modification of code not triggered the update of the view when the view was paused +--- +0.1.1417 +[ADD] Support of tesselation control and tesselation evaluation shader +[ADD] collapsable / expandalbe section for uniforms (always defined in code) +[ADD] MSAA x2 for mesh visu, or debug wireframe, btw it do, pixel debugging features, and fbo textures display, stop working +[ADD] A compil button, for force recompilation, when in some weird cases, the files changes are not triggered in NoodlesPlate +[ADD] a natural sorting for Uniforms Config Switcher +[ADD] cammera orthographic for mesh. not work correctly with sdf, need glsl code modification of space3d.glsl. with sdf use perspective +[FIX] version check, 4s of timeout, not block anymore the ui if github not respond +[FIX] mesh loader can open mixed mesh ,traingles, and quads, but only ascii obj and without textures for the moment +[FIX] some stability issue was fixed at open and close +--- +0.1.1081 +[FIX] version check +[FIX] recent files was not in good order +[ADD] template creation / see directory templates +--- +0.1.974 +[FIX] changelog was not displayed +[FIX] when rendering was paused, any tuning did not refresh the view +[FIX] crash at app close +[FIX] in some case, the config change crashed the app +--- +0.1.955 +[ADD] Settings dialog : + * proxy settings move from import bar to here + * same for ShaderToy api key + +[ADD] Transparant window support : + * activate or not in Settings Dialog + * control tranparancy with alpha value of the current buffer + * ex [here](https://twitter.com/aiekick/status/1126280207105765376) + +[ADD] you can save pictures of UI and FBO after each code modification + * let you create a video of your shader like, ex : [here](https://twitter.com/aiekick/status/1124527172306206720) + +[ADD] you can get metrics and infos about your GPU : + * only support for nvidia for the moment. + * you get temperature, load, etc.. + * you can get infos of your opengl + * acces it in menu Infos, [video](https://twitter.com/aiekick/status/1123654277623373825) + +[ADD] FullScreen support + * [video](https://twitter.com/aiekick/status/1125906159825817605) + * windowed or not, see F11 / F12 infos in title bar + +[ADD] Pixel Debugging Capability : + * Pixel debug value under mouse cursor : [video](https://twitter.com/aiekick/status/1119402970347712513) + * for all buffers attachments, let your record in a graph + * you can record in value change and/or if mouse pose change + * youc an define the measure frequency + * Pixel debug values under a line : [video](https://twitter.com/aiekick/status/1121917531458031616) + * you can configure the line, and record graph of change of whole line + * you can check where you are on the line on creen when mouseover the graph + * Pixel Debug tool for show 2d/3d normal under mouse cursor : [video](https://twitter.com/aiekick/status/1149811160927080454) + * you need to use the world camera for ray origin and ray direction + * Pixel debug tool for use gizmo for : [video](https://twitter.com/aiekick/status/1135012575299739648) + * you can move a gizmo with the current buffer value. + * with that you can vizualize a virtual position + * you can move a shape by the buffer value under mouse + * you need to use the world camera for ray origin and ray direction + +[ADD] GamePad Support + * [video](https://twitter.com/aiekick/status/1143665171661021184) + * you get uniforms and widgets : + * vec4 with value for : left and right thumb and trigger + * vec4 for cross pad and buttons down => true is > to 0.5, release => false is < to 0.5 (like checkbox widget) + * fully compatible with PS4 GamePad, not tested with others, but NoodlesPlate use glfw binding + * see Settings Dialog for affect you gamepad items to uniforms + +[ADD] Uniforms Config Load / Save + * [video](https://twitter.com/aiekick/status/1138999841969856512) + * you can save / load at a moment the curent uniforms config + * NoodlesPlate will create one conf file per config + * indeed if you chnage your sahder or uniforms, maybe an past conf will not prduce same shader :) + * all uniforms not currently in the config file will be not changed + * the uniforms values are just repalce with the content of the conf file, there is no overwrite, unitl you decide to overwrite conf file + +[ADD] for Heavy Shader, play/pause shader but listening inputs : + * each modif of input like mouse camera, gizmo will refresh the frame + * you can code heavy shader without overload the Ui and your system + +[ADD] ca, enable or not Input using : + * CAMERA, GIZMO, MOUSE, and Gamepad, each with a check button + +[ADD] Culling System : + * [video 1](https://twitter.com/aiekick/status/1140404208560160771), [video 2](https://twitter.com/aiekick/status/1141042801783844864) + * used if you have a heavy shader, or if you want to explore your sdf + * you need to use the world camera for ray origin and ray direction + * you need also to modify your raymarch loop, a example is provided in File -> new -> Gizmo_Culling_related menu + * you can enable or disable the culling of select culling primitive (sphere / cube) in menu Gizmo + +[ADD] new widget of type radio buttons, like a checkbox, but with vec2, vec3, vec4. and one check at true at same time + +[ADD] a mesh sahder can be selected : menu settings -> show mesh + * for load a mesh and superpose whit you sdf if you want comapred and simplify modeling fo your sdf + * support olny the loading of a obj file and with only triangles for the moment + * you sahder need to use the world camera and depth buffer, for have good sdf / mesh merge + +[ADD] Check version of app at start, you can disable it in settings + +[ADD] changelog visualization in file menu + +--- + +[BREACK] i have disabled the nodegraph because i have many issue and crash. need more time. will comeback in a future release) + +{BREACK] i have disabled the help pane (need a better system). for the moment the help is on the [wiki](https://github.com/aiekick/NoodlesPlate/wiki), will be updated as you go + +--- + +[CHANGE] the framebuffer definition is not any mosre in sampler uniforms : + * you will define that in the FRAMEBUFFER SECTION : + * buffer count (1-8) + * wrap mode (clamp,repeat,mirro) + * filter mode (linear,nearest) + * mipmap mode (true,false) + * format (byte,float) + * size (x,y or picture file) + * ratio (value or picture file) + * for use a buffer in a sampler, juste set the target tag : + * uniform sampler2d(buffer:target=0) name; if you want to target the buffer attachment of the current fbo + * uniform sampler2d(buffer:target=0:file=toto) name; if you want to target the buffer attachment of the file fbo + +[CHANGE] simplification of uniform sections : + * for contol visibility of an unfiorm you just need to target another uniform and define a condition : + * section : name (string and space), order (nurmber only), condition (accepted operator are ==, !=, < or >) + * uniform(section0:0) float(checkbox:false) activation; + * uniform(section0:1:activation==true) float(0:2:1); + +[CHANGE] combobox and checkbox default params are string now and not numbers + +[CHANGE] Slider widgets can be stepped : + * with the step increment in the last optionnal params + * uniform float(inf:sup:default:step) toto; + +--- + +[RELEASES] you have two type of release : + * release standard for X86 and X64 + * release with profiler for X86 and X64 ( open profiler in html directory profiler with package) + +--- + +Many bug fixs, and perf improvments + +if you found other bugs and want featrue request, go [here](https://github.com/aiekick/NoodlesPlate/issues)