<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-5595619963063881977</id><updated>2011-12-24T19:04:12.230-08:00</updated><title type='text'>The End Of All Programming Blogs</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://endofprog.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5595619963063881977/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://endofprog.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Francois Hamel</name><uri>http://www.blogger.com/profile/14394378009752139895</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://bp2.blogger.com/_bcyd8OklQoc/RZLVtm_Ae4I/AAAAAAAAAAM/WtNudU1DA9w/s320/Indiana+Jones+035.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>9</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5595619963063881977.post-2018175083663977235</id><published>2007-03-24T23:36:00.000-07:00</published><updated>2007-03-24T23:41:38.559-07:00</updated><title type='text'>First real screenshot</title><content type='html'>Oh yeah, finally got it all working. I hacked up a quick scene just for the sake of it. I now got a fully working environment...except for the materials...and textures...and...bah ;) What's more impressive than a nice Hyundai Scoupe for the screenshot? Can't get any better than this.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_bcyd8OklQoc/RgYY1wo7S3I/AAAAAAAAAqg/YKDhuDzCKcA/s1600-h/Screenshot4.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp2.blogger.com/_bcyd8OklQoc/RgYY1wo7S3I/AAAAAAAAAqg/YKDhuDzCKcA/s400/Screenshot4.gif" alt="" id="BLOGGER_PHOTO_ID_5045747744383912818" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5595619963063881977-2018175083663977235?l=endofprog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://endofprog.blogspot.com/feeds/2018175083663977235/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5595619963063881977&amp;postID=2018175083663977235' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5595619963063881977/posts/default/2018175083663977235'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5595619963063881977/posts/default/2018175083663977235'/><link rel='alternate' type='text/html' href='http://endofprog.blogspot.com/2007/03/first-real-screenshot.html' title='First real screenshot'/><author><name>Francois Hamel</name><uri>http://www.blogger.com/profile/14394378009752139895</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://bp2.blogger.com/_bcyd8OklQoc/RZLVtm_Ae4I/AAAAAAAAAAM/WtNudU1DA9w/s320/Indiana+Jones+035.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_bcyd8OklQoc/RgYY1wo7S3I/AAAAAAAAAqg/YKDhuDzCKcA/s72-c/Screenshot4.gif' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5595619963063881977.post-4075310655116799163</id><published>2007-03-24T21:55:00.000-07:00</published><updated>2007-03-24T22:09:58.496-07:00</updated><title type='text'>XNA project update</title><content type='html'>Still working on the Maya exporter. I may release the code or just the DLL for anyone to play around with it once it is complete enough. As for now it just exports a whole big pile of meshes in world space, taking into consideration lighting and texture coordinates cuts in them.&lt;br /&gt;&lt;br /&gt;I still have some problems with non-coplanar polygons as I cheated a little when triangulating the mesh....I assumed most weren't so I could triangulate them myself using a simple triangle fan. This saved me quite some time but now I got to fix this. It's an iterative process...just wanted to get stuff on the screen as fast as possible. I just added the texture coordinates as well as before I only had the positions and the normals.&lt;br /&gt;&lt;br /&gt;It's a long process building the rendering engine as well as the different exporters, you need to do a lot of back and forth between both. My exporter is fully written in C++ whereas my engine is written in C# using Microsoft XNA.&lt;br /&gt;&lt;br /&gt;As for Maya, I can't say I like it that much compared to 3dsmax, even though it is surely better built. But then when it comes to the GUI, 3dsmax is much more simpler and straightforward to use most of the time. Maya seems like it was made by programmers...for programmers. It is somewhat logical, but cumbersome to use, it doesn't hide the complexity very well, if not at all.&lt;br /&gt;&lt;br /&gt;I'll post new screenshots once I get my environment to display with materials and stuff...as for now I don't even deal with different materials and textures, I'm not even exporting them right now, that'll be the next step toward success!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5595619963063881977-4075310655116799163?l=endofprog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://endofprog.blogspot.com/feeds/4075310655116799163/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5595619963063881977&amp;postID=4075310655116799163' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5595619963063881977/posts/default/4075310655116799163'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5595619963063881977/posts/default/4075310655116799163'/><link rel='alternate' type='text/html' href='http://endofprog.blogspot.com/2007/03/xna-project-update.html' title='XNA project update'/><author><name>Francois Hamel</name><uri>http://www.blogger.com/profile/14394378009752139895</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://bp2.blogger.com/_bcyd8OklQoc/RZLVtm_Ae4I/AAAAAAAAAAM/WtNudU1DA9w/s320/Indiana+Jones+035.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5595619963063881977.post-4561920098037912166</id><published>2007-03-19T16:04:00.000-07:00</published><updated>2007-03-19T16:07:46.749-07:00</updated><title type='text'>Linked List concept patented!</title><content type='html'>The world is doomed I tell ya! Someone succeeded in patenting the "Linked-list"&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.google.com/patents?vid=USPAT7028023&amp;id=Szh4AAAAEBAJ&amp;amp;dq=linked+list+Ming-Jen+Wang"&gt;Linked List Patent&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This is sad. This proves that software patents are again useless and stupid. So I guess we'll have to stop using Linked Lists in our code, else we might get sued o_O&lt;br /&gt;&lt;br /&gt;You gotta love the patent system...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5595619963063881977-4561920098037912166?l=endofprog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://endofprog.blogspot.com/feeds/4561920098037912166/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5595619963063881977&amp;postID=4561920098037912166' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5595619963063881977/posts/default/4561920098037912166'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5595619963063881977/posts/default/4561920098037912166'/><link rel='alternate' type='text/html' href='http://endofprog.blogspot.com/2007/03/linked-list-concept-patented.html' title='Linked List concept patented!'/><author><name>Francois Hamel</name><uri>http://www.blogger.com/profile/14394378009752139895</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://bp2.blogger.com/_bcyd8OklQoc/RZLVtm_Ae4I/AAAAAAAAAAM/WtNudU1DA9w/s320/Indiana+Jones+035.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5595619963063881977.post-4648954597857088965</id><published>2007-03-18T13:40:00.000-07:00</published><updated>2007-03-18T13:55:06.751-07:00</updated><title type='text'>Back from GDC and Maya Exporter</title><content type='html'>Oh yeah, finally back from the 2007 GDC held in San Francisco. It's been great except for the travel part...but the story is far too long for me to tell. Got sick because of it too...&lt;br /&gt;&lt;br /&gt;So with all of this I hadn't much time to update this blog. Now here's a quick update, my Maya model exporter is working.&lt;br /&gt;&lt;br /&gt;Yeah I decided to switch to Maya since I didn't have the 3dsmax SDK and was using MaxScripts which kinda sucked for this. On a side note, I like the Maya API, but it is not so much simpler to export a hardware friendly mesh than it is using Max.&lt;br /&gt;&lt;br /&gt;Most 3d authoring softwares uses different arrays for the vertices' positions, normals, colors, texture coordinates... so you got to somehow re-create your own vertex array and dupplicate the vertices based on cuts in the lighting, coloring or texturing. The best example is a cube where you want to have some kind of flat shading on all the faces. So the way those are represented in 3d editing softs most of the time is by 8 vertices and 24 normals. If the cube was "smoothly" shaded, there would have been only 8 normals also. So what you got to do is to match each normal with each vertex and dupplicate them when needed. And you got to do this as well for colors and texture coordinates...that is if you want your artists to see exactly the same result in your engine.&lt;br /&gt;&lt;br /&gt;On top of that, Maya lets you have non-coplanar polygons and each polygon can have more than 3 vertices so you somehow need to triangulate the mesh as well. After a bit of grunt work, I finally came up with a lightning fast exporter.&lt;br /&gt;&lt;br /&gt;I still need to extract all the skinning information like the weights and bone indices per vertex and the hierarchy itself, this will be further down the road as for now I'm just focusing on loading my data and having some kind of world rendered on screen in my XNA C# engine.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5595619963063881977-4648954597857088965?l=endofprog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://endofprog.blogspot.com/feeds/4648954597857088965/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5595619963063881977&amp;postID=4648954597857088965' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5595619963063881977/posts/default/4648954597857088965'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5595619963063881977/posts/default/4648954597857088965'/><link rel='alternate' type='text/html' href='http://endofprog.blogspot.com/2007/03/back-from-gdc-and-maya-exporter.html' title='Back from GDC and Maya Exporter'/><author><name>Francois Hamel</name><uri>http://www.blogger.com/profile/14394378009752139895</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://bp2.blogger.com/_bcyd8OklQoc/RZLVtm_Ae4I/AAAAAAAAAAM/WtNudU1DA9w/s320/Indiana+Jones+035.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5595619963063881977.post-6743164421813645319</id><published>2007-03-05T07:34:00.000-08:00</published><updated>2007-03-05T07:42:56.315-08:00</updated><title type='text'>Quick update</title><content type='html'>I finally removed all the effects (FX) from my project and moved on to a custom shader system. It is much more elegant and talking about the vertex and pixel shader constants they can more easily be managed like they should.&lt;br /&gt;&lt;br /&gt;I implemented basic per pixel lighting without normal maps though but anyway I wasn't into writing shaders as I still need to work on my resource loading/accessing system before I delve more into the graphics.&lt;br /&gt;&lt;br /&gt;I must say I like the way you can incorporate your data right into your C# project using XNA and you can provide importers / converters for each resource that will get called when you build your project.  As for the shaders I'm using NVIDIA's FX Composer to basically validate what I'm doing and it works like a charm. After that I just break the code into a pixel and a vertex shader and I bind the constants to registers and voila, I got myself a new shader.&lt;br /&gt;&lt;br /&gt;I haven't decided yet which route I will take for my lighting system but I've been thinking about it lately. I want something that will integrate easily without having to do complex mesh setups in an external editor. Yet I want to be able to support an unlimited number of lights per mesh. Maybe I just won't, unless I do some multipass techniques... I'll see.&lt;br /&gt;&lt;br /&gt;More to come&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5595619963063881977-6743164421813645319?l=endofprog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://endofprog.blogspot.com/feeds/6743164421813645319/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5595619963063881977&amp;postID=6743164421813645319' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5595619963063881977/posts/default/6743164421813645319'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5595619963063881977/posts/default/6743164421813645319'/><link rel='alternate' type='text/html' href='http://endofprog.blogspot.com/2007/03/quick-update.html' title='Quick update'/><author><name>Francois Hamel</name><uri>http://www.blogger.com/profile/14394378009752139895</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://bp2.blogger.com/_bcyd8OklQoc/RZLVtm_Ae4I/AAAAAAAAAAM/WtNudU1DA9w/s320/Indiana+Jones+035.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5595619963063881977.post-6698768468333085780</id><published>2007-03-04T13:33:00.000-08:00</published><updated>2007-03-04T13:42:29.646-08:00</updated><title type='text'>Some data finally</title><content type='html'>Since I didn't have my car this weekend I decided to code some more and while the result is not that impressive it's still going forward as planned in the right direction.&lt;br /&gt;&lt;br /&gt;I wrote a very small exporter for 3d studio max that generates XML files for my meshes. I was somehow forced in using MaxScript for that and I don't quite like it but I didn't have the SDK so... Anyhow, it very well did the job. So I am now able to export some meshes from MAX and have them displayed in my engine. I just wrote a simple shader using effects and .fx files... but I'm not too fond of this either. I will probably be switching to writing separate pixel and vertex shaders since there seems to be a somewhat non negligible overhead to Direct3D Effects. For example it messes up all the constants all the time.&lt;br /&gt;&lt;br /&gt;I did also some work on my editor which you can see in the screenshot below. What I like about it is that it is very much seperated from the rest of the engine, yet it works right in the engine. I just spawn another camera entity that is made for my editor and it just works. I'm planning to have an in-game editor from the ground-up as it'll save a lot of time later on.&lt;br /&gt;&lt;br /&gt;So here's how it's looking right now...never mind the weird colored mesh ;)&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_bcyd8OklQoc/Res9CK7L2yI/AAAAAAAAAhM/txOESYWWueI/s1600-h/Screenshot3.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp0.blogger.com/_bcyd8OklQoc/Res9CK7L2yI/AAAAAAAAAhM/txOESYWWueI/s400/Screenshot3.gif" alt="" id="BLOGGER_PHOTO_ID_5038187715645659938" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5595619963063881977-6698768468333085780?l=endofprog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://endofprog.blogspot.com/feeds/6698768468333085780/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5595619963063881977&amp;postID=6698768468333085780' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5595619963063881977/posts/default/6698768468333085780'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5595619963063881977/posts/default/6698768468333085780'/><link rel='alternate' type='text/html' href='http://endofprog.blogspot.com/2007/03/some-data-finally.html' title='Some data finally'/><author><name>Francois Hamel</name><uri>http://www.blogger.com/profile/14394378009752139895</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://bp2.blogger.com/_bcyd8OklQoc/RZLVtm_Ae4I/AAAAAAAAAAM/WtNudU1DA9w/s320/Indiana+Jones+035.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp0.blogger.com/_bcyd8OklQoc/Res9CK7L2yI/AAAAAAAAAhM/txOESYWWueI/s72-c/Screenshot3.gif' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5595619963063881977.post-376144832187589164</id><published>2007-02-25T10:43:00.000-08:00</published><updated>2007-02-25T10:58:55.462-08:00</updated><title type='text'>XNA</title><content type='html'>I played around with XNA and I must say I'm quite pleased as how it is designed. It is very easy to start a new project and try stuff without having to go the hard route of setting up everything correctly in order just to render a single polygon flat shaded on a Direct3D surface.&lt;br /&gt;&lt;br /&gt;Basically, you derive a class from the Game class and you register different GameComponents that will be updated every frame. The game loop is built-in as are all the message dispatching stuff so you don't need to worry about that.&lt;br /&gt;&lt;br /&gt;As for me, I started from scratch a new game along with an editor and I found a way to incorporate the editor easily in-game. I just created a GameComponent for it so it will get updated along with my other engine related modules. The best part of my editor though is probably my Entities editor and the beautifully designed standard Windows.Form.PropertyGrid control. All you have to do is define some public Properties in your entity classes and you'll be able to edit them easily in a property grid control. I like how you can have a lot of control and flexibility in C# .&lt;br /&gt;&lt;br /&gt;Here's the first screenshot&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_bcyd8OklQoc/ReHb7zkBqWI/AAAAAAAAAgM/_z9RUHGlFHw/s1600-h/Screenshot2.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp3.blogger.com/_bcyd8OklQoc/ReHb7zkBqWI/AAAAAAAAAgM/_z9RUHGlFHw/s400/Screenshot2.gif" alt="" id="BLOGGER_PHOTO_ID_5035547678877002082" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;There is nothing to see yet in the main window as I was working on the entity system along with the editor. Next step will be some rendering :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5595619963063881977-376144832187589164?l=endofprog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://endofprog.blogspot.com/feeds/376144832187589164/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5595619963063881977&amp;postID=376144832187589164' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5595619963063881977/posts/default/376144832187589164'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5595619963063881977/posts/default/376144832187589164'/><link rel='alternate' type='text/html' href='http://endofprog.blogspot.com/2007/02/xna.html' title='XNA'/><author><name>Francois Hamel</name><uri>http://www.blogger.com/profile/14394378009752139895</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://bp2.blogger.com/_bcyd8OklQoc/RZLVtm_Ae4I/AAAAAAAAAAM/WtNudU1DA9w/s320/Indiana+Jones+035.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_bcyd8OklQoc/ReHb7zkBqWI/AAAAAAAAAgM/_z9RUHGlFHw/s72-c/Screenshot2.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5595619963063881977.post-8928264345439198288</id><published>2007-02-17T18:21:00.001-08:00</published><updated>2007-02-17T18:21:49.555-08:00</updated><title type='text'>DirectX Managed VS XNA</title><content type='html'>This one is simple. &lt;br /&gt;&lt;br /&gt;DirectX Managed has been left in its current state as of version 1.1 and Microsoft will not provide newer versions as DirectX evolves. Instead, they chose the XNA Framework path so if you're serious about making games or graphic related applications that require advanced techniques, you really should start by either coding in C++ with DirectX unmanaged, or pick C# and XNA. Forget about DirectX Managed, just think it doesn't exists anymore, it is officialy dead. The good news though is that XNA works on the Xbox 360 as well as the Windows platform, so you can easily deploy your app or game on both without too much additional work.&lt;br /&gt;&lt;br /&gt;What are the consequences? Well it seems right now the XNA Framework only works with Visual Studio Express edition (which is free btw). It doesn't integrate with Visual Studio Professional or Enterprise at all. It seems there is a version coming for it but they won't announce a release date yet.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5595619963063881977-8928264345439198288?l=endofprog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://endofprog.blogspot.com/feeds/8928264345439198288/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5595619963063881977&amp;postID=8928264345439198288' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5595619963063881977/posts/default/8928264345439198288'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5595619963063881977/posts/default/8928264345439198288'/><link rel='alternate' type='text/html' href='http://endofprog.blogspot.com/2007/02/directx-managed-vs-xna.html' title='DirectX Managed VS XNA'/><author><name>Francois Hamel</name><uri>http://www.blogger.com/profile/14394378009752139895</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://bp2.blogger.com/_bcyd8OklQoc/RZLVtm_Ae4I/AAAAAAAAAAM/WtNudU1DA9w/s320/Indiana+Jones+035.jpg'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5595619963063881977.post-9152899140762163894</id><published>2007-02-17T18:05:00.001-08:00</published><updated>2007-02-17T18:22:35.745-08:00</updated><title type='text'>C# from a C++ programmer</title><content type='html'>I like C#, it is overall a well thought out language, but coming from C++, there are some things you should be aware of.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;font-weight:bold;color:#773;"&gt;Struct VS Class&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;C++:&lt;/span&gt; There isn't much difference between a struct and a class. Both can be used exactly the same way as the only difference is that a method in a struct is public by default where it is private in a class.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;C#:&lt;/span&gt; Struct cannot be derived from unlike classes and they are always passed by &lt;span style="font-weight: bold;"&gt;value&lt;/span&gt; instead of by reference. What does this means? it means a lot since having a property in C# which points to a struct cannot return a reference to it but rather will return a copy of the data.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;font-weight:bold;color:#773;"&gt;Conversion operators (casts)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;C++:&lt;/span&gt; You can provides type conversion operators and you can make sure they point to the &lt;span style="font-weight: bold;"&gt;same memory&lt;/span&gt; as the original data easily.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;C#:&lt;/span&gt; A cast operator will need to create an entire new object of the new type and thus &lt;span style="font-weight: bold;"&gt;will not reference the same memory&lt;/span&gt;. This is why many people advocate not using cast operators at all but instead provide conversion methods like ToMyType() as in ToString() or whatever. Casting different objects around can be very costly in C# if you don't know what you're doing. For more information read about boxing and un-boxing.&lt;br /&gt;&lt;br /&gt;There are many other things to consider but I found those to be the 2 major points to take into consideration while switching from one language to the other.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5595619963063881977-9152899140762163894?l=endofprog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://endofprog.blogspot.com/feeds/9152899140762163894/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5595619963063881977&amp;postID=9152899140762163894' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5595619963063881977/posts/default/9152899140762163894'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5595619963063881977/posts/default/9152899140762163894'/><link rel='alternate' type='text/html' href='http://endofprog.blogspot.com/2007/02/c-directx-managed-and-xna.html' title='C# from a C++ programmer'/><author><name>Francois Hamel</name><uri>http://www.blogger.com/profile/14394378009752139895</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://bp2.blogger.com/_bcyd8OklQoc/RZLVtm_Ae4I/AAAAAAAAAAM/WtNudU1DA9w/s320/Indiana+Jones+035.jpg'/></author><thr:total>0</thr:total></entry></feed>
