Noesis Evaluation questions
Hello,
We are currently doing an evaluation of Noesis GUI C++ version, and we have some questions that we hope you could answer:
C++ Documentation
we couldn't find any c++ documentation besides some descriptions that are at the beginning of each method in the header files, for example I have no Idea how to implement the interface:
One of its methods is
am I supposed to return a BaseComponent? and how do I create that?, Shouldn't I be returning a filestream instead?
Also this function is asking for something like "UI.xaml", but the default resourceprovider looks for "UI.xaml.nsb"
there's no dumentation for that.
Some structs are incomplete (IRenderTarget2D, ITexture2D) do you provide them with the full version ?
Debug Info
We noticed that there is no debug info, If we buy a license are you gonna provide the dll/lib with the debug info?
Static linking
Can we use static linking? if so which platforms?
Only nsb?
I noticed your Gui.XamlPlayer.exe supports xaml loading directly without using the build tool, how can we load xaml directly ?
Thanks.
We are currently doing an evaluation of Noesis GUI C++ version, and we have some questions that we hope you could answer:
C++ Documentation
we couldn't find any c++ documentation besides some descriptions that are at the beginning of each method in the header files, for example I have no Idea how to implement the interface:
Code: Select all
Resource::IResourceProvider
Code: Select all
virtual Ptr<Core::BaseComponent> RequestXAML(const NsChar* name) = 0;
Also this function is asking for something like "UI.xaml", but the default resourceprovider looks for "UI.xaml.nsb"
there's no dumentation for that.
Some structs are incomplete (IRenderTarget2D, ITexture2D) do you provide them with the full version ?
Debug Info
We noticed that there is no debug info, If we buy a license are you gonna provide the dll/lib with the debug info?
Static linking
Can we use static linking? if so which platforms?
Only nsb?
I noticed your Gui.XamlPlayer.exe supports xaml loading directly without using the build tool, how can we load xaml directly ?
Thanks.
Re: Noesis Evaluation questions
We are aware that the documentation of NoesisGUI is not enough. And we are working on it, specially in the integration API. This part is changing a lot in v1.3. We are simplifying everything as much as possible.we couldn't find any c++ documentation besides some descriptions that are at the beginning of each method in the header files, for example I have no Idea how to implement the interface:One of its methods isCode: Select allResource::IResourceProvider
am I supposed to return a BaseComponent? and how do I create that?, Shouldn't I be returning a filestream instead?Code: Select allvirtual Ptr<Core::BaseComponent> RequestXAML(const NsChar* name) = 0;
Also this function is asking for something like "UI.xaml", but the default resourceprovider looks for "UI.xaml.nsb"
there's no dumentation for that.
For your direct question, you can find information more information in the "Load Resources" section of the BuildTool documentation.
If you inherit from ResourceProvider, you only need to implement the RequestFile function.
Right now, they are incomplete because we don't expect them to be reimplemented. But this is one of the biggest changes in v1.3, we are open sourcing all our renderers and exposing the architecture to allow custom renderer implementations.Some structs are incomplete (IRenderTarget2D, ITexture2D) do you provide them with the full version ?
We have them (used for analyzing dumps sent to the tracker) but they are not being distributed to reduce the size of each release. Yes, we could give you access to them and reevaluate in the future if we they should be included in our packages. May I ask you why do you need them? (profiling?)We noticed that there is no debug info, If we buy a license are you gonna provide the dll/lib with the debug info?
Only licensees with access to source code can do this. But this is also somethng that will probably change in v1.3, we are considering switching all our distributions to static libraries.Can we use static linking? if so which platforms?
The exception here is iOS that is always exposed as a static library.
Not possible right now. It is also one of the improvements that will be part of v1.3. You can find more information about future releases of noesisGUI in our Trello board.I noticed your Gui.XamlPlayer.exe supports xaml loading directly without using the build tool, how can we load xaml directly ?
Thanks a lot for your feedback. It helps us a lot. And sorry for not being able to solve these problems right now. But with a bit of patience you will have all of them solved.
Re: Noesis Evaluation questions
Hello,
thanks for replying to my previous questions, nevertheless I have a few more,
1.- When is the version 3.0 coming out ?
not an exact date, just need to know if its gonna be more than 6 months from now,
and if we buy a license before it comes out do we get access to the 3.0 as well?
also are you gonna support lambdas in this new version ?
2.-Mouse offset in some computers
do you have an idea of what am I doing wrong?
3.- Offscreen commands
I'm having some problems knowing where to place my offscreen commands (they seem to be used whenver I try to display a menuitem or combobox)
Everything freezes
4.- How do I close a document ?
(for this I removed the offscreenCommands render)
following your tutorials, the only thing that I think I'm supposed to do is to reset the renderer but that didn't work as expected:
then I tried adding a delay:
----------------------
About the debug symbols, we usually need the mostly for debugging (intellisense) Thanks again for your patience.
thanks for replying to my previous questions, nevertheless I have a few more,
1.- When is the version 3.0 coming out ?
not an exact date, just need to know if its gonna be more than 6 months from now,
and if we buy a license before it comes out do we get access to the 3.0 as well?
also are you gonna support lambdas in this new version ?
Code: Select all
auto item = doc->root->FindName<MenuItem>("ExitMenuItem");
//So I can do this:
// item->Click() += MakeDelegate([](Noesis::BaseComponent* c, const Noesis::RoutedEventArgs& a)
// {
// //close the document
// });
//instead of this:
item->Click() += MakeDelegate(this,&NoesisUI::close_doc);
do you have an idea of what am I doing wrong?
Code: Select all
auto screen_size = m_graphics_system->get_screen_resolution();
doc->renderer->SetSize(screen_size.x, screen_size.y);
doc->renderer->SetAntialiasingMode(AntialiasingMode_PPAA);
doc->root->SetWidth(screen_size.x);
doc->root->SetHeight(screen_size.y);
3.- Offscreen commands
I'm having some problems knowing where to place my offscreen commands (they seem to be used whenver I try to display a menuitem or combobox)
Code: Select all
//Executed before begin_scene
event_update += [=]()
{
doc->renderer->Update(m_timer.elapsedSeconds());
//since we use c++ 11 we need to avoid using the c++11 asignement constructor because you compiled the code without c++ 11
auto renderCommands = doc->renderer->WaitForUpdate();
doc->commands = renderCommands;
if (renderCommands.offscreenCommands != 0)
{
doc->renderer->Render(renderCommands.offscreenCommands.GetPtr(), false);
renderCommands.offscreenCommands.Reset();
}
};
//Execured between begin_scene & end_scene after drawing the 3d world
event_render += [doc,this]()
{
auto renderCommands = doc->commands;
doc->renderer->Render(renderCommands.commands.GetPtr(), false);
};
4.- How do I close a document ?
(for this I removed the offscreenCommands render)
following your tutorials, the only thing that I think I'm supposed to do is to reset the renderer but that didn't work as expected:
then I tried adding a delay:
----------------------
About the debug symbols, we usually need the mostly for debugging (intellisense) Thanks again for your patience.
Re: Noesis Evaluation questions
3.0 is planned for Q1 2016. There will be a C++ beta a lot earlier, in fact, the alpha version is already being tested by a few clients.1.- When is the version 3.0 coming out ?
Yes, if you buy a license now you can upgrade for free to 3.0.
Regarding lambdas, yes, we would like to support them. I have added a card in our Trello board. For now, I have pinned the task for the 1.2.8 version.
Without having more detail about your code, I would say that the screen size is not exactly the window client area. Make sure when you send a (0,0) coordinate to the renderer it exactly corresponds to the corner of the window.2.-Mouse offset in some computers
The freeze is happening because offscreen commands change the current render target surface. You need to restore it (and the viewport dimensions) before rendering your content.Offscreen commands
For shutting down noesis you need to:How do I close a document ?
1. Make sure you don't have any strong references (Ptr<>), if so, you must release them.
2. Release all rendererers.
3. Call Noesis shutdown
Are you able to reproduce the problem in our integration sample?
The mouse_up() function that is crashing is being executed after renderer destruction?
Who is online
Users browsing this forum: Ahrefs [Bot] and 4 guests