Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I would like to develop a bit of functionality for a web site that involves a bit of 3D - the user can move around objects, rotate them and texture them.

So far I've looked into:

  • WebGL (in particular three.js) and it looks great, but it's not supported in IE nor IOS.

  • IOS supports the <canvas> tag, but only 2d. It looks like three.js has an unsupported hack to make a 3d thing use the 2d canvas instead without textures, but this looks like a hack.

  • I also considered resorting to Flash which works on most browsers, but that won't work on IOS.

What's my best option for doing 3d web graphics on the vast array of browsers and interfaces?

At the moment I'm thinking WebGL for web (and ask people to use chrome or firefox, and take the hit on IE) and then maybe write a native app for IOS, but I am not sure if there are better alternatives available that I don't know of.

share|improve this question
    
I would like to know why this question was voted down and how I can fix it, I think it's a very helpful question and suits the q and a format. –  LachlanB Feb 15 '13 at 6:01
4  
I'm not asking what technology is better.. I'm asking what will work on the highest majority of cases for 3d stuff. –  LachlanB Feb 15 '13 at 9:32
3  
Voting to reopen. LachlanB, its 'best' not to use words such as 'best' in questions. But otherwise I think its a reasonably answerable question. You might reword it to something like 'which technology would be usable on the most browsers'. –  GrandmasterB Feb 15 '13 at 16:57
1  
@LachlanB I've made an edit to your question to try and clarify that you are not asking for the "best" technology to use, but rather for the most cross-compatible technology for 3d graphics on webpages. I've voted to reopen the question, but it still needs 3 other community votes to get reopened. If it doesn't get the attention it needs to get reopened in a few days, you can also try flagging it for a moderator, and ask them to reopen the question (Be sure you explain it's been edited in the flag message). Good luck with it :) –  Rachel Feb 15 '13 at 18:07
3  
There is no right answer. It should be closed. A tool could be right for one project and not another. This isn't how you ask this question. GO investigate different libraries, and then come back and ask specific questions. If you asked if feature XXX was supported on all browsers, then there is a right answer. –  Mathew Foscarini Feb 16 '13 at 2:42

3 Answers 3

There is no, and likely never will be any approach that is cross browser and cross system when one considers multiple mobile (phone size and tablet size) operating systems and browsers out there for desktop systems.

To that extent, there is no answer that can be given that will be the right answer - there are pros and cons to each approach.

The best/most cross-browses metric is also one that is poorly defined. Is it raw page hits by browser type? Is it sheer number of browsers out there? or does it take into consideration the browsing habits of people on the different systems? Are certain geographies to be prioritized higher than others?

You mention WebGL - but thats not well supported on android either - does this mean an android version should be considered too? Flash is likewise an 'interesting' framework to target when looking at mobile devices.

A common approach undertaken by businesses is to make a spreadsheet - list the criteria and weight each criteria. If browsing numbers are key, weight that. If ease of use of the framework is key, weight it that way, if variety of current browsers, etc...

Once you identify the frameworks and weights, research each one and toss in a number (0 - 10) in each of the cells for that framework and see which one comes out to be the 'best'.

Outside of that, business decisions are best made by the person responsible for them and taking the risks. Asking random people on the internet to make them for you can be problematic - we aren't aware of all of the factors that are being considered for a particular solution set (the time, the resources).

share|improve this answer

I've had some luck in the past using this: https://code.google.com/p/jsc3d/ It worked on everything i tried on, i just had to change some javascript to make it interactive with mobile devices but i think now they took my changes and it should work for touch events.

That rendered with Chrome, Safari, Firefox, IE<9, IE>=9, Android Phone, Android Tablet, iPad, iPhone.

However performance is poor. But its cool i created a model in google sketchup, exported the obj file and then rendered it multiplatform with textures.

share|improve this answer
    
Tool recommendation questions are off topic at Programmers.SE. Answering off topic questions, even with correct information, will give question posters incentive to ask off topic questions. –  Adam Zuckerman May 29 at 16:40

Unity has a huge array of platforms that it supports (browsers, flash, and iOS included). http://unity3d.com/unity/multiplatform/

share|improve this answer
    
how does this answer the question asked? –  gnat Oct 10 '13 at 11:22

protected by gnat May 29 at 16:23

Thank you for your interest in this question. Because it has attracted low-quality answers, posting an answer now requires 10 reputation on this site.

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged or ask your own question.