Web application framework that suports 3D - webgl

I have an idea to develop a website that would help people to model 3D worlds, use 3D models and so on.
For example, based on my reseach, I could use Unity Framework to create this type of application for PC/MAC.
I am wondering if there are similar frameworks available for pure WEB?
This is my first time looking into this and I do not have any expertize in this topic. Please advise if you have any opinions or expertise in it.

Unity indeed has support for 3d on web, but it requires from user that it has installed Unity player. Users might not like that.
However, with webGL, you would have absolute control over the look and capabilities of your product, users wouldn't have to install anything new, it would all be pure web and only IE users would be damaged, because IE still doesn't have full support for webGL.
To develop with webGL you can do it from scratch, or you could use some of the existing libraries/3D engines that would speed up your work and give results much faster.
Here's a list of webGL engines: http://ffwd.typepad.com/blog/2011/04/webgl-what-flavor-is-your-engine.html, it seems that most used are Three.js, Scene.js and there is also Goo Engine (http://www.gooengine.com/).
Hope this helps.

Check out 3DTin, it does seem to deliver a part of what you want to build, using WebGL:
http://www.3dtin.com/

Related

A-Frame: FOSS Options for widely supported, markerless AR?

A-Frame's immersive-ar functionality will work on some Android devices I've tested with, but I haven't had success with iOS.
It is possible to use an A-Frame scene for markerless AR on iOS using a commercial external library. Example: this demo from Zapworks using their A-Frame SDK. https://zappar-xr.github.io/aframe-example-instant-tracking-3d-model/
The tracking seems to be no where near as good as A-Frame's hit test demo (https://github.com/stspanho/aframe-hit-test), but it does seem to work on virtually any device and browser I've tried, and it is good enough for the intended purpose.
I would be more than happy to fallback to lower quality AR mode in order to have AR at all in devices that don't support immersive-ar in browser. I have not been able to find an A-Frame compatible solution for using only free/open source components for doing this, only commercial products like Zapworks and 8th Wall.
Is there a free / open source plugin for A-Frame that allows a scene to be rendered with markerless AR across a very broad range of devices, similar to Zapworks?
I ended up rolling my own solution which wasn't complete, but good enough for the project. Strictly speaking, there's three problems to overcome with getting a markerless AR experience on mobile without relying on WebXR:
Webcam display
Orientation
Position
Webcam display is fairly trivial to implement in HTML5 without any libraries.
Orientation is already handled nicely by A-FRAME's "magic window" functionality, including on iOS.
Position was tricky and I wasn't able to solve it. I attempted to use the FULLTILT library's accelerometer functions, and even using the readings with gravity filtered out I wasn't able to get a high enough level of accuracy. (It happened that this particular project did not need it)

How to start with Augmented reality to create my own framework (Not AR App)

I have been working Augmented Reality for quite a few months. I have used third party tools like Unity/Vuforia to create augmented reality applications for android.
I would like to create my own framework in which I will create my own AR apps. Can someone guide me to right tutorials/links to achieve my target. On a higher level, my plan is to create an application which can recognize multiple markers and match it with cloud stored models.
That seems like a massive undertaking: model recognition is not an easy task. I recommend looking at OpenCV (which has some standard algorithms you can use as a starting point) and then looking at a good computer vision book (e.g., Richard Szeliski's book or Hartley and Zisserman).
But you are going to run into a host of practical problems. Consider that systems like Vuforia provide camera calibration data for most Android devices, and it's hard to do computer vision without it. Then, of course, there's efficiently managing the whole pipeline which (again) companies like Qualcomm and Metaio invest huge amounts of $$ in.
I'm working on a project that does framemarker tracking and I've started exporting bits of it out to a project I'm calling OpenAR. Right now I'm in the process of pulling out unpublishable pieces and making Vuforia and the OpenCV versions of marker tracking interchangeable. You're certainly welcome to check out the work as it progresses. You can see videos of some of the early work on my YouTube channel.
The hard work is improving performance to be as good as Vuforia.

Is Adobe Flash Builder 4.5 good enough for cross platform applications

I am planning to develop a outlook based app for cross platforms(iPhone,blackberry playbook and andriod).I recently heard about the adobe flash builder 4.5.1 update to support these platforms using flex framework and action script. I would like to know the hidden pros and cons of this tool in developing cross platform apps.
Few Queries:
Is it compatible with iOS5?
Is it giving exact native look across platforms?
Is it fast and responsive for touch based events?
Can we include any third party sdk's into flash builder project like 3D openGL and external libraries?
Does it have all UI Controls support for all platforms?
Any challenge or hidden disadvantages apart from the above queries are highly appreciated...
Thanks in advance...
My company is developing cross-platform business apps in Flex and found that the performance is good enough for our purposes. I would imagine an email app would be the same, but if you are trying to do streaming or voice quality, I suspect you might want to write to the hardware layer.
Flex does a pretty good job at supporting native look and feel, but you need to think about/design and structure your app up front (ie. does the gestures in your app design match the feel of those environments). If you don't design for it, it won't happen.
By and large having one code base will reap you large benefits. But if you've not written cross platform applications before (linux/Windows/Unix/Mac, etc), you might find more of a learning curve in your thought process and design process.

Can the UDK be used for non-game projects?

This is a pretty basic question. I am wondering if the Unreal Development Kit can be used for something other than games, specifically a light show simulator and editor. The site says:
Unreal Engine 3 has been used by game developers, researchers, television studios, machinima directors, artists and students. If you have an idea that needs to be brought to life in a game engine, UDK is for you.
But I have the feeling that it is more game oriented. For my hobby project, I would like to be able to create light show simulations with rotating/moving lasers/lights of changing color, synchronized to sound/music. I would also like to develop an GUI editor for this, preferably in C#, but if it's not possible to access the rendering functionality of the engine from C#, then C++/Qt should suffice. The editor would be used to design the simulation, which would then be rendered/played out in real time.
I guess my base, general question is: can the Unreal Development Kit be used for something like this, not necessarily game related? Or should I go with my original option of Ogre3D, which just focuses on rendering and 3D graphics as far as I know.
EDIT: Just saw this page which again mentions:
Can I create any kind of game with UDK?
Absolutely. UDK is the perfect solution for any kind of virtual world you wish to create, from racing games to simulations.
So my question is now simply: Would I be able to access the renderer or other functionality of my resulting code to integrate it into an editor for my simulator? I guess a simpler, more relatable analogy would be, if I wrote a game, would I be able to write my own level/character/etc. editor for it? And how would I do so? Yes, I know that the UDK comes with editors already, but I mean if I want to make my own.
Thanks! I appreciate any answers :)
The UDK only permits you to play with script (Unreal Script) and not with native code (c++). So more complicated projects or integrations are very difficult without the full c++ source code. But if you will re-use the editor (UnrealED) for your project and make you simulation based upon unreal you can do it.
I'm pretty well oriented in what Unreal Engine can do, and answer to your question is yes and no ;)
Yes, you can create your own actors that will be rotating/moving and emitting light. But won't be able to create your own custom editor around UE's rendered. Frankly I don't see why you would need one - Unreal Editor has all the tools needed to design and execute light show simulation (and much more) - all you need to do is to get familiar with those tools.
One thing you could do in external editor (except, of course, for textures, sounds, models, etc) is create some custom setup in saved to text files, and later read in those files in unreal script - it allows it.
"I guess a simpler, more relatable analogy would be, if I wrote a game, would I be able to write my own level/character/etc. editor for it?"
Yes, you can make your own characters and maps. You shouldn't have any need to make your own editor though, the given editor should be enough.
Although you might not have access to the C++ source code, there is a lot that can be done using Unrealscript. Check out all the entries to the Make Something Unreal contest, they were all done using tools available in the UDK.

What web application framework should I use for a web gallery?

I need to create a photo gallery for a website running IIS 4.0 or IIS 5.0 (im not sure which). It needs to display a low resolution version of the gallery to anyone, and it must show both the low and high resolution images for "priviledged" users. So I need access priviledges, photo albums and once the site is complete, the person I am doing this for needs to be able to upload their own images to the gallery. It also needs to have a minimal interface as it needs to be integrated into an existing website.
So I need some advice on this with the direction I should approach it.
Does anyone know if their is a customisable gallery out there that can do something like this, such as Coppermine or Jgallery or something. The alternative is to use a web framework like Ruby on Rails, CodeIgniter or Sproutcore (each which require learning a new language). The framework would be more work, but the existing galleries may not be customisable enough. The important bit is the user privileges in an admin panel.
I am relatively new to "web programming", although not new to normal/games programming. I have a few years experience with C/C++ OpenGL and Java. I have also read up on MVC etc, and did hello world with sproutcore, so I kinda get the idea. Although learning a framework is a much heavier investment.
What are your thoughts?
If you don't want to re-invent the wheel you could use Gallery2 (requirements here). It runs on IIS -- you'd just need PHP and a database. It's very configurable (including user accounts), has lots of plugins, and its open source if that's not enough. Also, the development and support communities are large and active.
you could always go the route of Dotnetnuke and then use Ventrian's Simple Gallery module (http://www.ventrian.com/Products/Modules/SimpleGallery/Demo.aspx)
Using DNN offers a ton of functionality, including the security you need, and it would save you from doing any web development.
If you are a bit more adventurous, try Smaltalk based Aida/Web and specially Aida/Scribo CMS (currently still in beta), which include Gallery so called scriblet as well. Scribo scriblets are otherwise web components which you can include directly into a text. You therefore add a gallery directly into a surronding text. See for instance a presentation as a Gallery for example.
I would recommend my own but... If it weren't for the low/high resolution thing with permissions I think it would fit the rest of your needs. I'm going to leave a link just in case you want to take a look at it:
nzFotolog
It's also open-source (although the license is not the best) and you can change it at will if you want. The code itself is clean and self-explanatory. The downside is that I haven't developed it for some time now :(
Having faced a similar dilemma myself I have to say that I found Gallery2 and Coppermine both far too all-encompassing and difficult to customise to the degree I would have wished. I ended up rolling my own using straight, procedural PHP with various bits of jQuery for the GUI fancy bits. At the same time I was able to bake in some e-commerce and data gathering for my wedding photography clients, ending up with something which exactly matched my needs. Certainly, the gallery aspects of this project were, for a complete programming (although not HTML) neophyte, the least challenging - it's exactly the sort of thing PHP is made for.
I'm now taking my first faltering steps with CodeIgniter for my next project (photoblogging software) and I can already see that the framework would make a gallery project very quick, simple and secure.
Flickr.com and their API may be suitable from what you described.
http://www.flickr.com/services/api/

Resources