Discussion in 'Assets and Asset Store' started by AltSoftLab, Jun 24, 2015.
Thanks for answers. Will inspect it deeper
I try to replace my FreeType uses by AltNETType, but can't find ANT_Init_FreeType and ANT_Done_FreeType funcs in Alt.NETType.ANT for AltNETType init and done
It's a standard question Instead of FT_Init_FreeType & FT_Done_FreeType need to use ANT_Init_AltNETType & ANT_Done_AltNETType (a members of Alt.NETType.ANT static class).
Oh... of course it's AltNETType. Thanks
Hi AltSoftLab developers,
As I can see, you realized System.Drawing like interface for your library and ported on it a lot of useful libraries. Do you have plans to create compatible alternative to System.Drawing or something else?
No, we don't want to create API full compatible alternative to System.Drawing. We made Vector Graphics Drawing Library. One of the drawing interfaces is some extended System.Drawing like interface with double float arithmetic parameters (instead of single float in System.Drawing). Basic types (like Point, Size, Rect, Vector) have double floating point demention. For integer types you can use PointI, SizeI, RectI.
We decided to realize System.Drawing like interface because there are many useful solutions based on System.Drawing. These solutions can be ported to AltSketch & then used in many applications with AltSketch extended functionality or in applications that can't use System.Drawing or in applications with hardware rendering optimizations (like games, scientific applications, mobile devices, etc). For example, a lot of libraries already ported to AltSketch & included to SDK as AltAssets.
I have a project - the port of famous Neverball native C game to C#. The macro level is already done. There are PhysFS, some Maths and render on C Wrapper. I want to make it full in managed C# and have just only .NET externals. So I want to try to implement some features on AltSDK to lesser external native dependancies. Just for tests I replaced implementation of font rendering by SDL with AltSketch (screenshots attached). All works well! Thanks for your asset!
Wow, nice project! I had look into Neverball native game and it's super! Do you ported it fully to C#? Is it published and possible to try?
Thanks! It's my diploma student project of porting some C-coded game to native C#. There are a lot of work... But maybe I'll publish it then.
It's a cool work! Yes, it will be nice to play with your version of game. Please, share it if possible. Is it open sourced?
Native game source code is GPL, so my will be too. Ok, I'll share it some later
Very good work! Thank you for sharing screenshots. And you are welcome to AltSDK uses. AltSDK is multipurpose solution (not only for Unity) and it's good that it has been helpful for you in not Unity project. Do you have plans to port game to Unity?
Thanks. It's really helpful that AltSketch can be used not only in Unity. No, I don't want to port this game to Unity because firstly it's under GPL and I can't use it as commercial. Also it's too much work. I haven't too much free time
There is AltGUIControlDevelopment project in AltGUI SDK Tools. It's like AltGUIControlHost Example with a moved sight. What is AltGUIControlDevelopment for?
By using AltGUIControlDevelopment project you can create and test AltGUI controls as separate application without Unity Editor (because AltGUI Core is not depends on any integration and backend UI) and then use it in Unity. Sometimes it much more useful and flexible. You can create AltGUI Control once and use it without any modifications and adaptations in new Unity UI & NGUI. All AltGUI functionality can be used in new Unity UI & NGUI without any modifications.
I tried it. It's amazing and very useful method! Hope AltGUI will grow up!
You are welcome! There are much more AltSDK advanced Unity editor tools and fatures in the next version coming very soon
Super! Can't wait!
Coming very soon!
The main idea of AltSketch project is to bring a useful drawing functionality (like Brushes, Pens, Drawing Graphics funcs) into Graphics Engines and extend it (like Custom Shader Brushes – ExtBrush, Vector Graphics, etc.). So you don’t need to operate with Vertex/Index data and hard vector math any more - just draw over your 3D Graphics! Many famous widely used useful libraries has been ported to AltSketch. Because AltSketch has System.Drawing like interface it was not hard (just to rename some names). Also you can easily port to AltSketch by yourself some nice System.Drawing/GDIPlus solutions and use it in your game project
To see your development of the plug-in is particularly powerful, is I need, so I purchased your ALTSDK (Pro) version, your plug-in to me a lot of help, thank you very much!
We have encountered a number of problems in the use of the use, so to help you, hoping to get your help, I would like to reflect the problem to your forum, but I am not here to register and log in, so I take the liberty to send you e-mail to seek help
First of all, I have to say that I have encountered problems, I mainly use the Gmap of your package, see your case, found that the Gmap map is acquired from the Internet, and very smooth, but I need to read the map from the local resources and load into the unity. Local resources I can download it through the open source Gmap program, the data format is.GMDB. After research I have been able to load the local map resources, can be displayed in the unity, but some of the problem is that some pictures can show some pictures can not show, print out the length of length, found that the smaller length can be displayed, the larger length can not show.
I just wonder if this length is the reason. If this is the reason why the solution? Now the real cause of the problem can not find, I really can not solve, hoping to get your help!
If this is not the length of the cause, then how to load the local map resource file to the unity.
In addition, Professional this compressed file in the package should be the source code, but it is not complete, if you can, then I hope you can send a complete source code.
Hope to get your reply, thank you again!
Hi Jesus kari,
You are welcome! We had some problems to connect to you by mail because your website was off. It's more useful to make a discussion here (than by mail) because other customers can find answer on their questions or can suggest some solution.
Interesting research.Thank you! We had such proplems with Gmap offline cache since the port time. So we prefer to use online data.
Can you send me by mail (or share somewhere) a little pack of GMDB. Also you can send me you test project - it can be useful.
In all cases currently used version of GMap is more than 2 years old. Now we concentrated on new release that will come in a week or two. After that in a couple of days we'll port the latest GMap version and we'll try to solve with you all your problems with local cache.
You are wrong. All AltSDK extensions source code is in the zipped packet of the Professional package. The complete source code of ported GMap of course too.
As AltSDK is a very complex solution, we decided to create some special forum threads showing a different areas of AltSDK and answering on questions about it. So we added a second special forum thread related to OxyPlot, NPlot, ZedGraph, 3DPieChart - Professional Interactive Graphs & Plots AltSDK components OxyPlot, NPlot, ZedGraph, 3DPieChart - Professional Interactive Graphs & Plots
You are welcome to look & discuss it!
AltSketch OxyPlot - Stern Series
AltSketch OxyPlot Peaks
AltSketch OxyPlot - Bar Series with Negative Values
AltSketch Windows Phone OxyPlot OpenStreet Map
AltGUI Unity UI Integration - NPlot
AltSketch NPlot Sound Wave
AltSketch Windows Phone NPlot Tour
AltSketch Unity Pie Chart
I just purchased AltSDK and I am running some tests using Unity3d, 5.02.I found that I am able to draw text onto a texture using Windows, but not on Mac after building the project on Windows or on Mac.
m_font = new Alt.Sketch.Font("Open Sans", 14.0);
m_fontBrush = new SolidColorBrush(Alt.Sketch.Color.FromArgb(255, Alt.Sketch.Color.White));
m_rect = paint.ClientRectangle;
graphics.DrawString ("Graphics Plot", m_font, m_fontBrush, 350.0, m_rect.Height-40.0)
I have tried font family names "Arial", "Helvetica", "Open Sans".
When I run the project on Mac from Unity, I see the text. But when I run the built .app file on the Mac, the text does not appear. I suspect that AltSDK cannot find the font in the built app.
(the Mac is running OSX Yosemite 10.10.5)
Any ideas? How to I make sure the font is loaded correctly on a built project on the Mac? Is there a resource that I need to include?
In AltSDK, it seems that the Dashstyle for drawing lines is ignored.for example:
m_axisPen.DashStyle = DashStyle.Dot;
graphics.DrawLine (m_axisPen, pt1, pt2);
This only draws a solid line. It does not matter which DashStyle I try.
How do I get dashed or dotted lines?
Is there any formal documentation with AltSDK? I could not find any.
I would like to have a list of classes, public methods and properties (Doxygen style).
Also, a PDF document listing the minimum package install to get System.Drawing equivalent functionality (without all the NPlot, OxyPlot, NGUI, Awesonium, GMAP stuff) would be great!
Sorry for a little delay. In all cases we always try to answer as soon as possible. So if we don't answer for a some hours please don't worry: maybe it's night time at this moment in our country, maybe we have a brain storm, have a hard work on fetures development, or already analizing your tasks.
Thank you for your report.
AltSketch is responsive to process fonts. And in most cases it doesn't depends on any OS. But running game in Unity Editor is differs from Standalone application. So my question is: are you trying to draw on AltGUI control, or just dirrectly on bitmap? This question is because of: we moved out some system or .NET dependent functionality to PCLTools class. It's need to initialize it before any operations on AltSketch and AltGUI. For this purpose used AltGUIIntegration.Initialize() static method that is called from any AltGUI control. You need to call it before any manipulations on AltSketch.
But in all cases it's strange that in Windows standalone app font works, and in Mac - not. Firstly before working with fonts please check "(new InstalledFontCollection()).Families" - is this collection empty or not. If it's empty, so no any font is found.
For the finding fonts we use PCLTools.LoadSystemFonts() func. You can debug it's process. For the more correct fonts finding you can comment InstalledFontCollection.LoadCache(); call. InstalledFontCollection.LoadCache() used to load previously found fonts fastly. It's important to detect that fonts can be found dirrectly in Game Standalone mode. So comment it.
And the last thing is AltGUIIntegration.InitializePlatformSpecificTools(). In this procedure we load a Zipped resource file into AltSDK Virtual File System. "Open Sans" font located in this resource. Please check if resource "...bindata = UnityEngine.Resources.Load..." loaded sucessfully.
Also you can do a little test by loading fonts dirrectly into InstalledFontCollection (AddFontFile, AddFontStream static method) or to PrivateFontCollection (AddFontFile, AddFontStream or AddMemoryFont instance methods). How to work with InstalledFontCollection or PrivateFontCollection examples you can find in MSDN or other web sources - all like working with System.Drawing.
AltSketch draws all Dash styles and DashPattern (you can see DashPattern work on screens below). But as current tests shows the code processing this task is not called now... I think it's because we had some restructures of the core. We'll process this issue before the next coming very soon release.
AltSketch OxyPlot - Legend
AltSketch NPlot Particles
We are already commented almost all public and protected functionality in code. You can look at it in IntelliSense and Assembly inspectors. It's in assemblies XML files in "AltGUI\_Integration\_bin" folder. Of course we'll genereate an Doxygen after the nearest release.
Ok, we'll make a manual with structure description. And also we'll create the AltSDK Control Panel (UnityEditor extension) that we'll process the AltSDK asset structure (add/remove components, settings, options, etc.)
Just for now I'll give you a little guidance:
As you want to use just a System.Drawing like functionality, you need only AltSketch library. This library located in "AltGUI\_Integration\_bin" asset folder
The second thing you need is PCLTools realization of AltSketch core abstraction. It located in "AltGUI\_Integration\PCLTools" folder. You need all files in this folder
The last thing is to initialize PCLTools before any manipulations with AltSketch. Just call "Alt.PCL.PCLTools.Initialize();". You can call it anytimes and anywhere because PCLTools has an initialization flag. So if it's already initialized, it's just don't anything
Also you maybe want to load additional resources into AltSketch (for example fonts) from the zip container or something else special. You can look how to do it in "AltGUI\_Integration\AltGUIIntegration\AltGUIIntegration_Unity.cs" src file in func InitializePlatformSpecificTools()
Hope this will be helpful for you
Does this mean that you'll fix this before the next release, or it will be fixed with the next release?
Since I need to show dotted lines on my graph (I have multiple plot lines) I will have to wait until fixed.
Can you tell us when you plan to release next? (when is very soon? )
It will be solved with the next release. Hope a week. Maybe a little bit more.
AltSketch: Working on the Font Load problem on the mac.
I did a build (Mac OSX x86_64) and ran in game (not in Unity).
In PCLTools.LoadSystemFonts() I found that on mac it is using the Linux path instead of the MacOSX path:
else if (pid == PlatformID.Unix)
fontsDir = "usr/share/fonts/truetype";
#if !WINDOWS_PHONE && !WINDOWS_PHONE_7 && !WINDOWS_PHONE_71
else if (pid == PlatformID.MacOSX)
// Path.Combine(home, "Library", "Fonts");
fontsDir = "Library/Fonts";
I changed the code to use the MacOSX path (Library/Fonts). But it still does not work.
In InitializePlatformSpecificTools(), the resource for bindata is loaded. (not null)
But none of the font families are loaded on Mac. This does work on Windows.
FontFamily families = new InstalledFontCollection().Families;
Have you tested this on the mac yourself?
A little more on the Mac font loading problem.
The path for loading should be /Library/Fonts (leading slash /). After modifying the code, I then get a full list of FontFamilies loaded. And text now appears in the full build. But only Open-Sans (like Arial) appears. If I change the font name to Mono or something else, I still get the same Open-Sans font.
One more thing. After loading the font like this:
m_font = new Alt.Sketch.Font("Mono", 14.0);
Debug.Log("font loaded: " + m_font.Name);
I see that it reports back "Arial". Since I do not have the code for Alt.Sketch, I cannot debug further.
Thanks for your report! We already made some changes and will check all tasks before the next release.
Just for now you can play with these things:
It's bad that the same font cache used for Windows and Mac. So you can comment in LoadSystemFonts() "InstalledFontCollection.LoadCache();" and "InstalledFontCollection.SaveCache();". Font searching will be slow, but more true. You can comment "InstalledFontCollection.LoadCache();" only once and the cache will be resaved
You can comment loading VFS to remove "Open Sans". It seems that it appears twice and the engine can halts because of it and no loads other fonts
I made a mistake before. The font name should have been "Andale Mono" not just "Mono", when I corrected that, it now shows the correct font in the unity build. It also shows the correct font in a game build. Thanks for the help. I'm having a little trouble to get the drawString() call to look good on the control, but I'll play with it and see if I can improve (I tried Smoothing None and Antialias both).
Good news! Thanks for report. Please report if you'll detect some differences between System.Drawing and AltSketch in results of any API funcs and logic
Hi dear customers,
After the some brain storms and a lot of hard work before the next coming release we decided to limit AltSDK supported platforms (engines) for the nearest future because there are some of previously supported platforms are not popular, but supporting them requires a lot of efforts.
So AltSDK will be supported by backends and integrations for:
XNA & MonoGame
Windows Forms (OS windows backend) - coming soon
GTK (OS windows backend) - coming soon
Google Native Client - coming soon
NeoAxis, OGRE (MOGRE), Axiom 3D, Irrlicht, SDL, Qt, WPF, WxWidgets, DirectX will be not supported for the nearest time. But you can create your implementation by your self.
AltSDK as usualy will be distributed in 2 assembly versions:
.NET 2.0 assembly (used mainly in Unity all editions, etc.)
.NET 4.0 PCL universal assemply (useful for PC, Silverlight, Mobile Platforms, etc.)
Hi dear customers,
We became a little bit more in social networks. And finally AltSDK is on Instagram!
AltSDK Social Links:
Follow us on Twitter - http://twitter.com/AltSoftLab
Follow us on Instagram - https://www.instagram.com/AltSoftLab
Like AltSoftLab page on Facebook - http://facebook.com/AltSoftLab
Join discussion in Unity forums - http://forum.unity3d.com/threads/335966
Join discussion in AltSoftLab forums - http://www.altsoftlab.com/forums.aspx
Contact us by mail for feedback, bug reports, or suggestions - mailto:AltSoftLab@AltSoftLab.com
Visit www.AltSoftLab.com for more info - http://AltSoftLab.com
As AltSDK is a very complex solution, we decided to create some special forum threads showing a different areas of AltSDK and answering on questions about it. So we added a third special forum thread related to the base subsystem of AltSDK solution - the main graphics layer named AltSketch Graphics - Fast Draw Vector Geometries, Fonts (C# FreeType port), Image I/O, etc. AltSketch Graphics - Fast Draw Vector Geometries, Fonts (C# FreeType port), Image I/O, etc.
You are welcome to look & discuss it!
AltSketch Unity Vector Text Double Path Transform
AltSketch Unity QuickFont
AltSketch Unity OxyPlot
AltSketch Unity AltNETType
What is the (main) difference between AltSDK (Indie), AltSDK (Indie Advanced), AltSDK (Professional)?
All licenses are equals by functionality, but differs by source code opened parts and license agreement.
Commercial organizations and users that represent Companies must purchase Professional license
Small Indie Teams (2-3 developers) can purchase Indie Advanced or Professional - one license for all developers
Indie developers can purchase any license
By opened source code parts:
Indie License has a minimum part of opened source code (all AltSDK Extensions are closed sourced for this license)
Indie Advanced - has many opened source codes (all AltSDK Extensions open sourced for this license)
Professional - the most open sourced part
The core AltSketch and AltGUI assemblies are closed sourced for all licenses.
Read more at AltSoftLab download page
Thanks for this fastest response
You are wellcome with any questions and discussions
As AltSDK is a very complex solution, we decided to create some special forum threads showing a different areas of AltSDK and answering on questions about it. So we added a fourth special forum thread related to interactive GIS functionality of AltSDK solution - GMap.NET & OxyPlot - Interactive GIS, online maps, routing, markers, labels
- UnityUI & NGUI. GMap.NET & OxyPlot - Interactive GIS, online maps, routing, markers, labels
You are welcome to look & discuss it!
AltGUI Unity UI Integration - GMap with UI
AltGUI Unity NGUI Integration - GMap
AltSketch Unity GMap.NET Online Big Map Maker
Did I right understand that all described tools on the top of this thread are just in one asset named AltSDK? Thanks
Yes, all tools are in one asset (and more coming soon) because almost all of them based on common base core API
Ok, it's nice. What are minimum Unity requirements for asset?