Page 1 of 4 123 ... LastLast
Results 1 to 10 of 33

Thread: Asphyre Sphinx 3.0.0 has been released.

  1. #1

    Post Asphyre Sphinx 3.0.0 has been released.

    As the title says, we now have Asphyre Sphinx 3.

    Some new features are:

    • Delphi versions from 2006 to XE 2 (and later) are fully supported.
    • FreePascal/Lazarus (latest version) is fully supported.
    • Platforms supported: 32-bit and 64-bit Windows, 32-bit and 64-bit Linux and Mac OS X.
    • On Windows you can use DirectX 7, DirectX 9 (with automatic switching between Direct3D 9 and Direct3D 9 Ex depending on OS support), DirectX 10 (with automatic switching between Direct3D 10.0, Direct3D 10.1 and Windows WARP software device depending on hardware, and OS support).
    • Brand new OpenGL provider for all platforms that uses OpenGL 2.1 features with programmable pipeline. Legacy support for OpenGL 1.2 is provided in additional renderer.
    • WYSIWYG GUI works across all platforms.
    • Many features from previous releases are, of course, still available too.


    However, FireMonkey and DirectX 11 providers are not available for this release yet. They will be provided later as optional add-ons. OpenGL ES providers on iOS and Android platforms for the current release will also be available in the future. (Meanwhile, you can keep using Asphyre Sphinx 2, if you need to target iOS right now - you won't need to modify your code much to use Asphyre Sphinx 3).

    Please note that Asphyre tools have not been ported to other platforms yet. Meanwhile, you can use Wine for Linux, Fusion or Parallels for Mac OS X to execute Asphyre tools until they are ported. Fonts and images created by Asphyre tools can be used along with ASVF compressed/encrypted archives on any platform without limitations.

    You can visit Asphyre Sphinx 3 web page for more information and download links, or update everything from Asphyre SVN.

  2. #2
    When you talk about FireMonkey which version of Firemonkey are you refering? The old one introduced with DelphiXE2 which is compatible with FreePascal or Firemonkey 2 which will be introduced with Delphi XE3 and is no longer compatible with FreePascal?

  3. #3
    Quote Originally Posted by SilverWarior View Post
    When you talk about FireMonkey which version of Firemonkey are you refering? The old one introduced with DelphiXE2 which is compatible with FreePascal or Firemonkey 2 which will be introduced with Delphi XE3 and is no longer compatible with FreePascal?
    The problem would be maintaining FireMonkey providers for both XE2 and XE3, which will roughly result in 6 different providers. Actually, providers from Asphyre Sphinx 2 can be used with Asphyre Sphinx 3 (you just have to remove rasterizer declaration from the provider), so technically XE 2 FireMonkey support including iOS can be used here. In any case, once Delphi XE 3 is released (hopefully pretty soon), we'll have a better picture of what to support and how.

    The objective was to reduce number of providers to simplify maintenance: this is the reason why two DirectX 9 and two DirectX 10 providers were merged together, another reason was to support earlier versions of Delphi with DirectX 10+. Actually, the idea was to support DirectX 10 in FreePascal/Lazarus as well and it should technically work, except that DirectX 10 headers have some issues that I still haven't resolved.

  4. #4
    Cool! Finally one more great Pascal library got an real cross-platfom, I will definitely take a look how it works under GNU/Linux

  5. #5
    Lifepower as you say Freepascal/Lazarus you mean 32/64 Windows 32/64 Linux and MacOsX.... ?

  6. #6
    • Platforms supported: 32-bit and 64-bit Windows, 32-bit and 64-bit Linux and Mac OS X.
    Finally Linux support. I'll have to try it this evening. Thanks in advance for that!
    Best regards,
    Cybermonkey

  7. #7
    Quote Originally Posted by azrael11 View Post
    Lifepower as you say Freepascal/Lazarus you mean 32/64 Windows 32/64 Linux and MacOsX.... ?
    Yes. Examples on Windows have been precompiled in 32-bit, but on Linux they have been precompiled in 64-bit.

    Linux support relies on TOpenGLControl from Lazarus components for creating GLX context. This means that multisampling settings don't work there yet and there could be some key weirdness when using GUI interfaces. The problem was that I couldn't find a way to extract X-window ID from Lazarus window handle to use proper GLX device. If someone knows how to do that, I can implement direct OpenGL context creation in native fashion.

  8. #8
    The problem was that I couldn't find a way to extract X-window ID from Lazarus window handle to use proper GLX device. If someone knows how to do that, I can implement direct OpenGL context creation in native fashion.
    For ZenGL I use this solution(but works only with GTK version of LCL, I didn't try to use Qt version of Lazarus, so ):
    Code:
    uses
      {$IFDEF LINUX}
      {$IFDEF LCLGTK}
      GLib, GTK, GDK,
      {$ENDIF}
      {$IFDEF LCLGTK2}
      GLib2, GTK2, GDK2, GDK2x,
      {$ENDIF}
      {$ENDIF}
    
    // ..
    
    {$IFDEF LINUX}
    var
      widget : PGtkWidget;
      socket : PGtkWidget;
      glist : PGlist;
    {$ENDIF}
    begin
      {$IFDEF LINUX}
      glist := gtk_container_children( GTK_CONTAINER( PGtkWidget( Panel1.Handle ) ) );
      widget := PGtkWidget( glist.data );
      socket := gtk_socket_new();
      gtk_container_add( GTK_CONTAINER( widget ), socket );
    
      gtk_widget_show( socket );
      gtk_widget_show( widget );
    
      gtk_widget_realize( socket );
      {$IFDEF LCLGTK}
      YourTWindow := PGdkWindowPrivate( widget.window ).xwindow;
      {$ENDIF}
      {$IFDEF LCLGTK2}
      YourTWindow := GDK_WINDOW_XID( widget.window );
      {$ENDIF}
      {$ENDIF}
    Last edited by Andru; 29-08-2012 at 02:55 PM.

  9. #9
    Andru, thanks a lot for this! I'm going to try using it.

  10. #10
    So far GNU/Linux version works fine But demos can't be compiled out of the box. First of all - path like /Develop/Asphyre... are you serious? GNU/Linux is not a MacOS X Better to use relative paths, or ask programmers to move Asphyre source code into home directory and use paths like $Env(HOME)/Asphyre, where is $Env(HOME) is a standard macros supported by Lazarus. Also I didn't notice dependency to LazOpenGLContext package(adding it manually solves the problem), which is needed for compilation.

Page 1 of 4 123 ... LastLast

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •