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.
Related
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.
So it has been a while since I have done any game programming in C#, but I have had a recent bug to get back into it, and I wanted some opinions on what configuration I should use.
I wanted to use C# as that is what I use for work, and have become vary familiar with. I have worked with both DirectX and OpenGL in the past, but mostly in 3D, but now I am interested in writing a 2D game with all vector graphics, something that resembles the look of Geometry Wars or the old Star Wars arcade game.
Key points I am interested in:
• Ease of use/implementation.
• Easy on memory. (I plan on having a lot going on at once)
• Looks good, I don't want curve to look pixelated.
• Maybe some nice effects like glow or particle.
I am open to any and all suggestions, maybe even something I have not thought of...
Thanks in advance!
If you're just starting out again and already have a C# background, why not try XNA? You'll definitely be able to leverage your C# skills here
http://creators.xna.com
http://creators.xna.com/en-US/downloads
I use SlimDX for C# graphics programming and I prefer it to XNA.
http://slimdx.org/
TBH it doesn't really matter what you use. OpenGL, SlimDX, or XNA. They'll all be about as complex (or not as the case may be) as each other.
You might consider using the Axiom engine, which is a C# port of Ogre3D. It's enough higher level that you can have it render your graphics via XNA or OpenGL with little or no change to your code. It can also handle keyboard and mouse input (which are normally separate -- e.g., via DirectInput on Windows or SDL on Linux).
You also might consider using TAO Framework which is OpenGL based and quite nice. But you have to write the 2D Engine all by yourself tho. It also works on Mono!
I create my OpenGL engine with a C# wrapper because I like C# a lot too. Sadly managed languages are very slow when it comes to graphics and that's why I always make my OpenGL part in C++, compile it as a DLL and get it from C# using interop. If you by any chance dislike DirectX than I suggest you stay away from XNA. Everybody I know is very dissapointed about it and switched back to C++(OpenGL) + C#.
Since you already know C# I'd use XNA or Unity. While there are faster languages and middlewares, they're probably plenty fast enough. Both frameworks would have the necessary features you require.
i am want to build some games,not something big like mmorpg ,games like snake and similar,maybe in future i would like to make a progress.
i built "pong" with xna before 3 month and left it without any progression.
now i want program games again and i search on the internet and got to 2 final best options
xna/unity3d.
which is better if i know c#?
tyvm.
Well, XNA Game Studio [GS] and Unity3D do not really compare as the former is “only” a framework and the latter a full fledged game engine with visual editor and stuff.
So, XNA GS would be the right choice if you want to do it all on your own, e.g. write your own graphics renderer, the game logic infrastructure (as opposed to writing the game logic only in Unity3D) and pretty much everything else.
Unity3D would be the better choice if you want to concentrate on the game play only without having to write a lot (or any at all) infrastructure code.
However, there’s another thing to consider: if you want your game to run on the 360 you might need to use XNA GS as Unity3D doesn’t seem to support Xbox LIVE Indie Games publishing. If you’re in it for a broad range of target platforms (e.g. outside the Microsoft realm), Unity3D is the better choice (Mono.Xna, while it returned from the dead, is still in a rather unusable state).
Disclaimer: I haven’t used Unity3D at all so my words about it may be totally wrong.
XNA is fully integrated into Visual Studio and is a "first party" product (as in Microsoft produces it). You also get relatively cheap access to running it on an XBox (a nice bonus).
Unity3d has the advantage of being multi-platform (such as their iPhone port).
Suppose I have a touch screen which supports single finger touch, is it very hard to use software based solution (e.g. programming to detect multi-finger touch and movement) to make the touch screen support multi-touch?
Just like I bought a cheap single finger touch cell phone and through programming I make it work as iPhone, Gphone or what so ever cool (supporting multi-touch). :-)
I am using VSTS 2008 + C# + .Net 3.5. I am asking seriously, not joking. Please correct me if I am stupid and on a wrong direction.
It would likely depend upon what sort of information the driver for your device receives. If raw data from the touch panel is available, then you might be able to get some extra information and do some pseudo multi-touch.
My gut feeling, however, is that a single-touch interface will configure itself like a standard USB or PS/2 mouse. This would be done to simplify the driver interface - the manufacturer would be able to expose the hardware via already-established protocols.
If you have a device in mind you could always contact the manufacturer and ask them what sort of additional information they might be able to feed to you.
Touch isn't hugely "there" in .NET 3.5; but the good news is that I'm pretty sure it is much better supported in the 4.0 toolset (WPF 4.0 in particular, see here).
In 3.5, the only time I've personally seen good touch support is when I was using a "surface" device and the surface SDK; note that the surface SDK is not compatible with the regular touch API (although I think they've tried to bring the two together).
Oh, and I suspect you'll need windows 7.
i m developing a little tool on my Pocket PC using WM6 SDK but i would like to implement a finger friendly user interface (iphone-like).
So i m looking for a free .NET framework that offers the possibility to easily integrate a finger friendly interface for Windows Mobile 6 Pro .
Any ideas ?
EDIT : Finger friendly means big icons, big buttons , scrollable screens with a simple touch of the thumb... Because the Winforms in Compact framework are made for the stylus, not fingers !!
I know of no such interface API.
I would code such an interface from scratch, overriding Paint and mouse events. If you need more fancy drawing tools that compact framework provides, you should look for pinvoke to access GDI+.
You should really check out Resco's MobileForms Toolkit 2009.
I bet their controls are exactly what you are looking for. Plus they have a whitepaper and videos to show off the controls.
I am not sure it is what you are looking for (I didn't have time to examine it yet myself, but I definately intend to); this UI Framework looks interesting:
http://code.msdn.microsoft.com/uiframework
Check out the Fluid windows mobile controls available at http://fluid.codeplex.com/
This might be what you are looking for, and its open source.
Any current readers on this thread should check out SlideUI (http://www.devslide.com/products/slideui). It's a current (and supported) product which offers touch friendly (iphone-like) scrolling and controls.
I'm not entirely sure what you're asking here... Windows Mobile 6.0 Pro is touch-screen enabled, so you should simply have to create your project targeting the Windows Mobile 6.0 Pro (note, however, that your application will not be compatible with Windows Mobile 6.0 Standard devices).
I know exactly what you are talking about. All the .NET Controls are designed for the stylus. When you make them bigger for the finger, there is no guarantee they will respond well. Add to that every hardware devices sensitivity is different and its even harder.
I recently built an application attempting to incorporate some touch like functionality. it was a pain having hand code all this stuff.
The problem with a 3rd party library, as opposed as coming in Windows MObile is then everyone is designing their own library and navigation techiques. Hopefully MS will wise up on this front.
http://sites.google.com/site/nebowiki/
If you are developing finger friendly apps, your target device needs a process to handle finger input as opposed to the stylus. HTC devices (Such as the Kaiser, Mogul, Touch Pro, etc.) use TouchFlo for this purpose. There are a few different versions of TouchFlo and I'm not sure if there is an SDK, but you need to incorporate it into whatever you program. xda-developers.com will have lots of info about it.
It IS amazing that with WM6.1 Pro, .NET CF 3.5 and VS2008 that all we have available are the basic stylus-sized controls that are are spartan in the extreme. i.e., coyote-ugly. I'm about ready to chew my hand off rather than use them in an app.
So where is the third-party collection of controls that all WM developers are flocking to, to provide touch-friendly apps?
Ugly is truly the correct word for most (mine included) mobile win apps.
I am developing for an older piece of hardware with a mono screen which makes it even worse.
Take a look here:
http://www.windowsfordevices.com/news/NS9328208835.html
and here:
http://msdn.microsoft.com/en-us/library/dd630622.aspx
This is not free, but it is affordable - some of the screen shots are pretty nice looking:
http://www.basic4ppc.com/?gclid=CIiO1di1nJoCFRAhDQodYX8-9A
Anyway...sorry if this was just googledragging - maybe it had something you had missed.
--Joe
Finger Freindlyness is a result of the touch screen technology (capacitive screens are less accurate, but require zero pressure; resistive screens require physical pressure and are harder to swipe, flick, etc.)
With Windows Mobile 6.5, they have introduced a system gestures library (and if you'd rather not have to P/Invoke it, there is a sample wrapper on MSDN Code Gallery). Theoretically, it would be possible to write to this new library, and maybe emulate the gestures on pre-WM6.5 devices, if required.