Apparently, there is a way to add C# XNA projects to websites such that they can be viewed on the site from a normal web browser, presumably there are concessions to safety that the browser will enforce.
How is this done?
edit: I think the C# project might only ever runs on the server, the client being sent something it can understand.
There is http://jsil.org which will convert a compiled .Net application into a client side Javascript "app" ... and has been demonstrated to work rather successfully on XNA games.
It only handles 2D stuff and sound is / was needing to manually rewritten last time I checked but it does a pretty impressive job from what I've seen of it.
It should be noted that whilst this may get the job done, it's certainly not going to produce JS that is anywhere near the quality (i.e. maintainability) of a game that was written in JS from the start (using something like three.js or easle.js)... so if this for a commercial product, you may wish to explore rewriting / porting the game specifically for web as a serious alternative.
This isn't possible without a plugin. The plugin would work only on Windows, obviously, since XNA is built on DirectX.
There's no plugin that currently does this, to my knowledge.
It's not difficult to write a plugin, however, you'd have to do this for each browser you want the plugin to run in.
If you want your game content on the web, a better route is probably HTML5 and its Canvas functionality, which works on all modern browsers. You might be interested in this article, which discusses porting a 2D XNA game to HTML5 Canvas.
If you need 3D support, you could go the HTML5 WebGL route, although Internet Explorer doesn't support it.
Probably what you want is Google Native Client (NaCl). I haven't played with it (yet), but as far as I know, some game engines like Unity works on it.
Hope it helps.
Related
I have no idea at all about the 3D Visualization ,and i want to create an application ,the application idea depends totally on the 3D structure .
I'll do my best to clarify my question to avoid considering it vague .
The main goal of my application is the (navigation) part in 3D environment .I want to upload maps of a specific area and the application allow to guide the user to its destination.(real time 3d rendering).
The application should work on kiosk ,smart phones and on web.(multiple platforms).
The following video clarify what i want to do exactly :
3D wayfinder
Now I want to know a start point to begin without reinventing the wheel,if there are some frameworks should i learn about first?
I'm a.net developer(asp.net) and i begin to learn CMS (Joomla),so it 'll be great to find APIs or frameworks near to this area to achieve my goal as soon as possible.
From requirements you specified, I would like to advice to look at Unity3D.
Unity3D will help to develop application which will work on almost all major platforms including kiosk, smart phones and on web.
You can develop using C# language which should be familiar to you.
There are number of projects which aims similar goal as rendering 3D map. There are "Google Maps for Unity" plugin and I can advise to look at Displaying Maps in Unity3D post.
Unity can be integrated to Joomla if necessary
Another option would be to build the front-end of the app using HTML5 and do the 3D using Three.js http://threejs.org/
Your back-end could serve up the map and navigation data to the front-end and you render everything in the browser or in your HTML5 smartphone app. If you need to update information in your visualization or load a new location dynamically, this can be done with a simple AJAX call and your callback would add the new info into your Three.js scene.
Forget about what others suggest you in regards to looking at 3D frameworks. Mapping and navigation is a complexity of it's own - 3D frameworks like unity will give you 3D. But they won't give you GIS. Depending on your requirements, you could check Micello for 2D mapping and Deep Map for mobile 3D mapping (http://www.deep-map.com/en). They also help you with creating the maps - which is something you should consider for beforementioned reasons.
You can use OpenCV library in C# for image processing and get help from HTML5 and AJAX .
Try X3DOM. Its a programming language that can be used in applications, web browsers, and much more. And the language is ALOT like HTML and JavaScript. In fact, you can use JavaScript and HTML to access the 3D space in X3DOM.
The website for this language is: x3dom.org
I've been running around the web for a while now looking for a solution to this problem, but I'm quite disheartened by now to find something that will fit all of my requirements. So here goes.
I'm trying to build a desktop application that uses the Kinect for Windows sensor to control a visualization of digital library (as in, the place you go to for books) assets. I'm quite versed in using the official MS Kinect SDK and already have a neat utility framework for prototyping at hand, so I'd obviously love to make use of it. This plus the desktop app theme of things says the whole shebang will need to be in C#, which is fine by me.
On the other hand, the visualization part already exists and looks gorgeous, but it's JavaScript (and specifically, JIT i.e. javascript infovis toolkit). It has all the bells and whistles I need and it's neatly animated. Also, I'm a noob at JavaScript.
The point is, how do I avoid rewriting either one into the other's language while still allowing them to talk at runtime?
So, do you know any way to either
A) embed a JIT visualization (e.g. radial tree visualization) in a windows application in a way that allows me to manipulate the graph at runtime from a C# class (e.g. selecting a new node to be animated into focus) or
B) send C# events to JS to react to gesture input at runtime? Is this something ASP.NET can do?
I have a feeling the result will be a weird mix of desktop and web technology, but any pointers to the right sort of technology is greatly appreciated.
Maybe you should look at this projects about using Kinect with JavaScript:
http://research.microsoft.com/en-us/projects/kinectedbrowser/
http://kinesis.io/
I've been attempting to bring some of my XNA games to the web with Silversprite. However, whenever I run these apps they appear as a white screen.
I am wondering if anyone has any idea on how this might be fixed.
I have followed the tutorials exactly (except replacing the XNA apps they used with my own). Nothing is working.
Has anyone figured a way around this?
Use ExEn instead of Silversprite.
http://exen.codeplex.com
ExEn is a high-performance implementation of a subset of the XNA API that runs on Silverlight, iOS and Android.
It's production ready.
Here are some samples:
My samples (if you want, I can upload you the source code):
Pacman: http://vackup.blogspot.com.ar/2011/09/xna-3-pacman-ported-to-silverlight.html
Pong: http://www.mylittlebets.com/Pong/TestPage.html
From ExEn creator:
http://andrewrussell.net/2011/02/exen-home-stretch-y-arms/
http://andrewrussell.net/lightblocks/
Which technology to choose, that gives me the possibility to draw a 3d human in browser, with tricks like move the body with mouse, with less cpu use.
Thank in advance.
Silverlight 4 is not as competent in 3d rendering as Flash is.
Having said that, Silverlight 5 will have greater support for 3d thanks to its XNA integration
EDIT: It seems I was rather fast to judge - the official 3d support fo flash (aka molehill) is still under incubation, but flash still has some impressive community-based libraries for 3d still making it (IMO) the more mature solution (Add to that it's larger cross-platform and user support).
This depends on what is a target market of your program.
Silverlight: is C#, 3D modelling is possible, there is even port of Silverlight of Mono MoonLight, but basically yuo should consider that your clients in this case will be Windows OS owners, and considering a OSes destribution information from Os destribution worldwide, you're on winner train.
So looking on your tags: C#, I would say go for Silverlight.
There is another really good product for 3D in browsing, like WebGL, but it's currently not supported of IE, for security concerns, which doesn't mean that will not be supported in future, but.. you know, for now it's not. Here is explanation: Microsoft not going to support WebGL. If you are ready to say "no" to IE (at least for now), it's a good choice.
So for now, I personally, would suggest to use Silverlight 3D. Just google "Silbverlight 3D samples" and you will be given plenty of samples available on inetrnet.
EDIT
Good comparing article on CodeProject
Hope this helps.
Regards.
Flash doesn't really have 3D graphics support, although there are a couple of libraries available. Silverlight also doesn't do 3D. So, really, the answer is "none of the above work all that well."
If you're willing to force your clients to use a current browser, you can use HTML5 and WebGL to render 3D objects without too much trouble.
I am not able to apply 3D effects on WPF's built-in WebBrowser, because it is just a thin wrapper around the native ActiveX-Webbrowser, which isn't based on WPF. I saw most of the places people suggested about one Link ,but I m not able to make it work in my application and it is having so many dlls which I don't want. Can anybody suggest me any other good alternative solution present then?
Maybe you forget to copy the needed awesomium.dll & AwesomiumProcess.exe with your executing assembly (which are not .Net assemblies).
I also have some difficulties to run with awesomium but it's not impossible.
I can recommand you the Troymium/TroymiumNet which is actively maintain by its developers.
I use it on Microsoft Surface to connect people to their facebook account.
I've never used it, but you could try Berkelium with berkelium-sharp.