3D platforms - OpenGL Vs DirectX?

  1. 3 months ago

    Neil B

    Mar 23 Pre-Release Testers
    Edited 3 months ago

    Hi,

    I've been using SketchUp as a platform to develop an app that I'm selling. Unfortunately requiring my customers to install SketchUp for $700 is sometimes a deal breaker. I've been exploring other platforms and have ruled out Unity. I spent a few hours this week and did a proof of concept using C#/WPF (shown below). That doesn't seem like the right solution because it only has the ability to draw triangle meshes, no lines. I thought OpenGL might be an option, but I have no experience with it.

    Does anyone here have experience with openGL? Would OpenGL be feasible for this? I looked at the Graphis>openGL>fluids example but have no idea where to start. How can I create a simple box model and implement orbit and zoom with mouse?

    -image-

    And the sample project (NOT XOJO - thats why i added the off topic tag)

    https://www.dropbox.com/s/sn6rom6s1i8ym9j/3DTest.zip?raw=1

    Well for this project anyway It's going to need to be windows only. I think WPF 3D will be the answer. It looks like lines need to be drawn as square tubes using 8 triangles per line segment.

    -image-

  2. Julian S

    Mar 23 Pre-Release Testers, Xojo Pro UK
    Edited 3 months ago

    http://scispec.ca/index.php/books/31-program-opengl-32-bits-on-windows-and-osx
    and
    http://www.xojo3d.com/
    I've not tried either, just FYI :)

  3. Neil B

    Mar 23 Pre-Release Testers

    Thanks.

    It looks like that is what I need to get started.

  4. Neil B

    Mar 23 Pre-Release Testers

    I think I've found my answer.

    https://github.com/helix-toolkit/helix-toolkit

  5. Sam R

    Mar 23 Pre-Release Testers, Xojo Pro Hengchun, Pingtung, Taiwan

    I wouldn't recommend OpenGL for Apple platforms; Apple have very clearly defined that they don't want apps to use OpenGL on their systems, rather their own Metal & Metal 2 API. Metal is not currently supported within Xojo.

    Personally; I would look for an x-plat 3D toolkit, you've ruled out Unity, but something like that basically.

    OpenGL and Metal are both very powerful, but you're provided with the most basic of tools, you'll need to learn to do a lot before you can do anything.

  6. Emile S

    Mar 24 Europe (France, Strasbourg)

    How was Object3D before its removal from Xojo ?

  7. Sam R

    Mar 24 Pre-Release Testers, Xojo Pro Hengchun, Pingtung, Taiwan

    @Emile S How was Object3D before its removal from Xojo ?

    It used QuickDraw 3D, and while it wasn't the 'best' it was great in the way that it made it easy and it worked on Windows (with a dll).

  8. Neil B

    Mar 24 Pre-Release Testers

    @Sam Rowlands Apple have very clearly defined that they don't want apps to use OpenGL on their systems, rather their own Metal & Metal 2 API. Metal is not currently supported within Xojo.

    Personally; I would look for an x-plat 3D toolkit, you've ruled out Unity, but something like that basically.

    SketchUp uses OpenGL on windows and Mac. For web WebGL is the only option so it seems some of the investment could be reused.

    I don't know anything about Metal API, Vulkan , or even OpenGL for that matter. It looks like Mac supports at least OpenGL version 3.3 on it's devices. https://support.apple.com/en-us/HT202823
    It might be different if I'd be building a gaming app. My app is really a business app with a need to render buildings for presentation to customers.

  9. Neil B

    Mar 24 Pre-Release Testers

    Actually upon investigation the Helix-Tools uses DirectX not OpenGL.

  10. Ulrich B

    Mar 24 Pre-Release Testers, Xojo Pro Europe (Germany, Berlin) · xo...

    I’ve been asked to put my SceneKit implementation from AppleLib which currently is in no good shape into usable modules for macOS & iOS. Anyway, this would only be an Apple solution and declaring into MS frameworks frightens me ;)

    Is there a DirectX expert here who sees any chance of aligning both frameworks? SceneKit is very high-level and easy to use, but I don’t know about the DirectX metaphors.
    And what is the state of art under Linux?

  11. Michael D

    Mar 26 Pre-Release Testers, Xojo Pro

    @Sam R I wouldn't recommend OpenGL for Apple platforms; Apple have very clearly defined that they don't want apps to use OpenGL on their systems, rather their own Metal & Metal 2 API. Metal is not currently supported within Xojo.

    Any thoughts about WebGL then? I get the feeling that the big ones (Apple, Microsoft, Google) may not love OpenGL, but they all seem to be grudgingly improving their WebGL support in their flagship browsers (Safari, Edge, Chrome).

    Would hitching one's horse to the WebGL bandwagon be a bad idea?

  12. Sam R

    Mar 26 Pre-Release Testers, Xojo Pro Hengchun, Pingtung, Taiwan

    @Michael D Would hitching one's horse to the WebGL bandwagon be a bad idea?

    TBH, I don't know, I've never used it.

    All I can tell you is that since the introducing of Metal, OpenGL development has languished (not that I really knew how it was before). The HIgh Sierra DP had 4 different bugs in the GLContext, 3 got fixed for release and the 4th I've found a workaround for.

    Metal v1.0 didn't really show any advantages, so I ignored it. Metal 2 however is very promising in terms of performance (in my own tests). After the bugs in High Sierra and M2 being faster than M1, I've finally adopted it for my forthcoming app.

    I would suggest that you take some time out and experiment with WebGL, I wouldn't normally recommend trying to do 3D processing in an HTMLview, but needs must and if it can be done there (with acceptable performance) it might just be the x-plat way to do it.

  13. Alwyn B

    Mar 26 Pre-Release Testers, Xojo Pro Johannesburg, South Africa
    Edited 3 months ago

    @Michael D Any thoughts about WebGL then?

    I've dabbled a bit with WebGL. It is well designed and definitely capable of serious 3D rendering. The biggest difference between the way 3D graphics is rendered with Xojo using OpenGL vs WebGL, is that with WebGL everything is done with shaders.

    Shaders seems to be the more modern way to develop 3D/parallel processing applications?

  14. Ulrich B

    Mar 27 Pre-Release Testers, Xojo Pro Europe (Germany, Berlin) · xo...

    I don't want to hijack this thread, because obviously SceneKit is not really xplatform.
    Anyway, as some here liked the announcement and SceneKit for Xojo macOS is in an early Alpha, looking very promising: Metal is supported, 60 Hz on Retina screens are possible and you can even import .scn files made with XCode.
    I could need help by one or two daring prerelease testers. If you are interested, send me a PM please.

    -image-

  15. Ulrich B

    Mar 27 Pre-Release Testers, Xojo Pro Europe (Germany, Berlin) · xo...
    Edited 3 months ago

    @Alwyn B I've dabbled a bit with WebGL. It is well designed and definitely capable of serious 3D rendering.

    Alain once built a framework around WebGL: https://forum.xojo.com/16120-abxplay-webgl-html5-canvas-progress-update-6-spritesheets-and-s/0
    Now that he abandoned Xojo, I don’t know about the state of the project. Maybe it could be resurrected?

  16. Neil B

    Mar 29 Pre-Release Testers Answer

    Well for this project anyway It's going to need to be windows only. I think WPF 3D will be the answer. It looks like lines need to be drawn as square tubes using 8 triangles per line segment.

    -image-

  17. Tim J

    Mar 29 Pre-Release Testers, Xojo Pro Phoenix, AZ USA (desication ce...

    @Ulrich B -image-

    Project Spark for Mac OS!!!

or Sign Up to reply!