Smart Mobile Studio
  • News
  • Forums
  • Download
  • Store
  • Showcases
    • Featured demos
    • The Smart Contest 2013, Round 1 – Graphics
  • Documentation
    • Get the book
    • System requirements
    • Prerequisites
    • Getting started
      • Introduction
      • Application architecture
      • The application object
      • Forms and navigation
      • Message dialogs
      • Themes and styles
    • Project types
      • Visual project
      • Game project
      • Console project
    • Layout manager
    • Networking
      • TW3HttpRequest
      • TW3JSONP
      • Loading files
  • About

Sprite3d converted to Smart

Posted on 23.03.2012 by Jon Lennart Posted in Developers log 2 Comments

I am happy to report that the award winning HTML5 3d system Sprite3d has been converted to Object Pascal and will ship with Smart Mobile Studio. Sprite3d is a fantastic javascript library which allows you to perform advanced 3d transformations on ordinary HTML elements. Since CSS 3d is hardware accelerated both on mobile and desktop browsers -the results often outperform drawing graphics using the canvas object.

As an example of what you can do with Sprite3d have a look at the following demo (written by the Sprite3d author). Keep in mind that this is not webGL It uses nothing but CSS and javascript and all the objects are ordinary DIV tags.

Under Smart Mobile Studio, using Sprite3d to rotate a button in 3d-space is as simple as:

FSprite:=TW3Sprite3d.Create(button1);
try
  FSprite.SetTransformOrigin(button1.Width div 2, button1.height div 2);
  FSprite.RotateY(1.5);
  FSprite.RotateZ(-0.5);
  FSprite.Update3d;
finally
  FSprite.free;
end;

The exciting part is that you can apply these transformations to any Smart control. While it is highly doubtful that a spinning edit-box will be of much use in serious business applications, the effects could be leveraged as a means to add life to otherwise static interfaces (options that scale in/out, drop down lists that rotate on close, buttons that move as a response to touch) – and last but not least, it opens up for some interesting multimedia possibilities.

About the author


Jon Lennart Aasenden is a software architect at Optimale Systemer AS. He is currently the lead developer of Smart Mobile Studio and have been a strong supporter of Delphi and object pascal since the beginning. He is also involved in the evangelizing of object pascal in Norway and is by many called “a Delphi fundamentalist” due to his somewhat radical teaching methods. The views of the author is his own and does not reflect the policy of Optimale Systemer AS.

feature sprite3d sprites
« Getting ready to rumble
Retro demo coded in Smart »

2 thoughts on “Sprite3d converted to Smart”

  1. paul_nicholls says:
    23.03.2012 at 22:59

    That is awesome news! Woo Hoo!

    • Jon Lennart Aasenden says:
      25.03.2012 at 04:30

      Thanks man. I must say i just went “wow” when i saw sprite3d in action. We did a 1-1 conversion of the library and having played with it for a while — it’s awsome 🙂 It does require some reading, but when you are done the sky is the limit. Cant believe so few JS coders have actually taken the time to read the docs. This is a bonus for us Spartans. We are used to large frameworks so this small things is a snap. To follow up on the spartan mythology — the “eternals” wont be so cool after a few rounds in the ring wih the Delphi crew 😉

Comments are closed.

Pages

  • About
  • Feature Matrix
  • Forums
  • News
  • Release History
  • Download
  • Showcases
    • The Smart Contest 2013, Round 1 – Graphics
  • Store
  • Documentation
    • Creating your own controls
    • Debugging, exceptions and error handling
    • Differences between Delphi and Smart
    • Get the book
    • Getting started
      • Introduction
      • Local storage, session storage and global storage
      • Application architecture
      • The application object
      • Forms and navigation
      • Message dialogs
      • pmSmart Box Model
      • Themes and styles
    • Layout manager
    • Networking
      • Loading files
      • TW3HttpRequest
      • TW3JSONP
    • Prerequisites
    • Real data, talking to sqLite
    • System requirements
    • Project types
      • Visual project
      • Game project
      • Console project

Archives

  • December 2019
  • December 2018
  • November 2018
  • July 2018
  • June 2018
  • February 2018
  • September 2017
  • April 2017
  • November 2016
  • October 2016
  • September 2016
  • April 2016
  • March 2016
  • January 2016
  • October 2015
  • September 2015
  • July 2015
  • April 2015
  • January 2015
  • December 2014
  • October 2014
  • September 2014
  • August 2014
  • July 2014
  • June 2014
  • March 2014
  • February 2014
  • January 2014
  • December 2013
  • November 2013
  • October 2013
  • August 2013
  • July 2013
  • June 2013
  • May 2013
  • April 2013
  • March 2013
  • February 2013
  • January 2013
  • December 2012
  • November 2012
  • August 2012
  • July 2012
  • June 2012
  • May 2012
  • April 2012
  • March 2012
  • February 2012
  • January 2012
  • November 2011
  • October 2011
  • September 2011

Categories

  • Announcements (25)
  • Developers log (119)
  • Documentation (26)
  • News (104)
  • News and articles (16)

WordPress

  • Register
  • Log in
  • WordPress

Subscribe

  • Entries (RSS)
  • Comments (RSS)
© Optimale Systemer AS