Java 8 JavaFX 3D Modeling?

Discussion in 'Mac Programming' started by ArtOfWarfare, Mar 14, 2014.

  1. ArtOfWarfare, Mar 14, 2014
    Last edited: Mar 14, 2014

    ArtOfWarfare macrumors 604

    ArtOfWarfare

    Joined:
    Nov 26, 2007
    #1
    I'd like to make a program that takes user input and produces 3D meshes that the user can then interact with.

    I'd like the program to run on OSX and Windows, and maybe Linux, too.

    Java 8 gets released in 4 days and will include JavaFX 2, which includes some 3D capabilities. Does anyone know if I can have the user interact with arbitrary 3D meshes using this?

    Documentation seems scant right now on these features, and everything I can find online just shows basic cubes and spheres. I'm wondering if it's worth investing time in learning how this stuff works or if maybe there's a better route to take. WebGL requires the user to change settings in their browser and doesn't seem to have very good performance.

    Does anyone know how quickly it's likely that people will pick up Java 8? I'm looking to make a 3D architecture program aimed at very non-savvy computer users, so I need to make sure that every portion of the program is trivial to use. (SketchUp is way too complicated for my target users).
     
  2. MorphingDragon, Mar 16, 2014
    Last edited: Mar 16, 2014

    MorphingDragon macrumors 603

    MorphingDragon

    Joined:
    Mar 27, 2009
    Location:
    The World Inbetween
    #2
    Not officially, JavaFX lacks a robust content pipeline. http://www.interactivemesh.org/models/jfx3dimporter.html JavaFX 2 doesn't look like it will change that.

    I'd suggest looking elsewhere TBH, JavaFX isn't aimed at dealing with complex 3D graphics. That's more the domain of game engines and class libraries. JavaFX is more suited to static 2D/3D work.
     
  3. ArtOfWarfare, Mar 16, 2014
    Last edited: Mar 16, 2014

    ArtOfWarfare thread starter macrumors 604

    ArtOfWarfare

    Joined:
    Nov 26, 2007
    #3
    What exactly wouldn't it be able to do?

    I'm looking around and I don't see any ray tracing function built in... But I think I know how to make one myself.

    Question: Do you think using WebGL would reach more people, or Java 8?

    I'm aiming to make my program an extremely fun experience for children as well as an essential tool for certain businesses, so my target audience knows nothing about 3D modeling and isn't computer savvy. I've been sketching out the UI for how to keep this something my users can use without limiting what they can quickly do in it.

    The biggest thing that concerns me is the installation process. People that aren't computer savvy mostly don't update Java, or even have it in the first place.

    But then WebGL has the issue that most people don't have it enabled...

    Maybe I'll look into seeing if Unity can do what I want...

    Edit: nevermind - it looks like Unity can definitely do this. I'll give making my program in Unity a shot.
     
  4. Blakeasd macrumors 6502a

    Joined:
    Dec 29, 2009
  5. ArtOfWarfare thread starter macrumors 604

    ArtOfWarfare

    Joined:
    Nov 26, 2007
    #5
    Why not assembly?

    I don't want to deal with everything OpenGL entails. I want to provide a mesh, textures, and lighting. The last time I looked into OpenGL, I found it required huge amounts of boilerplate code.
     
  6. MorphingDragon macrumors 603

    MorphingDragon

    Joined:
    Mar 27, 2009
    Location:
    The World Inbetween
    #6
    Last time I used JavaFX it lacked quite a few things, the aforementioned content pipeline. A robust linear algebra and computational geometry library. BSP facilities...

    The only thing I would suggest is that you do your interface in a third party library, the Unity GUI library is sub par and in the process of being replaced in the next version. People seldom use the built-in GUI library.

    NGUI is popular and has a free version suitable for trial purposes.

    If you need help just PM me, I can give you my Skype name.
     
  7. 960design macrumors 68020

    Joined:
    Apr 17, 2012
    Location:
    Destin, FL
    #7
    I've experimented with WebGL and found the same, although it does look promising for the future, it's just not quite there yet.

    I've created something similar using Blender Game Engine. Off the top of my head Torque3D comes to mind, although I've never used it to create a GUI front-end that allows the user to 'live' mod the game world like I have in Blender.

    Good luck sounds pretty cool.
     
  8. denniscote, Mar 18, 2014
    Last edited: Mar 19, 2014

    denniscote macrumors newbie

    Joined:
    Jul 19, 2011
    #8
  9. chrono1081 macrumors 604

    chrono1081

    Joined:
    Jan 26, 2008
    Location:
    Isla Nublar
    #9
    Unity is by far the fastest and easiest route.
     
  10. MorphingDragon macrumors 603

    MorphingDragon

    Joined:
    Mar 27, 2009
    Location:
    The World Inbetween
    #10
    Clearly the fastest way is to try use Java for everything.

    ;)
     
  11. ArtOfWarfare thread starter macrumors 604

    ArtOfWarfare

    Joined:
    Nov 26, 2007
    #11
    Yep - I haven't started on this project yet (other things came up) but my plan is to use the TriangleMesh class.
     

Share This Page