Page 2 of 5

Re: NoesisGUI 1.3 BETA

Posted: 19 Aug 2016, 00:44
by Sinae
thx for your input ai_enabled.. i'm seriously considering noesisGUI.

Personnaly i would retake the screenshot of noesis gui controls with the new cleaner text rendering engine because it's very important for all of us who comes from WPF font rendering mess..

the current screenshot have blurrry text..

integration with MVVM cross and xamarin forms would be interesting ;)

Re: NoesisGUI 1.3 BETA

Posted: 19 Aug 2016, 13:23
by jsantos
Personnaly i would retake the screenshot of noesis gui controls with the new cleaner text rendering engine because it's very important for all of us who comes from WPF font rendering mess..
Which screenshots do you mean? Anyway, with 1.3 we are going to change all the website to have a better and more moder look. We have working on this since long time ago.
integration with MVVM cross and xamarin forms would be interesting ;)
Yes, xamarin integration is being worked out. Our C# integration samples will use xamarin.

Re: NoesisGUI 1.3 BETA

Posted: 31 Aug 2016, 01:48
by jsantos
The changelog for b1 was missing. While you wait for the next relase, here you can find it.
  • New multithreading rendering architecture. Class IRenderer split into IView (for the main thread) and IRenderer (for the renderer thread, if any). More information at the rendering tutorial.
  • Base class for renderers have been simplified. With 1.3 we expect all our clients to provide custom renderer implementations. Shouldn't take more than 2 - 3 day to implement one following our reference implementation.
  • Our official runtimes no longer provide renderer implementations. It must be implemented by client code. We will provide reference implementations for all our platforms within the SDK. D3D11 and GL/GL_ES provided in this version.
  • New resource providers architecture:
    • BuildTool deprecated. Textures, Fonts and XAMLs no longer needs preprocessing.
    • Custom loaders must be passed to Noesis::GUI::SetResourceProvider(). We support local files by default (similar to 1.2).
    • Noesis::Stream simplified to allow easier specialization.
  • New font rendering architecture:
    • Support for all kind of brushes in text: solid, linear, radial and image.
    • Support for text inlines like <Bold>, <Italic> and <Span>.
    • Glyphs are now cached in a single atlas and dynamically recycled. Atlas resolution can be configured.
    • New text rendering algorithm with enhanced subpixel positioning. Hinting and ClearType no longer used.
    • Big glyphs are now rasterized with triangles instead of bitmaps. Threshold can be configured.
    • FontWeight, FontStyle and FontStretch properties fully supported.
  • Kernel::Tick() removed. Client code no longer needs to call this function.
  • We no longer clear external surfaces. DoNotClearStencil and ClearColor flags deprecated. Client code must do it.
  • Offscreen rendering performance greatly improved.
  • Offscreen view configuration is now sane by default. SetOffscreenSize function removed.
  • Performance of bin-packing algorithm, used by offscreens and glyphcache, improved.
  • TBB is no longer a dependency.
  • VisualBrush generation no longer forcing re-tessellation.

Re: NoesisGUI 1.3 BETA

Posted: 01 Sep 2016, 17:30
by DigitalKarnage
This is going great so far. Would like to request that for 'Noesis::Gui::LoadXaml' be able to load not only a location on disk, but from a binary stream as well. Maybe a Noesis::Gui::LoadXamlStream.

Re: NoesisGUI 1.3 BETA

Posted: 02 Sep 2016, 04:24
by jsantos
Yes, that feature is already implemented. I have written a small document about it that will be included in the next beta.

https://gist.github.com/jesusdesantos/2 ... cc4aee7f27

Thanks!

Re: NoesisGUI 1.3 BETA2

Posted: 17 Sep 2016, 22:24
by jsantos
Beta 2 released. This time C++ and C#. Enjoy it!
  • Visual Studio 2015 officially supported.
  • Xbox One C++ New platform supported.
  • New resource providers tutorial.
  • Tutorial for the new rendering architecture.
  • Improvements to RenderDevice architecture to better support complex offscreen scenarios. With these changes it is easier to avoid redundant state changes and it better supports TBR architectures.
  • Source attribute deprecated in UserControls and Code-Behind classes. Corresponding XAML must now be loaded from constructor using LoadComponent(this, uri). This matches the WPF behavior.
    class MyUserControl: public Noesis::UserControl
    {
    public:
        MyUserControl()
        {
            InitializeComponent();
        }
    
    private:
        void InitializeComponent()
        {
            Noesis::GUI::LoadComponent(this, "Controls/MyUserControl.xaml");
    
            // Do FindNames and hook to events here
        }
    };
    
  • Support for using StaticResources defined in a different XAML file.
  • Sometimes parser was creating an extra instance of each UserControl and inmmediately destroying it.
  • Pressing Up arrow in empty TextBox unfocus the control.
  • Deprecated NsFunc no longer supported in reflection macros. Events must be manually registered.

Re: NoesisGUI 1.3 BETA2

Posted: 22 Sep 2016, 03:02
by nokola
Awesome, can't wait for Unity package!

Re: NoesisGUI 1.3 BETA2

Posted: 18 Oct 2016, 15:23
by Faerdan
Hey all,

This latest version looks amazing, I'm really looking forward to using it.

I've downloaded the managed SDK (I'm using C# in the Xenko engine) but I cannot find the D3D11 reference integration in the download, where can I find it?

Apologies if I've missed something obvious.


Thanks,

Mark

Re: NoesisGUI 1.3 BETA2

Posted: 18 Oct 2016, 21:03
by jsantos
Hi Mark,

For now, the renderer API is not exposed to C#. Soon or later it will be, that way you can implement a renderer using only C#. But for now, the GL and D3D11 renderers are included inside the C# SDK binaries and you have functions to initialize each API in the same way you are doing for 1.2:
Noesis.ResourceDictionary theme = (Noesis.ResourceDictionary)Noesis.GUI.LoadXaml("NoesisStyle.xaml");
Noesis.Grid content = (Noesis.Grid)Noesis.GUI.LoadXaml("TextBox.xaml");
_view = Noesis.GUI.CreateView(content, theme);
_renderer = _view.Renderer;
_renderer.InitGL(new Noesis.VGOptions());

Re: NoesisGUI 1.3 BETA2

Posted: 19 Oct 2016, 11:55
by Faerdan
Ah cool, thanks man.