Can anyone point me to any libraries or products that will allow me to pass a Google Sketchup SKP file in and as a result view the 3D model on a website in either Silverlight, Flash or HTML Canvas?
I know both Flash & Silverlight now support 3D out of the box, so I'm hoping there has been some updates since answers below were given over a year ago.
Silverlight's still kinda slow as far as web 3d engines are concerned (although I'm expecting great things from it in the next few years).
So in flash there's alot of evolved graphic engines like Papervision3D for example. You use these libraries to load a certain 3d file format, I forgot the name.
Anyway, you then just export your sketchup file into this format, or into another format you could later convert. Although I think you need the FULL version of sketchup to export if I'm not mistaken...
You can use a tool such as 3DPaintBrush to export the Sketchup files to XAML which can then be used in Silverlight projects. Unfortunately 3DPaintBrush isn't free, but it does have a 15 day trial to see if it is worth getting.
Related
I have purchased the book programming a multiplayer fps book.
The problem is that I am not able to get the 3d's max scene to load. Is there a step to load a library of 3d's max to load the scene? What is the missing piece in loading the scene. I am not able to load the scene.
In order to load and render 3D mesh data, you need some kind of exporter to convert the 3D Studio MAX authoring data into a binary form suitable for rendering, and some sort of rendering engine capable of drawing that binary form.
For exporting the data, you can use an existing tool such as Open-Asset-Importer-Lib or write your own using something like Autodesk FBX.
There are of course numerous choices for rendering engines, or you can write your own from scratch.
Note that Direct3D 9 is extremely old at this point. DirectX 11 is the modern sweet spot for starting out programming Direct3D. See DirectX Tool Kit and DirectX SDK Samples Content Exporter.
The 3dsmax file format is propriatary. You just don't load those *.max files into anything but 3ds max. Like Chuck said above, you have to export your max file from 3ds max into a common, 3rd party file format like OBJ, FBX, etc...
There is probably a hundred 3D third-party file formats out there. We have no idea which 'game' you are trying to code up, and you have not provided any information, except asked all the wrong questions.
DirectX 11 is a graphics platform provided by microsoft. it is file format agnostic. It is up to you to learn it.
I have a question about Flash. I am writing my first browser game, and I am trying to decide on a technology.
I have a few requirements:
I don't want to have to pay to write code and a not-complete-crap free IDE would also be good.
I want most (or > 70%) of "normal" computer users to have it installed, so, Unity's pretty much out.
I don't really need performance too much
I need 2D, not 3D
Needs to be able to communicate with the server, and no extra downloads required.
Preferably works with the Facebook platform, but, this isn't a requirment.
Now, I would go with Flash as it fills all of my requirements, but, to my understanding, I need to pay for CS5 to get coding with Flash. Is an alternative around this possible?
Are there any other alternatives I'm missing?
To add onto what ColinE mentioned, FlashDevelop also provides you the ability to download and install the Flex SDK. However, if FlashDevelop as an IDE doesn't work for you, you can also download the Flex SDK yourself.
This is essentially the same thing that's included with Adobe's Flash Builder application, which is basically built on top of Eclipse. This should at least give you a start on creating things in Flash, though you'll be limited to ActionScript 3. I'd suggest sticking with AS3 as it provides a lot of power compared to AS2.
If you do choose to use the Flex SDK, I'll give you a bit of knowledge I've gained since I started using it for developing games. This may be a little long-winded but hopefully it'll answer some of the initial starter questions.
You can develop apps/games using the Flex library but this may increase the size of your SWF file. However, it's worth noting that it's not required to use the library. You can use the compiler (mxmlc) provided in the SDK to build against .as files as well.
From here, there's a few gotchas that might creep in when it comes to assets. Flex provides you the ability to embed assets within your class files. Out of the box, it allows for the embedding of a handful of formats, most notably PNG, TTF, XML and SWF. There's a lot that you'll be able to do with Flex from a code standpoint but it's not very pretty for creating the assets themselves. Primarily, I use the Flash IDE only for cases where a project requires a SWF asset, however, most of my projects tend to use PNG.
When using an embedded SWF asset, you may come across an issue where any code that's included in the asset, such as any hover or animation logic as ActionScript, gets stripped out of the copy embedded in the resulting project's SWF. A workaround for this is forcing the mimetype to "application/octet-stream" and using a Loader object's loadBytes() method.
Finally, you should be able to make some sort of progress provided you have some sort of ActionScript knowledge. There are plenty of resources out there but be aware that a fair amount of them still use AS2. The knowledge can be applied with some modifications but may require some extra legwork to implement. The language is fairly easy to work with.
With all that, I wish you luck. Flash gets a lot of flack these days but even with HTML5 nearing final, there's still a lot of features that it will never be able to touch without leveraging Flash in some way.
Flash, Silervlight or HTML5 will tick pretty much all of those boxes for you, however Silverlight is only installed on ~65% of computers at the moment.
HTML5 can be tough to develop with, so perhaps Flash is your best bet. See the following question which discusses Flash IDEs:
Flash Developer IDE
FlashDevelop is a free development environment for Flash.
I believe your question is about which type of development you should use to get this game going, but I would also urge you to consider the future of each of these software sets, and choose based on what you would like more experience in.
Flash has been holding it's ground pretty well, but I've seen it less and less on major sites these days, and I believe HTML 5 is taking pretty good stabs at it. Even Pandora doesn't use flash anymore, and that was a pretty well designed little flash app (they still use AIR for Pandora One, but not their main site). Instead, like many other websites, it's using HTML and JavaScript.
So, while flash is slowly losing ground to HTML and JavaScript, where does Silverlight stand? Microsoft is still pushing their Silverlight technology, and based on Microsoft's support scheme, they'll still be using it for the next few years at least. At the same time, it's based on the .NET framework, so you'll be gaining some valuable WPF and .NET skills by using Silverlight.
There is no right or wrong decision here, it's really just based on which technology you see yourself using past this product, and which technology you want to learn.
I'd give it a shot in Silverlight, myself, but that's simply because I dislike flash, and there's already too many HTML and JavaScript developers.
edit:
Silverlight is a relatively small 30 second install. I generally hate installing new plugins, but Silverlight is relatively painless, imo.
I want to develop a web Application to manage school administration. But I am not clear, which technology should I use to create Rich Internet Application. At present, develeopment company is going with ASP.net tools and say this is a web app.
However, there is page refresh on every click. Which I don't like. Please suggest, where to proceed.
Regards
Piyush
In a plain ol ASP.NET application, the screen refresh can be eliminated by using update panels in webforms, or by using more of the AJAX capabilities of the MVC Framework. (Wikiplex on Codeplex has a crazy simple example of this that I love in their example application).
Between Silverlight and Flash, however, Silverlight is designed to be a Web Application, or (at times) a desktop application in a Browser, while Flash is more of a multimedia framework.
Since it is school administration, which doesn't require random people to have Silverlight installed, Silverlight and JS/AJAX are both good options. Both are built into the ASP.NET set of libraries, and have good support in Visual Studio. Flash is a bit of an outsider in this regard.
So to sum up:
In general JavaScript/AJAX > Silverlight but either would be great.
If you are totally against any screen refresh, I'd lean more towards Silverlight.
If the developers are very familiar with Flash and communicating with the server with Flash, then I'd say it is also an option, but with no knowledge on all three and I'd not pick Flash first.
It's a little late for a response to the initiator. But I didn't agree with some of the answers I read here, and since google is popping this up in the search returns I felt compelled to align my answer on this board.
First off, a lot of developers create applications in ASP.NET and AJAX because they are comfortable with it not because the technology is better. For years, what it took one person to develop in the Adobe Flex framework, took many developers to create in AJAX. There is no more AJAX versus Flex, there's just Flex. Who wants to write a hundred lines of code in AJAX to do the same thing it takes 1 line of code in Flex. That's why the cost with an AJAX deployment was always more expensive.
On ASP.NET, you're right. Who wants to see the page refresh every time you perform an action? Not to mention, no browser follows the HTML implementations exactly, so how .NET app looks in 1 browser would look different in another browser, in addition to differences witnessed with the various browser versions.
Most ASP.NET, heck even Coldfusion Applications are clunky in HTML. So with that in mind all of my gui development is done in Adobe Flex. When a flash file is created, it compatible with 99% of the browsers (safari on mobile devices excluded), and all of the Operating Systems are supported. I'll tell you what, you can get silverlight to work in linux but have fun while it loads 50MB of MS software on your Linux OS. Not to mention Flash has a 99% market penetration. So it's already preloaded on machines and browsers.
Plus flash supports most picture formats and SVG natively. Did you know Silverlight became notorious because they don't support even a GIF/BMP formats? Forget SVG if you're using Silverlight because it doesn't support it. What's SVG? Look it up! It's only the most useful way to create any image you want right in a flex app. For instance maps are useful in SVG. AND its just a small file. Not a horrendous large file.
Language, Flex is just easier to program in and there's a lot of support for it. Think I'm kidding, try for yourself. You can download a Free version of flex for 30 days. Forgive my ignorance but I don't even know where to begin on loading Silverlight. I've got visual studio and all that but I gave up after trying. But that was 1 year after it's release so it may have changed.
And frankly, if you or a developer can't afford flex, DON'T BUY IT. Instead, download eclipse, which is free forever. Adobe Flex is only a special iteration customized by Adobe anyway. So you probably won't get charting and some other components in eclipse, but most of the GUI components are built right into Eclipse.
Programming ASP.NET is just old hat. It's clunky, difficult to work with and it's possible to corrupt the files. It's not possible at all to corrupt your project files in Flex/Eclipse because they are just TEXT files. How cool is that?
Don't get me wrong, I program in ASP.NET too. But I like it for Application server processes; you know like the middleman between database and client. SQL server feeds ASP, and ASP feeds my Flex GUI using SOAP. Big plus is even though I hate Visual studio crystal reports, it's still way better than nothing. Believe me you want to have some reporting possibilities like CF Report Builder or crystal reports. Some people just like a nicely formatted PDF and that's all there is to it.
I've released hundreds of applications using various technologies. Right now this is my favorite. But frankly, a good GUI can be done anywhere if you are a 'kung fu' master. I'm saying that although it's easier out of the gates to program in Flex compared to .NET/Silverlight, someone with some mad .NET skills can put a Flex app to shame. But as it stands right now, there is no argument that Flex is the stronger candidate with the most market penetration, flexibility, and ease of use.
Good luck all...
ASP.NET does provide some special sauce for AJAX, so it's entirely possible to eliminate the page load without leaving ASP.NET. If you leave ASP.NET, the options are endless: Java, Silverlight, JQuery, Flash, etc. ad infinitum.
Silverlight and Flash are great for richer user interfaces, however I dont think they should be used for the "whole" interface or application. Its best to narrow down these parts and decide how rich these need to be, then evaluate which technology to use. If you just want to prevent full round trips to the server on a page, AJAX is a good option. I would also recommend Silverlight over Flex, since you probably/already have the tools.
I have XPS documents being generated from XAML User Controls that act as templates. I want to convert the XPS documents into alternative formats, mainly PDF, programmatically with a .NET based API.
What is the best way to do this?
You can also use ABCpdf PDF Component for .NET . Version 7 can serve your purpose.
see http://www.websupergoo.com/abcpdf-12.htm.
it provides fully functional trial version unlike NiXPS and almost equally as fast as NiXPS.
The way I have done this in the past is print my XPS file to a PDF printer. I use cutePDF for this. So when you select to print, you print to cutePDF which prints a PDF version.
I am not sure if this will meet your needs but it has worked well for me in the past.
If you have OneNote, you can print to OneNote and then export as PDF at least in OneNote 2013. This seems better than having to install another third party tool.
After much searching, I found this SDK:
NiXPS
Its kindof expensive but works wonderfully. Goodbye fop!
If you want to do this in your own program, CloudConvert has a free and open source API built on the .NET framework by MadScripter.
https://github.com/MadScripter/CloudConvert-.NET-Wrapper/
I really need a way of loading a .ppt document in my wpf application. Can anyone give me a hint, code sample?
Checkout the following discussion thread. Also Dr.WPF got an interesting article that might help you as well: Hosting Office in WPF Application
However consider license costs will be quite high for your scenario...
According to this artice the DSO Framer is no longer supported. Have to look for something else.
You may need to elaborate a bit more on your particular need to get a practical answer.
I don't think hosting PowerPoint (ppt) is a good option because it requires ppt to be installed on the target machine.... and if the target machine has ppt then you can use its API to save the document as HTML and open it in a WebBrowser control.
If the target machine doesn't have powerpoint you may look into some online file conversion service and try hooking up there to convert to HTML and still use WebBrowser control.
I definitely don't recommend wasting your time with DSOFramer - it's very unstable at best and it will just feel like you're one step away from making it work for a while but it doesn't work.
Another option is of course to write your own parser for ppt files, the OfficeOpenXML version of the files is definitely "parseable". I've done that for Word docx and it's relatively easy to get the course data out of the document - say shapes, text... - but the devil there is in the details. There are a zillion little features to implement.