<?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-6537747915423340290</id><updated>2011-07-31T01:14:58.308-05:00</updated><category term='Code'/><category term='Games'/><category term='Computers'/><category term='Java'/><category term='C-Sharp'/><title type='text'>Static Class Blog</title><subtitle type='html'>Nightst4r's Developmental Thoughts.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://blog.staticclass.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6537747915423340290/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://blog.staticclass.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Mark</name><uri>http://www.blogger.com/profile/04845054296112400023</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>17</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6537747915423340290.post-4163847792565685139</id><published>2010-07-31T02:36:00.003-05:00</published><updated>2010-07-31T02:44:44.686-05:00</updated><title type='text'>Starcraft 2</title><content type='html'>What a great game!  But man did they screw up.  Once again blizzard seems to think they own you.  You can only make one character, and it is against blizzard terms of use to let ANYONE ELSE play your game!!  Just like WoW.  Talk about being greedy, they say if you want to play the game with another character you have to go buy an entire extra game for 60 bux.  &lt;br /&gt;&lt;br /&gt;So what about families that have one computer, there's no way that 2 people could play at the same time, and the software is PURCHASED!  Anyone using the computer should be allowed to play it.  Blizzard is starting down a very greedy evil path with this, I already hated that I couldn't let anyone play on my WoW account, and now I can't even let anyone else play a single player game on my account in starcraft!?  &lt;br /&gt;&lt;br /&gt;They need to wake up and realize people BUY their game, they aren't renting it.  And what happens when battle net crashes, my internet is down, or God forbid Blizzard shuts down servers (Like microsoft did for xbox 1 and Halo 1 and 2)??  In this case the game becomes fully DRM'd forever, even past its copyright!! Completely unplayable!! TALK ABOUT ILLEGAL!!  &lt;br /&gt;&lt;br /&gt;So in short, blizzard stop being control freaks!  Remember the people are the ones who pay you, you don't own them.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6537747915423340290-4163847792565685139?l=blog.staticclass.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.staticclass.com/feeds/4163847792565685139/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6537747915423340290&amp;postID=4163847792565685139' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6537747915423340290/posts/default/4163847792565685139'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6537747915423340290/posts/default/4163847792565685139'/><link rel='alternate' type='text/html' href='http://blog.staticclass.com/2010/07/starcraft-2.html' title='Starcraft 2'/><author><name>Mark</name><uri>http://www.blogger.com/profile/04845054296112400023</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6537747915423340290.post-4809402877157978249</id><published>2010-07-30T16:00:00.006-05:00</published><updated>2010-07-30T16:21:54.875-05:00</updated><title type='text'>Blocks in Objective C (Update)</title><content type='html'>Soo as it turns out!  The blocks, only work with the arm compiler!  Which means you can't even compile the code for your simulator unless you get a 3rd party non-apple GCC compiler.  So I think everyone would agree only two words come to mind when updating to a third party compiler.. "F**K THAT!"&lt;br /&gt;&lt;br /&gt;On the bright side, I found that there is a foreach loop!  Go figure its a mix of C# and Java.&lt;br /&gt;&lt;br /&gt;So in java its:&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;for&lt;/span&gt; ( Object obj &lt;span style="font-weight:bold;"&gt;:&lt;/span&gt; objectList) {&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;      &lt;/span&gt;doStuff(obj);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;in C# its:&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;foreach &lt;/span&gt;( Object obj &lt;span style="font-weight:bold;"&gt;in &lt;/span&gt;objectList) {&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;      &lt;/span&gt;doStuff(obj);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;in Objective-C its:&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;for&lt;/span&gt;( Object obj &lt;span style="font-weight:bold;"&gt;in&lt;/span&gt; objectList ) {&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;      &lt;/span&gt;[obj doStuff];&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Way to fail apple.. way to fail.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6537747915423340290-4809402877157978249?l=blog.staticclass.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.staticclass.com/feeds/4809402877157978249/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6537747915423340290&amp;postID=4809402877157978249' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6537747915423340290/posts/default/4809402877157978249'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6537747915423340290/posts/default/4809402877157978249'/><link rel='alternate' type='text/html' href='http://blog.staticclass.com/2010/07/blocks-in-objective-c-update.html' title='Blocks in Objective C (Update)'/><author><name>Mark</name><uri>http://www.blogger.com/profile/04845054296112400023</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6537747915423340290.post-1834414199959835490</id><published>2010-07-19T02:06:00.012-05:00</published><updated>2010-07-24T02:08:22.701-05:00</updated><title type='text'>iPhone Dev</title><content type='html'>It's been a while since I wrote anything, so I feel compelled to write a little after reading my friend's blog.  I'm not as eloquent as other people, but its fun to try :)&lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So lately I've been working with the iPhone SDK pretty exclusively when it comes to at home programming.  I've found a lot of interesting classes, and I've ever so slowly been re-creating my XNA font engine and refactoring all my code to be nice and neat.  When I first started with objective-c it was a nightmare.  Everything is so different and ugly, but slowly I'm getting used to it. I already found delegates and function pointer equivalents which is great cuz it really makes some patterns much easier to implement. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;None the less, development goes slowly, I worked out a pretty functional level generating algorithm which is great because its a step closer to the end goal.  I let some people try my game at dinner today but they all agreed "A game you can't lose at isn't all that fun". So I'm starting to reconsider the whole "Never die" mentality I was going to go with for this game.  Perhaps some burning lava pits and sharks are in order... Everyone loves sharks... or pandas... hmm.  Something to think about =)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In the mean time, lets talk a little bit about those Objective-C function pointers.  They are called Blocks.  In the example below I will do Strategy Pattern using a function pointer block. Blocks are sadly are extremely over complicated (as is everything in Objective-C), so to make life easier it's recommended to use typedefs:&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="line-height: 17px; white-space: pre;"&gt;&lt;span class="Apple-style-span"  style="font-family:Georgia, serif;"&gt;&lt;span class="Apple-style-span" style="line-height: normal; white-space: normal;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;pre class="brush: cpp"&gt;typedef void(^BasicBlock)(id);&lt;/pre&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Breaking down that syntax:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;typdef --ReturnType--&lt;returntype&gt;(^--BlockName--&lt;blockname&gt;)(--Params--&lt;params&gt;);&lt;/params&gt;&lt;/blockname&gt;&lt;/returntype&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Then where you want to use your method you do something like:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;-(void) Iterate:(BasicBlock) theStratYouWishToUse;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Then in the definition we need to actually do something with that function like call it:&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: cpp"&gt;-(void) Iterate:(BasicBlock) theStratYouWishToUse &lt;br /&gt;{&lt;br /&gt; NSEnumerator * enumerator = [ spriteList objectEnumerator ];&lt;br /&gt; id obj;&lt;br /&gt; &lt;br /&gt; while ( obj = [enumerator nextObject] )&lt;br /&gt; {&lt;br /&gt;  theStratYouWishToUse(obj);&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So that takes care of defining it, and calling it, but how do we create the block to pass it into our object?  Remember, we have to worry about garabage collection and all that good jazz, but Apple's SDK has some stuff for that =)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;BasicBlock myBlock = [[^ (id obj)&lt;/div&gt;&lt;div&gt;{&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;[obj doSomethingAwesome];&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;} copy] autorelease];&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The copy and autorelease are methods that apple added, onto the block, the block syntax is:&lt;/div&gt;&lt;div&gt;BlockType blockObjectName =  [[^--paramList-- { ...do stuff... }  copy] autorelease];&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;After that, you just pass ur block around like it was an object:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;[SpriteList Iterate: blockObjectName ];&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Thats basically it, if you had a return type, you'd just return it at the end of ur method, and you're all set =)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Anyway, there's my tech for the day, hopefully that helps someone out there one day =)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6537747915423340290-1834414199959835490?l=blog.staticclass.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.staticclass.com/feeds/1834414199959835490/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6537747915423340290&amp;postID=1834414199959835490' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6537747915423340290/posts/default/1834414199959835490'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6537747915423340290/posts/default/1834414199959835490'/><link rel='alternate' type='text/html' href='http://blog.staticclass.com/2010/07/iphone-dev.html' title='iPhone Dev'/><author><name>Mark</name><uri>http://www.blogger.com/profile/04845054296112400023</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6537747915423340290.post-1745835854679728149</id><published>2010-06-22T17:23:00.002-05:00</published><updated>2010-06-22T17:33:07.559-05:00</updated><title type='text'>VP8, H.264</title><content type='html'>So after reading &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://x264dev.multimedia.cx/?p=377"&gt;http://x264dev.multimedia.cx/?p=377&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I've come to the conclusion that VP8, isn't all that and the bag of chips that Google seems to make it out to be.  I compiled the SDK and tried using it, but no matter what I do, I can't get past the extremely annoying Quality Popping that the author talks about.  I noticed it immediately, and it wasn't until reading his analysis that I realized what he's talking about.  &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;From a patent free point of view... The author seems to know a lot about the h.264 codec and seems to be quite capable of code analysis, from his observations, he seems to feel that VP8 is very similar to h.264 from a conceptual point of view, minus the fact that they took out the features that make h.264 so good.  This makes me feel like the only way that google can improve the quality is to be more like h.264 which suggests that it will be closer to patent infringement!  But if they leave it as is, its just not good enough, and STILL likely to get sued for patent infringement!   &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Soo I think Theora is still a good alternative... It sucks SOO bad that no one will even care to sue it even if it does mildly infringe patents, and it at very least doesn't suffer from that incredibly annoying quality popping artifact!   &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In short... I almost feel like Google is using VP8 to incite a patent war and possibly get the news out there that software patents are evil.  Maybe VP8 can be a weapon to help bring down the endless struggle between developer and patent lawyer and patent land mines.  If we destory software patents, h.264 becomes what it should be.. free for anyone to implement their own way.  The idea that the IDEA of a good video encoder/decoder is something someone can be sued for even if they coded it themselves in a dark room w/ no internet and no other references...  Its just stupid.  Now if someone took the code and copied it exactly... ya.. they should get sued ( thats copyright ).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6537747915423340290-1745835854679728149?l=blog.staticclass.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.staticclass.com/feeds/1745835854679728149/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6537747915423340290&amp;postID=1745835854679728149' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6537747915423340290/posts/default/1745835854679728149'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6537747915423340290/posts/default/1745835854679728149'/><link rel='alternate' type='text/html' href='http://blog.staticclass.com/2010/06/vp8-h264.html' title='VP8, H.264'/><author><name>Mark</name><uri>http://www.blogger.com/profile/04845054296112400023</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6537747915423340290.post-2546334911233617778</id><published>2009-04-27T15:35:00.000-05:00</published><updated>2009-04-27T15:37:11.331-05:00</updated><title type='text'>Far away</title><content type='html'>Yet close by...&lt;br /&gt;&lt;a href="http://www.staticclass.com/uploaded_images/WakLand-703495.png"&gt;&lt;img style="MARGIN: 0px 10px 10px 0px; WIDTH: 320px; FLOAT: left; HEIGHT: 228px; CURSOR: hand" border="0" alt="" src="http://www.staticclass.com/uploaded_images/WakLand-703491.png" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6537747915423340290-2546334911233617778?l=blog.staticclass.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.staticclass.com/feeds/2546334911233617778/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6537747915423340290&amp;postID=2546334911233617778' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6537747915423340290/posts/default/2546334911233617778'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6537747915423340290/posts/default/2546334911233617778'/><link rel='alternate' type='text/html' href='http://blog.staticclass.com/2009/04/far-away.html' title='Far away'/><author><name>Mark</name><uri>http://www.blogger.com/profile/04845054296112400023</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6537747915423340290.post-9179853824435413725</id><published>2009-03-29T09:57:00.000-05:00</published><updated>2009-03-29T10:15:40.926-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Computers'/><title type='text'>HP TX 1000 Series Laptops with Nvidia 6150 and ITunes Videos in Quicktime</title><content type='html'>I downloaded a movie from Itunes recently and no matter what I did, the movies refused to play back on my HP TX 1215NR laptop. It would start playing but then Quicktime would crash with some kind of BEX event error.  Right before the crash the movie would get pixelated and distorted and then crash.  At first I suspected it was the NVidia 6150 video drivers which are custom made for HP and promise "HARDWARE H.264 playback".  &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Because of the ANNOYING DRM apple puts on the movie, I could not even try playing it back in anything other than Quicktime, so I thought maybe its just the Quicktime Player having a hard time with it. &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I looked for a solution for months, but finally after searching some forums I ran across this solution, and it wasn't the video driver, it was the SATA HD driver!&lt;div&gt;&lt;ol&gt;&lt;li&gt;Right click "Computer" and select properties.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Open IDE ATA/ATAPI Controllers.&lt;/li&gt;&lt;li&gt;Loctate the NVidia controllers.&lt;/li&gt;&lt;li&gt;Right click it and select Update Driver.&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; line-height: 16px; "&gt;Click "Browse my computer for driver software".&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; line-height: 16px; "&gt;Click "Let me pick from a list of device drivers on my computer".&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; line-height: 16px; "&gt;Ensure that "Show compatible hardware" is checked.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; line-height: 16px; "&gt;Select  "Standard Dual Channel PCI IDE Controller".&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; line-height: 16px; "&gt;Open "System Devices".&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; line-height: 16px; "&gt;Select one by one each of the NVidia Items, and repeat the above.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; line-height: 16px; "&gt;This time Select "Standard PCI Ram Controller".&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; line-height: 16px; "&gt;When you are done, you will have 2 nVidia controllers left that don't have standard components. Thats ok.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; line-height: 16px; "&gt;Restart.&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; line-height: 16px; "&gt;After you restart your laptop should be able to play the content w/ no problems!  However, my laptop was just plain not able to keep up with the HD movies, but the normal res movies ran fantastic after this.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; line-height: 16px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; line-height: 16px; "&gt;Goodluck!&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; line-height: 16px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; line-height: 16px; "&gt;Source:  &lt;a href="http://discussions.apple.com/thread.jspa?messageID=6225584"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 0);"&gt;Apple Forums&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6537747915423340290-9179853824435413725?l=blog.staticclass.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.staticclass.com/feeds/9179853824435413725/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6537747915423340290&amp;postID=9179853824435413725' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6537747915423340290/posts/default/9179853824435413725'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6537747915423340290/posts/default/9179853824435413725'/><link rel='alternate' type='text/html' href='http://blog.staticclass.com/2009/03/hp-tx-1000-series-laptops-with-nvidia.html' title='HP TX 1000 Series Laptops with Nvidia 6150 and ITunes Videos in Quicktime'/><author><name>Mark</name><uri>http://www.blogger.com/profile/04845054296112400023</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6537747915423340290.post-2693270569849793221</id><published>2009-03-28T17:33:00.000-05:00</published><updated>2009-03-28T17:36:28.923-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Games'/><title type='text'>Lord of the Rings Online Welcome Back Weekend</title><content type='html'>&lt;span style="font-size:180%;"&gt;LORD OF THE RINGS - (Online)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;So this weekend since Lord Of The Rings was free for anyone who played once before, I decided I'd jump back in and see if things had changed much. Last time I played I tried a Minstril? And I didn't really have any fun at all.&lt;br /&gt;&lt;br /&gt;This time around I wanted to try the RuneKeeper, but since they only restored my account to its old state, I don't get the Moria stuff, so I went with the Hunter. It seems that just like World Of Warcraft, the hunter is overpowered. It's almost impossible to die, and everything is one shotted. No pet though.&lt;br /&gt;&lt;br /&gt;My first minute in the game, I walk up to right click on the Introduction NPC in RivenDell, and of course I misclick, which causes my incredible range to shoot an arrow at a swarm of bees in the distance. Being completely lost in how to control my character, and seemingly missing every swing I'm fighting a killer swarm of level 2 bees on the steps next to the intro NPC who is supposed to help me start the game. She's just standing there watching me be swarmed by a killer batch of bees...&lt;br /&gt;&lt;br /&gt;Eventually I got the bees down and started the quest lines. I figured I'd practice on the target dummies a bit, and figured out how to use the hunter. After that it was all about one shotting everything, bugs, insects, flies, slugs, rats, goblins, etc. With the extra XP this weekend I was level 5 within minutes. I finished the Introduction quests and set out to Celondim after a brief run thru a cave which seemed to transport me many many miles in a few seconds for no particular reason I seem to be now on an epic quest to get back to where I started?&lt;br /&gt;&lt;br /&gt;While in Celondim I picked up cooking, which seemed to be an assinine profession that is very over complicated for the sake of trying to be real. Make some pie crusts, which I can then use to make Mushroom pie, I can buy all the ingredients which makes leveling the profession easy, and I get a SET number of skill points which is nice! Unlike wow's Random point generation for every item made. But I couldn't buy the mushrooms.. You would think that should be the easiest thing to buy, but its just not there!! And why do I have to equip my cookware?&lt;br /&gt;&lt;br /&gt;By the end of the night I got to level 10, and now things seem to be getting harder, I die when overpowered by 2 or more mobs at one time. I am completely flat broke after learning how to wear better armor.&lt;br /&gt;&lt;br /&gt;Overall, my impressions are that they are trying to be like WoW where ever they can, but then at the same time they are trying to put in way too much realism. The graphics feel very real, which makes it very hard to notice what is a tree, and what is an enemy!! Oh and don't bother using DX10, there is Z - fighting EVERYWHERE, the sky stops working for some reason as well. The profressions are so overcomplicated for no good reason other than to be annoying I guess.&lt;br /&gt;&lt;br /&gt;On top of that I've become very used to my mods and addons for WoW, like Carbonite or Quest Helper, which make playing wow a lot easier, I always know where to go. And it feels like I'm using a Google Map for everything. I don't have to stop and read the quest only to find that the directions were completely incorrect. "Go NorthWest of Celondim", which lead me to a dead end, so it turned out to be North-NorthWest. But you had to actually go really far north first because there is a pointless hill placed going directly northwest which prevents you from getting anywhere. I mean why can't the quest giver take a moment to draw a little arrow on my map?! Age of Conan does this just fine! "Excuse me miss, I have a map here, do you think you could draw where exactly these evil insects are?" "Oh no I can't, ink hasn't been invented yet" "Oh its okay, use my blood, I'm a hunter afterall."&lt;br /&gt;&lt;br /&gt;And with all this realism, why the hell am I suddenly ALLOWED to jump off cliffs w/ no penality other than being forced to walk super slow for 1 minute? I mean its nice, since dieing in WoW from falling off a cliff on accident is annoying, but it doesn't fit with the rest of their attempts at realism!!&lt;br /&gt;&lt;br /&gt;So all in all, its a fun game, but they've still got a lot of changes to make to make it as fun as WoW. Good attempt though!! They definately put a lot of heart into the art and the design.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6537747915423340290-2693270569849793221?l=blog.staticclass.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.staticclass.com/feeds/2693270569849793221/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6537747915423340290&amp;postID=2693270569849793221' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6537747915423340290/posts/default/2693270569849793221'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6537747915423340290/posts/default/2693270569849793221'/><link rel='alternate' type='text/html' href='http://blog.staticclass.com/2009/03/lord-of-rings-online-so-this-weekend.html' title='Lord of the Rings Online Welcome Back Weekend'/><author><name>Mark</name><uri>http://www.blogger.com/profile/04845054296112400023</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6537747915423340290.post-3821308706621924118</id><published>2008-07-08T12:03:00.000-05:00</published><updated>2008-07-08T12:04:13.893-05:00</updated><title type='text'>Awesome /. quote</title><content type='html'>&lt;span style="font-family:Arial;font-size:85%;color:#000000;"&gt;As a recovering coder (I've been code free for 12 years) I can tell you that once a coder is addicted to a particular language changing languages is the equivalent of cutting off one of your limbs. Withdrawal symptoms can be severe and disruptive including the shakes, paranoia, and a condition that strikingly resembles turrets syndrome. There have been coders in recent years that appear to be able to switch languages with relative ease but studies on these coders have not been conducted and it is suspected that they could go off in a fit of rage at any moment and should be approached with extreme trepidation.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6537747915423340290-3821308706621924118?l=blog.staticclass.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.staticclass.com/feeds/3821308706621924118/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6537747915423340290&amp;postID=3821308706621924118' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6537747915423340290/posts/default/3821308706621924118'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6537747915423340290/posts/default/3821308706621924118'/><link rel='alternate' type='text/html' href='http://blog.staticclass.com/2008/07/awesome-quote.html' title='Awesome /. quote'/><author><name>Mark</name><uri>http://www.blogger.com/profile/04845054296112400023</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6537747915423340290.post-3807975042498101652</id><published>2008-03-26T15:23:00.000-05:00</published><updated>2008-03-26T15:46:37.998-05:00</updated><title type='text'>Software Patents</title><content type='html'>Since there is some really stupid minor &lt;a href="http://arstechnica.com/articles/culture/clean-up-patent-mess.ars"&gt;patent reform&lt;/a&gt; thing going on. I found this quote to be pretty much where I stand on the matter:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;John Carmack (id Software) - 2005&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;"In the majority of cases in software,  patents [affect] independent invention. Get a dozen sharp programmers together,  give them all a hard problem to work on, and a bunch of them will come up with  solutions that would probably be patentable, and be similar enough that the  first programmer to file the patent could sue the others for patent  infringement. Why should society reward that? ... The programmer that filed the  patent didn't work any harder because a patent might be available, solving the  problem was his job and he had to do it anyway. ... Yes, it is a legal tool that  may help you against your competitors, but I'll have no part of it. It's  basically mugging someone."&lt;br /&gt;&lt;br /&gt;~&lt;a href="http://slashdot.org/comments.pl?sid=151312&amp;amp;cid=12701745"&gt;http://slashdot.org/comments.pl?sid=151312&amp;amp;cid=12701745&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6537747915423340290-3807975042498101652?l=blog.staticclass.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.staticclass.com/feeds/3807975042498101652/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6537747915423340290&amp;postID=3807975042498101652' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6537747915423340290/posts/default/3807975042498101652'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6537747915423340290/posts/default/3807975042498101652'/><link rel='alternate' type='text/html' href='http://blog.staticclass.com/2008/03/software-patents.html' title='Software Patents'/><author><name>Mark</name><uri>http://www.blogger.com/profile/04845054296112400023</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6537747915423340290.post-112820664084363867</id><published>2008-02-15T09:47:00.000-06:00</published><updated>2009-03-27T17:22:00.775-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Code'/><title type='text'>Top 10 List of things I hate about java.</title><content type='html'>&lt;span style="font-size:85%;"&gt;1. No good IDE support&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;2. Nested classes are mis-named (public &lt;span style="font-weight: bold;"&gt;static class&lt;/span&gt;???)&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;3. No Operater Overloading&lt;br /&gt;4. Swing (Speaks for itself)&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;5. No way to create a value type&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;6. JNI - Hard to use, annoying, and difficult to marshal.&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;7. NIO buffers - You cannot ever force memory collection, they seem to leak very easily. Tend to lead to:&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;8. Java out of memory errors (All too common) - Even on production servers!&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;9. Fonts - You can never get an accurate metric (Its always off by  a few pixels)&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;10. JVM Garbage Collection - Go ahead and try to garbage collect a Built up JTree...  It won't happen.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;Bonus:&lt;br /&gt;11. You can't even do math with the Box'ed versions of Integer, Double, Float, etc.&lt;br /&gt;&lt;edit:&gt;#Edit#&lt;br /&gt;12. You cannot do a non-virtual call, its always virtual.&lt;br /&gt;13. Generics are just auto casts.&lt;br /&gt;14. The CLASSPATH.&lt;br /&gt;#Edit#&lt;br /&gt;&lt;br /&gt;This list was requested by &lt;/edit:&gt;&lt;/span&gt;  Monarch.&lt;br /&gt;By the way, these weakness's are some of c#'s strengths in my opinion.&lt;br /&gt;&lt;br /&gt;I swear I'll try to get some useful posts soon! Got to talk about fonts and stuff still.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6537747915423340290-112820664084363867?l=blog.staticclass.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.staticclass.com/feeds/112820664084363867/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6537747915423340290&amp;postID=112820664084363867' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6537747915423340290/posts/default/112820664084363867'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6537747915423340290/posts/default/112820664084363867'/><link rel='alternate' type='text/html' href='http://blog.staticclass.com/2008/02/top-10-list-of-things-i-hate-about-java.html' title='Top 10 List of things I hate about java.'/><author><name>Mark</name><uri>http://www.blogger.com/profile/04845054296112400023</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6537747915423340290.post-7429494658804131759</id><published>2007-11-26T13:40:00.000-06:00</published><updated>2007-11-26T13:42:02.181-06:00</updated><title type='text'>Little known Java Features</title><content type='html'>I just found this out myself...&lt;br /&gt;On windows, should your class path ever exceed 32,768 characters... you can't run your application anymore!!&lt;br /&gt;&lt;br /&gt;Don't ask why I know this.  Just rest assured, class paths suck.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6537747915423340290-7429494658804131759?l=blog.staticclass.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.staticclass.com/feeds/7429494658804131759/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6537747915423340290&amp;postID=7429494658804131759' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6537747915423340290/posts/default/7429494658804131759'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6537747915423340290/posts/default/7429494658804131759'/><link rel='alternate' type='text/html' href='http://blog.staticclass.com/2007/11/little-known-java-features.html' title='Little known Java Features'/><author><name>Mark</name><uri>http://www.blogger.com/profile/04845054296112400023</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6537747915423340290.post-1364096609636836133</id><published>2007-11-05T10:12:00.001-06:00</published><updated>2007-11-05T10:14:46.212-06:00</updated><title type='text'>Unrelated again</title><content type='html'>Dennis: For a second i was like "whoa chuck norris has his own brand of power generators... kick ass"&lt;br /&gt;&lt;br /&gt;I'd buy it...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6537747915423340290-1364096609636836133?l=blog.staticclass.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.staticclass.com/feeds/1364096609636836133/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6537747915423340290&amp;postID=1364096609636836133' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6537747915423340290/posts/default/1364096609636836133'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6537747915423340290/posts/default/1364096609636836133'/><link rel='alternate' type='text/html' href='http://blog.staticclass.com/2007/11/unrelated-again.html' title='Unrelated again'/><author><name>Mark</name><uri>http://www.blogger.com/profile/04845054296112400023</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6537747915423340290.post-306413441680684532</id><published>2007-06-29T10:51:00.001-05:00</published><updated>2009-03-27T17:22:00.775-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Code'/><title type='text'>More Java</title><content type='html'>I'm not a fan of java, I too often find myself doing this:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.staticclass.com/javaDeath.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;I promise to I will get back to pointful blogs soon! Just venting java issues :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6537747915423340290-306413441680684532?l=blog.staticclass.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.staticclass.com/feeds/306413441680684532/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6537747915423340290&amp;postID=306413441680684532' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6537747915423340290/posts/default/306413441680684532'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6537747915423340290/posts/default/306413441680684532'/><link rel='alternate' type='text/html' href='http://blog.staticclass.com/2007/06/more-java.html' title='More Java'/><author><name>Mark</name><uri>http://www.blogger.com/profile/04845054296112400023</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6537747915423340290.post-2716382178977208584</id><published>2007-06-26T14:41:00.000-05:00</published><updated>2007-06-26T14:46:12.815-05:00</updated><title type='text'>Comments out of context</title><content type='html'>&lt;img src="file:///C:/DOCUME%7E1/MarkT/LOCALS%7E1/Temp/moz-screenshot.jpg" alt="" /&gt;&lt;img src="file:///C:/DOCUME%7E1/MarkT/LOCALS%7E1/Temp/moz-screenshot-1.jpg" alt="" /&gt;&lt;img src="file:///C:/DOCUME%7E1/MarkT/LOCALS%7E1/Temp/moz-screenshot-2.jpg" alt="" /&gt;&lt;div id="504"  style=";color:transparent;"&gt;&lt;span style="font-style: normal; font-variant: normal; font-weight: normal; line-height: normal; font-size-adjust: none; font-stretch: normal; color: rgb(0, 82, 163);font-family:Arial;font-size:85%;"  &gt;&lt;b&gt;D o r l u n&lt;/b&gt;:&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style="font-family:Arial;font-size:85%;color:#000000;"&gt;i see a moon&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-style: normal; font-variant: normal; font-weight: normal; line-height: normal; font-size-adjust: none; font-stretch: normal; color: rgb(0, 82, 163);font-family:Arial;font-size:85%;"  &gt;&lt;b&gt;D o r l u n&lt;/b&gt;:&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style="font-family:Arial;font-size:85%;color:#000000;"&gt;and you on it&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-style: normal; font-variant: normal; font-weight: normal; line-height: normal; font-size-adjust: none; font-stretch: normal; color: rgb(0, 82, 163);font-family:Arial;font-size:85%;"  &gt;&lt;b&gt;D o r l u n&lt;/b&gt;:&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style="font-family:Arial;font-size:85%;color:#000000;"&gt;with a bottle of water&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-style: normal; font-variant: normal; font-weight: normal; line-height: normal; font-size-adjust: none; font-stretch: normal; color: rgb(0, 82, 163);font-family:Arial;font-size:85%;"  &gt;&lt;b&gt;D o r l u n&lt;/b&gt;:&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style="font-family:Arial;font-size:85%;color:#000000;"&gt;&lt;span style="font-size:85%;"&gt;and a computer&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;img src="http://www.staticclass.com/meonmoon.jpg" /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6537747915423340290-2716382178977208584?l=blog.staticclass.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.staticclass.com/feeds/2716382178977208584/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6537747915423340290&amp;postID=2716382178977208584' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6537747915423340290/posts/default/2716382178977208584'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6537747915423340290/posts/default/2716382178977208584'/><link rel='alternate' type='text/html' href='http://blog.staticclass.com/2007/06/comments-out-of-context.html' title='Comments out of context'/><author><name>Mark</name><uri>http://www.blogger.com/profile/04845054296112400023</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6537747915423340290.post-2709705957960705323</id><published>2007-06-21T11:57:00.000-05:00</published><updated>2009-03-27T17:22:27.683-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Code'/><title type='text'>Java summed up</title><content type='html'>Akuma: Java is like trying to run with shoes that are 10 sizes to big.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6537747915423340290-2709705957960705323?l=blog.staticclass.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.staticclass.com/feeds/2709705957960705323/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6537747915423340290&amp;postID=2709705957960705323' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6537747915423340290/posts/default/2709705957960705323'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6537747915423340290/posts/default/2709705957960705323'/><link rel='alternate' type='text/html' href='http://blog.staticclass.com/2007/06/akuma-java-is-like-trying-to-run-with.html' title='Java summed up'/><author><name>Mark</name><uri>http://www.blogger.com/profile/04845054296112400023</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6537747915423340290.post-2051305195579299264</id><published>2007-06-08T16:13:00.000-05:00</published><updated>2009-03-31T15:57:55.852-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C-Sharp'/><category scheme='http://www.blogger.com/atom/ns#' term='Code'/><title type='text'>Introduction and VBOs</title><content type='html'>So a quick introduction. My name is Mark and I work for a video game development company as lead graphics engine developer. My posts will usually be about .Net or OpenGL. My posts will not be related to things I do at work, instead they will be about my home projects, which are about video games. So if I speak about something, I will be speaking about my home project implementation, which is never the same as my work implementation :)&lt;br /&gt;&lt;br /&gt;So I guess the best place for me to start, is to talk about OpenGL since it's awesome. As a bit of background, my home project is a 3D gaming engine written in C# with interop to OpenGL.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;VBOs&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;When I first started writing in OpenGL, I used things like glBegin() and glVertex3f(). I could never get any decent framefrates. Then I learned about Vertex Arrays which helped a lot, and then I finally learned about VBOs about a year ago. These things are awesome.&lt;br /&gt;&lt;br /&gt;So what is a VBO?&lt;br /&gt;A Vertex Buffer Object is a piece of memory on the video card that stores all of your vertices, normals, colors, and texture coordinate data. The fantastic part is that its all saved on the video card so you don't have to do millions of system calls to render your data to the screen.&lt;br /&gt;&lt;br /&gt;So how do I make a VBO?&lt;br /&gt;First you need an ID for the VBO:&lt;br /&gt;&lt;br /&gt;glGenBuffersARB(1, id);&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;[glGenBuffersARB(int amountToGenerate, int[] returnValues)]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Now you have ur index, that will be ur pointer to your geometry. Please notice the ARB at the end. OpenGL has the calls with ARB and the ones without!! Both are the same, but the ones with ARB will work on older video cards :)&lt;br /&gt;&lt;br /&gt;Now we need to add stuff to it ( like the vertex data). To add to it, we have to bind it first (just like you'd bind a texture)&lt;br /&gt;&lt;br /&gt;glBindBufferARB(id[0]);&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;[glBindBufferARB(int idToBind)]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Now we will put our data in from our program to the video card. In my case data is a float[]&lt;br /&gt;&lt;br /&gt;glBufferDataARB(GL_ARRAY_BUFFER, data.length * sizeof(float), data, GL_STATIC_DRAW);&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;[glBufferDataARB(Type, uint size, void * data, GL_STATIC_DRAW? GL_READ_WRITE?);]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Okay so now you've moved your vertices over to the video card!! And you've got an id that points to that memory ( id[0]). Now we'll want to draw it back to the screen later...&lt;br /&gt;&lt;br /&gt;To draw the verts back we'll need to enable the client state for vertices.&lt;br /&gt;&lt;br /&gt;glEnableClientState( GL_VERTEX_ARRAY);&lt;br /&gt;glBindBuffer(id[0]);&lt;br /&gt;glVertexPointer(3, GL_FLOAT, 0, 0);&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;[glVertexPointer(int howManyFloatsInAVertex, int dataTypeOfData, ignore, ignore)]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;So since u pass 0 as the address for the pointer, it knows to look for a VBO with the ID in the glBindBuffer call. Which I have set to be id[0]. Now its important to note this is where the different kinds of client states change. If you were configuring the texture UV's you'd have a VBO for those ( or if you wanna be extra fast you'd interleave them all into 1 and use an offset where i have a 0 in the pointer) So lets pretend I made a uv pointer also... I do the lines above and then also add:&lt;br /&gt;&lt;br /&gt;glEnableClientState( GL_TEXTURE__COORD_ARRAY);&lt;br /&gt;glBindBuffer(textureVBOid[0]);&lt;br /&gt;glTexCoordPointer(2, GL_FLOAT, 0, 0);&lt;br /&gt;[glTexCoordPointer(int howManyFloatsInAVertex, int dataTypeOfData, ignore, ignore)]&lt;br /&gt;&lt;br /&gt;Now i'd have my Vertices ( sized a list of floats where every 3 floats are a vertex, and a list of floats where every 2 are a float for the uv's) All bound and ready to render... 1 line more and we have everything on screen:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;glDrawElements( GL_TRIANGLES , totalNumberOfIndices, GL_Unsigned_Int, indices );&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;[glDrawElements(int drawMode, int amountOfIndicesToDraw, Index data type, void * indexArray)]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;If you don't care to render using indices, just make an array of uints called indices and fill it with 1, 2, 3, 4, 5, 6... numVerts. That will just render your vertices in order. Indices can also be put as a VBO as well ;)&lt;br /&gt;&lt;br /&gt;So I hope that helps the concept with a little behind the scenes. I'll probably explain how I'm doing fonts in the next one!&lt;br /&gt;&lt;br /&gt;Time for work! Take care now.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6537747915423340290-2051305195579299264?l=blog.staticclass.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.staticclass.com/feeds/2051305195579299264/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6537747915423340290&amp;postID=2051305195579299264' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6537747915423340290/posts/default/2051305195579299264'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6537747915423340290/posts/default/2051305195579299264'/><link rel='alternate' type='text/html' href='http://blog.staticclass.com/2007/06/vbos.html' title='Introduction and VBOs'/><author><name>Mark</name><uri>http://www.blogger.com/profile/04845054296112400023</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6537747915423340290.post-7876070243524648479</id><published>2007-06-08T13:09:00.000-05:00</published><updated>2007-06-08T13:10:11.341-05:00</updated><title type='text'>Welcome</title><content type='html'>This is my first post!  Check back soon.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6537747915423340290-7876070243524648479?l=blog.staticclass.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.staticclass.com/feeds/7876070243524648479/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6537747915423340290&amp;postID=7876070243524648479' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6537747915423340290/posts/default/7876070243524648479'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6537747915423340290/posts/default/7876070243524648479'/><link rel='alternate' type='text/html' href='http://blog.staticclass.com/2007/06/welcome.html' title='Welcome'/><author><name>Mark</name><uri>http://www.blogger.com/profile/04845054296112400023</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
