<?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-7052345187777795159</id><updated>2011-12-29T20:45:58.980-08:00</updated><category term='GPU'/><category term='math'/><category term='drawing'/><category term='General Purpose GPU'/><category term='vacation'/><category term='programming'/><category term='graphics'/><category term='lissajous curves'/><category term='music'/><category term='Unigine'/><category term='fall'/><category term='C# tutorial'/><category term='concurrency'/><category term='picturebox'/><category term='backbuffering'/><category term='networking'/><category term='OpenMP'/><category term='c#'/><category term='multi-threading'/><category term='curves'/><category term='Primal Carnage'/><category term='scooters'/><category term='CUDA'/><category term='Raknet'/><category term='SoundCloud'/><title type='text'>Programmammin'</title><subtitle type='html'>The thoughts and musings of a programmer</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://jhegman.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052345187777795159/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://jhegman.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Jasmine</name><uri>http://www.blogger.com/profile/12337904656893713443</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://2.bp.blogspot.com/_TJWccbWs7CY/S2U7h1APuMI/AAAAAAAACMc/2QooVrB69_w/S220/GEDC0040_autolevels_cropped.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>25</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7052345187777795159.post-2345678965334815706</id><published>2010-06-30T02:44:00.000-07:00</published><updated>2010-06-30T02:44:13.511-07:00</updated><title type='text'>4th of July Weekend</title><content type='html'>Dunno what you guys are all doing, but here are some cool ideas! Esp. the last one if you are near good fireworks!!&lt;br /&gt;&lt;br /&gt;http://www.instructables.com/id/4th-of-July/&lt;br /&gt;&lt;br /&gt;http://www.instructables.com/id/Buffalo-Wings-Recipe/&lt;br /&gt;&lt;br /&gt;http://www.instructables.com/id/Photographing-Fireworks/step2/Camera-Setup/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052345187777795159-2345678965334815706?l=jhegman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jhegman.blogspot.com/feeds/2345678965334815706/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jhegman.blogspot.com/2010/06/4th-of-july-weekend.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052345187777795159/posts/default/2345678965334815706'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052345187777795159/posts/default/2345678965334815706'/><link rel='alternate' type='text/html' href='http://jhegman.blogspot.com/2010/06/4th-of-july-weekend.html' title='4th of July Weekend'/><author><name>Jasmine</name><uri>http://www.blogger.com/profile/12337904656893713443</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://2.bp.blogspot.com/_TJWccbWs7CY/S2U7h1APuMI/AAAAAAAACMc/2QooVrB69_w/S220/GEDC0040_autolevels_cropped.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052345187777795159.post-3649968983570048474</id><published>2010-02-19T23:05:00.001-08:00</published><updated>2010-02-19T23:05:47.335-08:00</updated><title type='text'>Teaser</title><content type='html'>Thought I'd show you a lil somethin somethin ;)&amp;nbsp; No more pink rexy!&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_TJWccbWs7CY/S3-JpsUEgSI/AAAAAAAACNk/N6Pw57mauVY/s1600-h/00000.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_TJWccbWs7CY/S3-JpsUEgSI/AAAAAAAACNk/N6Pw57mauVY/s320/00000.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052345187777795159-3649968983570048474?l=jhegman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jhegman.blogspot.com/feeds/3649968983570048474/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jhegman.blogspot.com/2010/02/teaser.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052345187777795159/posts/default/3649968983570048474'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052345187777795159/posts/default/3649968983570048474'/><link rel='alternate' type='text/html' href='http://jhegman.blogspot.com/2010/02/teaser.html' title='Teaser'/><author><name>Jasmine</name><uri>http://www.blogger.com/profile/12337904656893713443</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://2.bp.blogspot.com/_TJWccbWs7CY/S2U7h1APuMI/AAAAAAAACMc/2QooVrB69_w/S220/GEDC0040_autolevels_cropped.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_TJWccbWs7CY/S3-JpsUEgSI/AAAAAAAACNk/N6Pw57mauVY/s72-c/00000.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052345187777795159.post-5749285170166855829</id><published>2010-02-19T02:40:00.000-08:00</published><updated>2010-02-19T02:40:20.667-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Raknet'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Unigine'/><category scheme='http://www.blogger.com/atom/ns#' term='Primal Carnage'/><category scheme='http://www.blogger.com/atom/ns#' term='networking'/><title type='text'>Quick Update</title><content type='html'>Okay, well to check in with you guys as I take my 3:30 am break:&lt;br /&gt;&lt;br /&gt;Today I have made great progress! As it is, you can spectate or join the game. If you join the game as a human, you actually are a pink t-rex. If you join as a dino, you are a normal looking raptor. So I am now in the process of melding into netPlayer a first person view capability so that the human can actually be a ..err.. human.&lt;br /&gt;&lt;br /&gt;Then I am going to hook up the controls and movement for the players so that that is shared through the network as well as everything else. As it is it's only local, as I ripped out the code when I was having some issues from before. I am going to build it better this time, but it's already rather fun as when you spawn as a dinosaur, the camera is behind you, so actually feel like you are running around in a real game!&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_TJWccbWs7CY/S35p4JsebTI/AAAAAAAACNU/p6YhrzrfiKg/s1600-h/00005.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_TJWccbWs7CY/S35p4JsebTI/AAAAAAAACNU/p6YhrzrfiKg/s320/00005.jpg" /&gt;&lt;/a&gt;&lt;a href="http://2.bp.blogspot.com/_TJWccbWs7CY/S35qJterTvI/AAAAAAAACNc/v5ThZ0RHGWo/s1600-h/00002.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_TJWccbWs7CY/S35qJterTvI/AAAAAAAACNc/v5ThZ0RHGWo/s320/00002.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052345187777795159-5749285170166855829?l=jhegman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jhegman.blogspot.com/feeds/5749285170166855829/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jhegman.blogspot.com/2010/02/quick-update.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052345187777795159/posts/default/5749285170166855829'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052345187777795159/posts/default/5749285170166855829'/><link rel='alternate' type='text/html' href='http://jhegman.blogspot.com/2010/02/quick-update.html' title='Quick Update'/><author><name>Jasmine</name><uri>http://www.blogger.com/profile/12337904656893713443</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://2.bp.blogspot.com/_TJWccbWs7CY/S2U7h1APuMI/AAAAAAAACMc/2QooVrB69_w/S220/GEDC0040_autolevels_cropped.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_TJWccbWs7CY/S35p4JsebTI/AAAAAAAACNU/p6YhrzrfiKg/s72-c/00005.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052345187777795159.post-2264333494771176973</id><published>2010-02-15T16:44:00.000-08:00</published><updated>2010-02-15T16:53:09.694-08:00</updated><title type='text'>Decisions decisions</title><content type='html'>*splash* *breathe*&lt;br /&gt;Okay, well, I've got the webserver now displaying a chat history box so that the website can perform full two way communication with the players in the game. I want to add CSS to the webserver so that it can look a lot better and more organized/user-friendly. Getting the ball rolling here is entirely reliant on a simple line or two, and as I've already given internal tags css ids, I kind of want to do that.&lt;br /&gt;&lt;br /&gt;But I also have work to do cleaning up the entity transmission code: animations need to sync over the network too. I've fixed every glitch I've been having, but in the process of re-writing the code the 2nd time the players no longer transmit their positions, only the server transmits its! Kind of an important step hah. So that is also on my immediate to do list.&lt;br /&gt;&lt;br /&gt;Third, I would like to add more UI elements to facilitate choosing and switching teams and spectating. Once this is in, it's a hop, skip, and a jump to having actual gameplay being possible. Anyway, this 'lil submarine is goin back down into the coding depths *plunge*&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_TJWccbWs7CY/S3nqXyK0NjI/AAAAAAAACNM/rz_kj6I5aUo/s1600-h/jasnetworking.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_TJWccbWs7CY/S3nqXyK0NjI/AAAAAAAACNM/rz_kj6I5aUo/s320/jasnetworking.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052345187777795159-2264333494771176973?l=jhegman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jhegman.blogspot.com/feeds/2264333494771176973/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jhegman.blogspot.com/2010/02/decisions-decisions.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052345187777795159/posts/default/2264333494771176973'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052345187777795159/posts/default/2264333494771176973'/><link rel='alternate' type='text/html' href='http://jhegman.blogspot.com/2010/02/decisions-decisions.html' title='Decisions decisions'/><author><name>Jasmine</name><uri>http://www.blogger.com/profile/12337904656893713443</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://2.bp.blogspot.com/_TJWccbWs7CY/S2U7h1APuMI/AAAAAAAACMc/2QooVrB69_w/S220/GEDC0040_autolevels_cropped.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_TJWccbWs7CY/S3nqXyK0NjI/AAAAAAAACNM/rz_kj6I5aUo/s72-c/jasnetworking.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052345187777795159.post-8258383919959258607</id><published>2010-02-13T00:45:00.000-08:00</published><updated>2010-02-13T00:45:10.003-08:00</updated><title type='text'>Upperdates</title><content type='html'>Well, unfortunately I won't be doing much more work on at least one of my recent songs as after a little bit of work it seems to jig Live into only my right audio channel and if I barely touch the set Live just crashes and I have to wait a while so I can restart it. Soo, I am typing this. Networking is coming along great! I do wish it was coming along faster, but who doesn't. As well, it actually has come quite fast, because I got it all working manually already! But, I trashed that after getting an awesome response from the Unigine crew shedding a little more light on their networking system.&lt;br /&gt;&lt;br /&gt;Long story short is that I was essentially going to be recreating some parts of what they've already done, so I decided it would be best to use theirs - after all, it will be the most likely candidate if there are somehow any engine-side speedups that can be taken advantage of (in the e-mail they mentioned increasing performance with networking) anyway. So, things have hit a few hitches. Nothing major really, just silly minor bugs - the kind that any really serious project requires attention to. Such as states being shared by the server somehow mismatching the server's actual memory, so that while even ON the server there are the right amount of players, anyone who joins gets anyone who hasn't joined. Most likely I have either missed a command, or something else, perhaps an assert or if-return is running before the right destruction procedure. So far though, the logs on both server and client's consoles read a-ok. It's possible it is a Unigine side problem, but this already spans a good 13-15 files already and it really could be split into more so I am not ruling out that it's my error somewhere. Looks like Live has stopped so I'm gonna play around with some music for a bit and get back to coding. :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052345187777795159-8258383919959258607?l=jhegman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jhegman.blogspot.com/feeds/8258383919959258607/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jhegman.blogspot.com/2010/02/upperdates.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052345187777795159/posts/default/8258383919959258607'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052345187777795159/posts/default/8258383919959258607'/><link rel='alternate' type='text/html' href='http://jhegman.blogspot.com/2010/02/upperdates.html' title='Upperdates'/><author><name>Jasmine</name><uri>http://www.blogger.com/profile/12337904656893713443</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://2.bp.blogspot.com/_TJWccbWs7CY/S2U7h1APuMI/AAAAAAAACMc/2QooVrB69_w/S220/GEDC0040_autolevels_cropped.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052345187777795159.post-8429643849139038139</id><published>2010-02-05T04:24:00.001-08:00</published><updated>2010-02-05T04:24:49.207-08:00</updated><title type='text'>netWORKING</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_TJWccbWs7CY/S2wOAnOO2sI/AAAAAAAACNE/h-5TUU7mkNY/s1600-h/netWORKING.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_TJWccbWs7CY/S2wOAnOO2sI/AAAAAAAACNE/h-5TUU7mkNY/s320/netWORKING.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Whooooo!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052345187777795159-8429643849139038139?l=jhegman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jhegman.blogspot.com/feeds/8429643849139038139/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jhegman.blogspot.com/2010/02/networking.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052345187777795159/posts/default/8429643849139038139'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052345187777795159/posts/default/8429643849139038139'/><link rel='alternate' type='text/html' href='http://jhegman.blogspot.com/2010/02/networking.html' title='netWORKING'/><author><name>Jasmine</name><uri>http://www.blogger.com/profile/12337904656893713443</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://2.bp.blogspot.com/_TJWccbWs7CY/S2U7h1APuMI/AAAAAAAACMc/2QooVrB69_w/S220/GEDC0040_autolevels_cropped.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_TJWccbWs7CY/S2wOAnOO2sI/AAAAAAAACNE/h-5TUU7mkNY/s72-c/netWORKING.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052345187777795159.post-3735047703927337320</id><published>2010-02-04T01:35:00.001-08:00</published><updated>2010-02-04T01:35:33.204-08:00</updated><title type='text'>Working Net</title><content type='html'>Just wrapped my head around how we are likely to be doing networking in Uningine. Still lots to ponder, will report back here - gonna let my brain rest for a bit hehe :D&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052345187777795159-3735047703927337320?l=jhegman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jhegman.blogspot.com/feeds/3735047703927337320/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jhegman.blogspot.com/2010/02/working-net.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052345187777795159/posts/default/3735047703927337320'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052345187777795159/posts/default/3735047703927337320'/><link rel='alternate' type='text/html' href='http://jhegman.blogspot.com/2010/02/working-net.html' title='Working Net'/><author><name>Jasmine</name><uri>http://www.blogger.com/profile/12337904656893713443</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://2.bp.blogspot.com/_TJWccbWs7CY/S2U7h1APuMI/AAAAAAAACMc/2QooVrB69_w/S220/GEDC0040_autolevels_cropped.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052345187777795159.post-3892753145091826281</id><published>2010-02-02T00:07:00.000-08:00</published><updated>2010-02-02T05:03:38.750-08:00</updated><title type='text'>Whoo pathing</title><content type='html'>Hooray! Got pathing functioning. Currently it just uses linear interpolation but we needed it without having to use the standard Uniengine pipeline of using 3ds Max. We are doing it so that we can place out nodes, or trace camera movement, in-engine, then replay that behavior on command. My code is in my personal testbed, as is Michael's in his, so tomorrow (read: later today) we are going to merge them.&lt;br /&gt;&lt;br /&gt;Hopefully a pretty video will result once we have all this done. Also will be able to be used for cinematics, object motion, and many other such things!&lt;br /&gt;&lt;br /&gt;(edit)&lt;br /&gt;Welp, it's now 6 AM and I have stayed up FAAARRR too long!&amp;nbsp; BUT!&amp;nbsp; I created a server statistic/management page and successfully have communications from game to web and from web to game! Victory! Great success! *passes out*&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_TJWccbWs7CY/S2gimuTqMCI/AAAAAAAACM8/som5TNztZa8/s1600-h/WebInGame.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_TJWccbWs7CY/S2gimuTqMCI/AAAAAAAACM8/som5TNztZa8/s320/WebInGame.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052345187777795159-3892753145091826281?l=jhegman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jhegman.blogspot.com/feeds/3892753145091826281/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jhegman.blogspot.com/2010/02/whoo-pathing.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052345187777795159/posts/default/3892753145091826281'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052345187777795159/posts/default/3892753145091826281'/><link rel='alternate' type='text/html' href='http://jhegman.blogspot.com/2010/02/whoo-pathing.html' title='Whoo pathing'/><author><name>Jasmine</name><uri>http://www.blogger.com/profile/12337904656893713443</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://2.bp.blogspot.com/_TJWccbWs7CY/S2U7h1APuMI/AAAAAAAACMc/2QooVrB69_w/S220/GEDC0040_autolevels_cropped.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_TJWccbWs7CY/S2gimuTqMCI/AAAAAAAACM8/som5TNztZa8/s72-c/WebInGame.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052345187777795159.post-5357027598951988997</id><published>2010-01-31T00:10:00.000-08:00</published><updated>2010-01-31T00:10:27.650-08:00</updated><title type='text'>CVars</title><content type='html'>Today I got console variables working in Uniengine. These will hopefully be quite useful, especially later on once we get game modes in and going for all the tiny mechanical tweaks.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052345187777795159-5357027598951988997?l=jhegman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jhegman.blogspot.com/feeds/5357027598951988997/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jhegman.blogspot.com/2010/01/cvars.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052345187777795159/posts/default/5357027598951988997'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052345187777795159/posts/default/5357027598951988997'/><link rel='alternate' type='text/html' href='http://jhegman.blogspot.com/2010/01/cvars.html' title='CVars'/><author><name>Jasmine</name><uri>http://www.blogger.com/profile/12337904656893713443</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://2.bp.blogspot.com/_TJWccbWs7CY/S2U7h1APuMI/AAAAAAAACMc/2QooVrB69_w/S220/GEDC0040_autolevels_cropped.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052345187777795159.post-1066211137583696482</id><published>2010-01-29T03:34:00.000-08:00</published><updated>2010-01-29T03:34:19.327-08:00</updated><title type='text'>Back online</title><content type='html'>Welp, things are about back in order now. &lt;a href="http://www.moddb.com/games/primal-carnage"&gt;Primal Carnage&lt;/a&gt; is coming along great and hopefully good news of investment will be coming in soon! Musically I've been working on &lt;a href="http://soundcloud.com/change-of-intent/good-vibrations"&gt;Good Vibrations&lt;/a&gt; and a new, slightly more abstract Anotherfold and Crease in the Soup. It's got a lot of small nuances, as I am &lt;i&gt;finally&lt;/i&gt; getting to monitor via great headphones! I got &lt;a href="http://www.amazon.com/Sennheiser-HD-280-Pro-Professional/dp/B000065BPB"&gt;Sennheiser HD-280 Pro&lt;/a&gt;'s for Christmas and am loving them. If you are in need of some nice headphones, they are pretty nice. I've had a few always wonderful revelation moments lately, especially considering the drums.&lt;br /&gt;&lt;br /&gt;Anywho, I've been updating &lt;a href="http://soundcloud.com/change-of-intent/good-vibrations"&gt;Good Vibrations&lt;/a&gt; and will upload Anotherfold once I get it to a point that I am comfortable with. At the moment it is 5:30 or so in length.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052345187777795159-1066211137583696482?l=jhegman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jhegman.blogspot.com/feeds/1066211137583696482/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jhegman.blogspot.com/2010/01/back-online.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052345187777795159/posts/default/1066211137583696482'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052345187777795159/posts/default/1066211137583696482'/><link rel='alternate' type='text/html' href='http://jhegman.blogspot.com/2010/01/back-online.html' title='Back online'/><author><name>Jasmine</name><uri>http://www.blogger.com/profile/12337904656893713443</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://2.bp.blogspot.com/_TJWccbWs7CY/S2U7h1APuMI/AAAAAAAACMc/2QooVrB69_w/S220/GEDC0040_autolevels_cropped.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052345187777795159.post-6644980044578950107</id><published>2010-01-23T20:37:00.001-08:00</published><updated>2010-01-23T20:37:54.819-08:00</updated><title type='text'>Reboot! *tap, tap*</title><content type='html'>Long story short, I had to reinstall Windows clean. It will be for the better so all is well, but bear with me as I fall back into step!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052345187777795159-6644980044578950107?l=jhegman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jhegman.blogspot.com/feeds/6644980044578950107/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jhegman.blogspot.com/2010/01/reboot-tap-tap.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052345187777795159/posts/default/6644980044578950107'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052345187777795159/posts/default/6644980044578950107'/><link rel='alternate' type='text/html' href='http://jhegman.blogspot.com/2010/01/reboot-tap-tap.html' title='Reboot! *tap, tap*'/><author><name>Jasmine</name><uri>http://www.blogger.com/profile/12337904656893713443</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://2.bp.blogspot.com/_TJWccbWs7CY/S2U7h1APuMI/AAAAAAAACMc/2QooVrB69_w/S220/GEDC0040_autolevels_cropped.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052345187777795159.post-617403992028760897</id><published>2009-11-29T17:03:00.000-08:00</published><updated>2009-11-29T17:12:58.989-08:00</updated><title type='text'>Busy little bee</title><content type='html'>So sorry I haven't been updating! In between keeping up with school work and projects and Red Orchestra I just haven't had even thought about updating! My bad.&lt;br /&gt;&lt;br /&gt;Basically I've just been catching up in schoolwork, lazing around for my little Thanksgiving break (way needed it!), and coding on my lil SFML thingy. I am not sure what it's going to be yet, possibly just a template codebase. I got an undo/redo system in and working for the most part - but wanna fine tune it and improve controls for the editor - otherwise the basics are almost all done! I tried implementing CEGUI, which I have done before, but I am thinking in one of the newer versions they changed a fundamental usage of it so I ran into some dumb issues when trying to integrate it with SFML - will have to return to that later..&lt;br /&gt;&lt;br /&gt;There needs to be more US-based Red Orchestra servers, and more people need to play on them. I do fine with my pings as it is, but always playing with French/German/Russians get old - wish I was at least picking up on their languages better than I seem to be.. If you play let me know, it's such a fun game! Especially when there are lots of people in the server, it really gives a sensation unique to those sectors of World War II.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052345187777795159-617403992028760897?l=jhegman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jhegman.blogspot.com/feeds/617403992028760897/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jhegman.blogspot.com/2009/11/busy-little-bee.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052345187777795159/posts/default/617403992028760897'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052345187777795159/posts/default/617403992028760897'/><link rel='alternate' type='text/html' href='http://jhegman.blogspot.com/2009/11/busy-little-bee.html' title='Busy little bee'/><author><name>Jasmine</name><uri>http://www.blogger.com/profile/12337904656893713443</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://2.bp.blogspot.com/_TJWccbWs7CY/S2U7h1APuMI/AAAAAAAACMc/2QooVrB69_w/S220/GEDC0040_autolevels_cropped.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052345187777795159.post-5969641978286544586</id><published>2009-11-18T18:58:00.000-08:00</published><updated>2009-11-18T18:58:45.186-08:00</updated><title type='text'>Splines!</title><content type='html'>Sorry for not posting in so long. Went through a super heavy week, then schoolwork catchup, then reading. Anyway, I have returned to SFML and been doodling a little bit in various small projects I'm piecing together. I decided I should kill two birds with one stone and clear out more of my fixfox tabs (down to 71!) AND make a tech demo/proof of concept for myself on splines.&lt;br /&gt;&lt;br /&gt;A while back I was reading up on them heavily, I didn't want to use a formula I didn't truly understand. I got them down great, and realized how awesome of an exercise they actually were in matrix maths!&lt;br /&gt;&lt;br /&gt;That aside, I never actually DID anything with them. So I just whipped this up in about an hour and a half. It mainly took so long because I was trying different things with SFML's Shape system. I think in the end it came out pretty nice though! It currently supports Hermite, Cubic bezier, and Catmull-Rom splines. I would like to make it more interactive, so that one can simply drag the points around rather than just generating a new one and sliding about it. Probably should eat some supper now though, mmmmm. Beef stew to the rescue!&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_TJWccbWs7CY/SwS0CrCNwdI/AAAAAAAACKs/q25ZhixpjWs/s1600/screenshot1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_TJWccbWs7CY/SwS0CrCNwdI/AAAAAAAACKs/q25ZhixpjWs/s320/screenshot1.jpg" /&gt;&lt;/a&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/7052345187777795159-5969641978286544586?l=jhegman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jhegman.blogspot.com/feeds/5969641978286544586/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jhegman.blogspot.com/2009/11/splines.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052345187777795159/posts/default/5969641978286544586'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052345187777795159/posts/default/5969641978286544586'/><link rel='alternate' type='text/html' href='http://jhegman.blogspot.com/2009/11/splines.html' title='Splines!'/><author><name>Jasmine</name><uri>http://www.blogger.com/profile/12337904656893713443</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://2.bp.blogspot.com/_TJWccbWs7CY/S2U7h1APuMI/AAAAAAAACMc/2QooVrB69_w/S220/GEDC0040_autolevels_cropped.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_TJWccbWs7CY/SwS0CrCNwdI/AAAAAAAACKs/q25ZhixpjWs/s72-c/screenshot1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052345187777795159.post-1874569078329004858</id><published>2009-11-03T20:44:00.000-08:00</published><updated>2009-11-03T20:44:28.634-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CUDA'/><category scheme='http://www.blogger.com/atom/ns#' term='multi-threading'/><category scheme='http://www.blogger.com/atom/ns#' term='OpenMP'/><category scheme='http://www.blogger.com/atom/ns#' term='graphics'/><category scheme='http://www.blogger.com/atom/ns#' term='General Purpose GPU'/><category scheme='http://www.blogger.com/atom/ns#' term='GPU'/><category scheme='http://www.blogger.com/atom/ns#' term='concurrency'/><title type='text'>OpenMP + BSGP</title><content type='html'>Spent a large portion of my afternoon today reading over &lt;a href="http://bisqwit.iki.fi/story/howto/openmp/"&gt;OpenMP&lt;/a&gt; and then &lt;a href="http://www.kunzhou.net/2008/BSGP.pdf"&gt;BSGP&lt;/a&gt;, which stands for Bulk-Synchronous GPU Programming. Essentially it is attempting to do something similar to what OpenMP attempts to do for concurrency to the GPU arena. By this, I mean it is for general purpose programming on GPUs, and it attempts to also be quasi-cross-compatible across different manufacturer's cards. As it is CUDA et al. is fine, but they are all limited to their respective manufacturer's cards only. BSGP takes a similar-to-C-syntax blurb as a kernel function for a large number of stream based processors to run in parallel (way more than just 2 or 4 cores - but they are only good at certain things as compared to a CPU).&lt;br /&gt;&lt;br /&gt;Pretty interesting stuff, I hope to apply OpenMP to my projects in the future especially! Beware jumping straight into it though - I think the guide that I have linked to does a fairly good job of catching you up on it but ANY multi-threaded programming will benefit from a thorough understanding of the intricacies and difficulties-by-nature of concurrency/parallelization.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052345187777795159-1874569078329004858?l=jhegman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jhegman.blogspot.com/feeds/1874569078329004858/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jhegman.blogspot.com/2009/11/openmp-bsgp.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052345187777795159/posts/default/1874569078329004858'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052345187777795159/posts/default/1874569078329004858'/><link rel='alternate' type='text/html' href='http://jhegman.blogspot.com/2009/11/openmp-bsgp.html' title='OpenMP + BSGP'/><author><name>Jasmine</name><uri>http://www.blogger.com/profile/12337904656893713443</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://2.bp.blogspot.com/_TJWccbWs7CY/S2U7h1APuMI/AAAAAAAACMc/2QooVrB69_w/S220/GEDC0040_autolevels_cropped.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052345187777795159.post-4272587002066107085</id><published>2009-11-02T18:21:00.000-08:00</published><updated>2009-11-02T18:21:56.980-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='music'/><category scheme='http://www.blogger.com/atom/ns#' term='SoundCloud'/><title type='text'>Some Music By Me</title><content type='html'>Just hit me to also post my music on here, can also be found on my website and soundcloud. :)&lt;br /&gt;&lt;br /&gt;&lt;object height="245" width="100%"&gt; &lt;param name="movie" value="http://player.soundcloud.com/player.swf?url=http%3A%2F%2Fsoundcloud.com%2Fchange-of-intent%2Fsets%2Frecomberance&amp;amp;show_comments=false&amp;amp;auto_play=false&amp;amp;show_playcount=false&amp;amp;show_artwork=false&amp;amp;color=760e43"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed allowscriptaccess="always" height="245" src="http://player.soundcloud.com/player.swf?url=http%3A%2F%2Fsoundcloud.com%2Fchange-of-intent%2Fsets%2Frecomberance&amp;amp;show_comments=false&amp;amp;auto_play=false&amp;amp;show_playcount=false&amp;amp;show_artwork=false&amp;amp;color=760e43" type="application/x-shockwave-flash" width="100%"&gt;&lt;/embed&gt; &lt;/object&gt;   &lt;span&gt;&lt;a href="http://soundcloud.com/change-of-intent/sets/recomberance"&gt;Recomberance&lt;/a&gt;  by  &lt;a href="http://soundcloud.com/change-of-intent"&gt;Change of Intent&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052345187777795159-4272587002066107085?l=jhegman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jhegman.blogspot.com/feeds/4272587002066107085/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jhegman.blogspot.com/2009/11/some-music-by-me.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052345187777795159/posts/default/4272587002066107085'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052345187777795159/posts/default/4272587002066107085'/><link rel='alternate' type='text/html' href='http://jhegman.blogspot.com/2009/11/some-music-by-me.html' title='Some Music By Me'/><author><name>Jasmine</name><uri>http://www.blogger.com/profile/12337904656893713443</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://2.bp.blogspot.com/_TJWccbWs7CY/S2U7h1APuMI/AAAAAAAACMc/2QooVrB69_w/S220/GEDC0040_autolevels_cropped.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052345187777795159.post-4099392587253376711</id><published>2009-11-02T18:01:00.000-08:00</published><updated>2009-11-02T18:09:25.900-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='backbuffering'/><category scheme='http://www.blogger.com/atom/ns#' term='c#'/><category scheme='http://www.blogger.com/atom/ns#' term='drawing'/><category scheme='http://www.blogger.com/atom/ns#' term='picturebox'/><category scheme='http://www.blogger.com/atom/ns#' term='C# tutorial'/><title type='text'>Fast PictureBox/Graphics Context Drawing (Manual Backbuffering) in C#</title><content type='html'>While I was working on my Lissajous Curves application, I ran into the issue of re-draw. I was using Visual Studio 2008, .NET 3.5, and everything was going fine except for the refresh rate on the picturebox. It was rather unacceptable. Keep in mind that my very first step had already been to check the Backbuffered property on the Form to true. One would think that it would show similar gains as any traditional backbuffering implementation would, but on the contrary I found no real benefit to the flag. It ended up that manually backbuffering was faster, so I present my implementation.&lt;br /&gt;&lt;br /&gt;There are probably other ways to go about this, but this is the fastest I have come across so far. It's rather simple and is just the backbuffering process word for word basically. Instead of drawing straight to our target, we will have two targets, and one we show while we draw on the other. When we finish drawing, we switch out the targets and begin drawing on the one they WERE seeing, and repeat.&lt;br /&gt;&lt;br /&gt;If you are doing any serious kind of computer graphics work then you should probably already be familiar with this concept, so I will stop elaborating on it. On to the important bits!&lt;br /&gt;&lt;br /&gt;First, I presume you use CreateGraphics(), probably on the component you wish to issue draw commands to. You then use your received context's DrawEllipse() or what have you to draw on it.&lt;br /&gt;&lt;br /&gt;All we do differently now, is we are going hold two graphical contexts and one bitmap.&lt;br /&gt;&lt;br /&gt;In your declaration, or in the function, or whatever you are currently using, you probably have something as described above, like:&lt;br /&gt;&lt;blockquote&gt;Graphics pictureboxContext;&lt;/blockquote&gt;&lt;br /&gt;We will be replacing this, as described above, with:&lt;br /&gt;&lt;blockquote&gt;Bitmap backbuffer;&lt;br /&gt;Graphics backbufferContext;&lt;br /&gt;Graphics pictureboxContext;&lt;/blockquote&gt;&lt;br /&gt;Now, in your form's _Load() function, where you should have something along the lines of:&lt;br /&gt;&lt;blockquote&gt;pictureboxContext = picturebox1.CreateGraphics();&lt;/blockquote&gt;&lt;br /&gt;We will now add to this and expand it to: (note pictureboxContext remains, so of course match the names to fit - just incase you're not paying attention ;P)&lt;br /&gt;&lt;blockquote&gt;backbuffer = new Bitmap(pictureBox1.Width, pictureBox1.Height);&lt;br /&gt;backbufferContext = Graphics.FromImage(backbuffer);&lt;br /&gt;pictureboxContext = pictureBox1.CreateGraphics();&lt;/blockquote&gt;&lt;br /&gt;Now, instead of drawing to our picturebox's Context, we will be drawing to the backbuffer's. When we are finished drawing onto the backbufferContext ( e.g. backbufferContext.DrawEllipse(...) ) and want to display our new buffer, we will need to blit it out to the picturebox's context. We can easily do this using the Graphic's class's DrawImage function:&lt;br /&gt;&lt;blockquote&gt;pictureboxContext.DrawImage(backbuffer, 0, 0);&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;There is nothing special about this, and I honestly feel that this is what the Backbuffered flag should have been doing behind the scenes all along, but oh well. I found this useful enough of a discovery to back-propogate it to my internship's C# terrain editor's display. So I hope someone else out there finds it useful :o)&lt;br /&gt;&lt;br /&gt;~Jasmine&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052345187777795159-4099392587253376711?l=jhegman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jhegman.blogspot.com/feeds/4099392587253376711/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jhegman.blogspot.com/2009/11/fast-pictureboxgraphics-context-drawing.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052345187777795159/posts/default/4099392587253376711'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052345187777795159/posts/default/4099392587253376711'/><link rel='alternate' type='text/html' href='http://jhegman.blogspot.com/2009/11/fast-pictureboxgraphics-context-drawing.html' title='Fast PictureBox/Graphics Context Drawing (Manual Backbuffering) in C#'/><author><name>Jasmine</name><uri>http://www.blogger.com/profile/12337904656893713443</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://2.bp.blogspot.com/_TJWccbWs7CY/S2U7h1APuMI/AAAAAAAACMc/2QooVrB69_w/S220/GEDC0040_autolevels_cropped.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052345187777795159.post-1839719099730484060</id><published>2009-10-30T09:56:00.000-07:00</published><updated>2009-10-30T09:56:31.823-07:00</updated><title type='text'>Visual Studio 2010</title><content type='html'>Soo I have some time before class and was going to give VS2010 a spin. Reading the What's New was awesome, static_asserts for C++ sound great, concurrency system, hooray! I had also heard they gave C++ a GUI editor much like VB/C#'s. Well, I tried creating a New Project, of Win32 calibre, with default settings (not empty project), and upon compilation with no changes...errors.&lt;br /&gt;&lt;br /&gt;Boo! So next I tried Console with empty project. Well, same error. Link.exe exits with code 1.&lt;br /&gt;&lt;br /&gt;Apparently in Microsoft.Cpp.Win32.Targets this is the offending line:&lt;br /&gt;&lt;br /&gt;        &lt;ProfileGuidedDatabase Condition="'%(Link.LinkTimeCodeGeneration)' != 'PGOptimization' and                                          '%(Link.LinkTimeCodeGeneration)' != 'PGUpdate' and                                          '%(Link.LinkTimeCodeGeneration)' != 'PGInstrument'"&gt;&lt;/ProfileGuidedDatabase&gt;&lt;br /&gt;&lt;br /&gt;Not enough time before class to mess with it, so whatever. Otherwise things seem pretty nice, typing the little bit I did in the new editor with its anti-aliased text and whatnot was nice, although I remember reading that Intellisense is missing out on lots of normal features in this edition of C++, at least for now? Wonder if Visual Assist X will put these back in.&lt;br /&gt;&lt;br /&gt;Oh well, back to '08 for now.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052345187777795159-1839719099730484060?l=jhegman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jhegman.blogspot.com/feeds/1839719099730484060/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jhegman.blogspot.com/2009/10/visual-studio-2010.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052345187777795159/posts/default/1839719099730484060'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052345187777795159/posts/default/1839719099730484060'/><link rel='alternate' type='text/html' href='http://jhegman.blogspot.com/2009/10/visual-studio-2010.html' title='Visual Studio 2010'/><author><name>Jasmine</name><uri>http://www.blogger.com/profile/12337904656893713443</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://2.bp.blogspot.com/_TJWccbWs7CY/S2U7h1APuMI/AAAAAAAACMc/2QooVrB69_w/S220/GEDC0040_autolevels_cropped.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052345187777795159.post-7532069882827615506</id><published>2009-10-29T17:27:00.000-07:00</published><updated>2009-10-29T17:28:24.793-07:00</updated><title type='text'>Curvy!</title><content type='html'>Thought I would update you, just added the &lt;a href="http://en.wikipedia.org/wiki/Butterfly_curve_%28transcendental%29"&gt;Butterfly curve&lt;/a&gt; and &lt;a href="http://www.blogger.com/en.wikipedia.org/wiki/Rose_%28mathematics%29"&gt;Rose curves&lt;/a&gt; to my lil Curve plotting app :&amp;gt; Oh, and I forgot to include sources last time, they are at the bottom of this post after the pics.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_TJWccbWs7CY/Suow6nEAd3I/AAAAAAAACKA/lE2644PNztg/s1600-h/screen4.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_TJWccbWs7CY/Suow6nEAd3I/AAAAAAAACKA/lE2644PNztg/s400/screen4.jpg" /&gt;&lt;/a&gt;&lt;a href="http://3.bp.blogspot.com/_TJWccbWs7CY/SuoxGoGwE8I/AAAAAAAACKI/BYZLOeU5ciI/s1600-h/screen5.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_TJWccbWs7CY/SuoxGoGwE8I/AAAAAAAACKI/BYZLOeU5ciI/s400/screen5.jpg" /&gt;&lt;/a&gt;&lt;a href="http://1.bp.blogspot.com/_TJWccbWs7CY/SuoxHq6-0bI/AAAAAAAACKQ/mk2SXIMt8rk/s1600-h/screen6.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_TJWccbWs7CY/SuoxHq6-0bI/AAAAAAAACKQ/mk2SXIMt8rk/s400/screen6.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;a href="http://www.jch321.com/sources/LissajousCurvesSource.rar"&gt;Source Code (C#)&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052345187777795159-7532069882827615506?l=jhegman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jhegman.blogspot.com/feeds/7532069882827615506/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jhegman.blogspot.com/2009/10/curvy.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052345187777795159/posts/default/7532069882827615506'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052345187777795159/posts/default/7532069882827615506'/><link rel='alternate' type='text/html' href='http://jhegman.blogspot.com/2009/10/curvy.html' title='Curvy!'/><author><name>Jasmine</name><uri>http://www.blogger.com/profile/12337904656893713443</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://2.bp.blogspot.com/_TJWccbWs7CY/S2U7h1APuMI/AAAAAAAACMc/2QooVrB69_w/S220/GEDC0040_autolevels_cropped.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_TJWccbWs7CY/Suow6nEAd3I/AAAAAAAACKA/lE2644PNztg/s72-c/screen4.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052345187777795159.post-6516314656466637268</id><published>2009-10-29T15:23:00.000-07:00</published><updated>2009-10-29T15:23:53.851-07:00</updated><title type='text'>Differentials Explained</title><content type='html'>So, in spirit of the last post - and because I shared this on facebook the other day and forgot to include it here, here is a wonderful video from the pre-WWII era explaining differentials! It's a wonderful video.&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/K4JhruinbWc&amp;hl=en&amp;fs=1&amp;color1=0x402061&amp;color2=0x9461ca"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/K4JhruinbWc&amp;hl=en&amp;fs=1&amp;color1=0x402061&amp;color2=0x9461ca" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052345187777795159-6516314656466637268?l=jhegman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jhegman.blogspot.com/feeds/6516314656466637268/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jhegman.blogspot.com/2009/10/differentials-explained.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052345187777795159/posts/default/6516314656466637268'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052345187777795159/posts/default/6516314656466637268'/><link rel='alternate' type='text/html' href='http://jhegman.blogspot.com/2009/10/differentials-explained.html' title='Differentials Explained'/><author><name>Jasmine</name><uri>http://www.blogger.com/profile/12337904656893713443</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://2.bp.blogspot.com/_TJWccbWs7CY/S2U7h1APuMI/AAAAAAAACMc/2QooVrB69_w/S220/GEDC0040_autolevels_cropped.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052345187777795159.post-2711421127603095115</id><published>2009-10-29T00:54:00.000-07:00</published><updated>2009-10-29T00:55:11.331-07:00</updated><title type='text'>Richard Feynman - 'Fun to Imagine'</title><content type='html'>Just found an awesome video from the &lt;a href="http://links.betterexplained.com/"&gt;links section of betterexplained.com&lt;/a&gt;. It's Richard Feynman, who was a physicist. This is actually the last clip on Youtube of the film this is from (specifically note it's part TWO of the last clip). Link to the beginning is below clip. Hope you enjoy as much as I did!&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/jrk3GbJU0k0&amp;hl=en&amp;fs=1&amp;color1=0x402061&amp;color2=0x9461ca"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/jrk3GbJU0k0&amp;hl=en&amp;fs=1&amp;color1=0x402061&amp;color2=0x9461ca" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Linksies&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.youtube.com/watch?v=v3pYRn5j7oI"&gt;The beginning of 'Fun to Imagine' (above talk)&lt;/a&gt; &lt;br /&gt;&lt;a href="http://betterexplained.com/"&gt;Betterexplained.com&lt;/a&gt; - This is an informative site. He breaks down a wipe variety of math topics into nice, easy to understand versions. I think much in the same vein as Feynman would encourage. "Learn right not rote." is their motto. The links section I linked to earlier in this post leads to his "Links" page, where people can submit things they found that fit in with this - it led me to this video.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052345187777795159-2711421127603095115?l=jhegman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jhegman.blogspot.com/feeds/2711421127603095115/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jhegman.blogspot.com/2009/10/richard-feynman-fun-to-imagine.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052345187777795159/posts/default/2711421127603095115'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052345187777795159/posts/default/2711421127603095115'/><link rel='alternate' type='text/html' href='http://jhegman.blogspot.com/2009/10/richard-feynman-fun-to-imagine.html' title='Richard Feynman - &apos;Fun to Imagine&apos;'/><author><name>Jasmine</name><uri>http://www.blogger.com/profile/12337904656893713443</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://2.bp.blogspot.com/_TJWccbWs7CY/S2U7h1APuMI/AAAAAAAACMc/2QooVrB69_w/S220/GEDC0040_autolevels_cropped.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052345187777795159.post-4997524695500631151</id><published>2009-10-26T22:30:00.000-07:00</published><updated>2009-10-26T23:19:09.777-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='curves'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><category scheme='http://www.blogger.com/atom/ns#' term='c#'/><category scheme='http://www.blogger.com/atom/ns#' term='math'/><category scheme='http://www.blogger.com/atom/ns#' term='lissajous curves'/><title type='text'>Lissajous Curves</title><content type='html'>Well, the internships are going great! Got the fists in and animated, now we just need to touch up the animations and get 'em skinned and get better sounds. It's looking good though! I can't wait to get it playable, and to show you guys :o) I actually have a few in-house videos already but I'm not sure if it's ready for public release yet..but I do have something I &lt;span style="font-style: italic;"&gt;can&lt;/span&gt; show!!&lt;br /&gt;&lt;br /&gt;I was reading some thread on cymatics when this guy in the comments used the word Lissajous to describe sand movement. I googled this strange word and found no definition, but instead a Wolfram's and a&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/Lissajous_curve"&gt;wikipedia mathematics page&lt;/a&gt;. Quite informative, but fairly heady. There was once a time when I would shy away from this, but this time I decided, "Hey, I want to make a program that utilizes these!" And so, I did.&lt;br /&gt;&lt;br /&gt;Here is the result of a total of about two hours, I suggest you download it and play with it :) I hope the Dance mode works as smoothly on slower PCs as it does on mine..let me know what you think! It's fairly silly but was a great learning experience. Here's some pics to show it happened:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_TJWccbWs7CY/SuaOtgJpFdI/AAAAAAAACJo/eaYwu64IXwM/s1600-h/screen3.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 151px;" src="http://4.bp.blogspot.com/_TJWccbWs7CY/SuaOtgJpFdI/AAAAAAAACJo/eaYwu64IXwM/s320/screen3.jpg" alt="" id="BLOGGER_PHOTO_ID_5397158115825751506" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_TJWccbWs7CY/SuaO2S7RwrI/AAAAAAAACJw/iSeSKRiLCi4/s1600-h/screen2.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 151px;" src="http://3.bp.blogspot.com/_TJWccbWs7CY/SuaO2S7RwrI/AAAAAAAACJw/iSeSKRiLCi4/s320/screen2.jpg" alt="" id="BLOGGER_PHOTO_ID_5397158266894664370" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_TJWccbWs7CY/SuaO51QrNqI/AAAAAAAACJ4/-upn5juy1Xs/s1600-h/screen1.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 153px;" src="http://3.bp.blogspot.com/_TJWccbWs7CY/SuaO51QrNqI/AAAAAAAACJ4/-upn5juy1Xs/s320/screen1.jpg" alt="" id="BLOGGER_PHOTO_ID_5397158327650825890" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I am including a link to the Release .exe. It's written in C# and so will require the .NET 3.5 framework.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.blogger.com/www.jch321.com/files/LissajousCurves.zip"&gt;Click to download Lissajous Curves Win32 Binary&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;~Jasmine&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052345187777795159-4997524695500631151?l=jhegman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jhegman.blogspot.com/feeds/4997524695500631151/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jhegman.blogspot.com/2009/10/lissajous-curves.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052345187777795159/posts/default/4997524695500631151'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052345187777795159/posts/default/4997524695500631151'/><link rel='alternate' type='text/html' href='http://jhegman.blogspot.com/2009/10/lissajous-curves.html' title='Lissajous Curves'/><author><name>Jasmine</name><uri>http://www.blogger.com/profile/12337904656893713443</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://2.bp.blogspot.com/_TJWccbWs7CY/S2U7h1APuMI/AAAAAAAACMc/2QooVrB69_w/S220/GEDC0040_autolevels_cropped.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_TJWccbWs7CY/SuaOtgJpFdI/AAAAAAAACJo/eaYwu64IXwM/s72-c/screen3.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052345187777795159.post-6413215200197445943</id><published>2009-10-15T17:47:00.000-07:00</published><updated>2009-10-15T18:00:30.143-07:00</updated><title type='text'>SIO2</title><content type='html'>Well, had a meeting today for my iPhone internship and we are currently undergoing a test checkout of SIO2, an iPhone game engine. It actually looks pretty sweet so far, it's very close to how I would currently design a game engine which is good: it utilizes Bullet, an open source physics system, it also of course utilizes the OpenAL/OpenGL ES already on the phone. At first I was rather wary about throwing out all the Quake 3 engine work we've done because I think we really are close to the ball starting to roll downhill rather than up, but oh well, what can you do. There are definitely big pros and big cons to both choices. We'll see how this thing does.&lt;br /&gt;&lt;br /&gt;I can't say I'm not excited though. I'm getting my little schoolgirl squeal excitement about playing with this thing as I go through the videos - I've been itching to start up with Ogre again recently (was actually gonna post a thing about it actually) and on the forums I read that the current version utilizes an Ogre scene graph-inspired layout! It's almost like a nice refreshing dream come true. Built specifically FOR the iPhone, open source (I think? sort of? At least there are user patches on the forums for some thing (faster PNG loading in particular)), fairly sexy, etc... But it's not Quake 3. :~(&lt;br /&gt;&lt;br /&gt;I really would like to develop on Quake 3, and I really would like to explore SIO2. I'm not sure about estimation for time frame with SIO2 though, but I guess when all is said my answer I don't care either way. Hell, I'd like to do them both if we had time and energy to spare lol&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;spoon!&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube-nocookie.com/v/rcm-J7lQT3w&amp;hl=en&amp;fs=1&amp;rel=0&amp;color1=0xcc2550&amp;color2=0xe87a9f"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube-nocookie.com/v/rcm-J7lQT3w&amp;hl=en&amp;fs=1&amp;rel=0&amp;color1=0xcc2550&amp;color2=0xe87a9f" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052345187777795159-6413215200197445943?l=jhegman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jhegman.blogspot.com/feeds/6413215200197445943/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jhegman.blogspot.com/2009/10/sio2.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052345187777795159/posts/default/6413215200197445943'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052345187777795159/posts/default/6413215200197445943'/><link rel='alternate' type='text/html' href='http://jhegman.blogspot.com/2009/10/sio2.html' title='SIO2'/><author><name>Jasmine</name><uri>http://www.blogger.com/profile/12337904656893713443</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://2.bp.blogspot.com/_TJWccbWs7CY/S2U7h1APuMI/AAAAAAAACMc/2QooVrB69_w/S220/GEDC0040_autolevels_cropped.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052345187777795159.post-8349148496083216361</id><published>2009-10-14T03:47:00.001-07:00</published><updated>2009-10-14T03:51:38.068-07:00</updated><title type='text'>Website Updates</title><content type='html'>Well, I implemented multithreading into the terrain editor, and then it hit me at the very end that while it all does work as expected, the entire algorithm itself suffers from its own race condition. Particle deposition sort of relies on iteratively working the environment, and as far as I can tell at the moment, there is no real good way to split this task up other than just doing it.&lt;br /&gt;&lt;br /&gt;This means optimizations could be made in the current search range, I bet there's a lot of unnecessary overlap that could be removed. At the end of the day though, it's a tool and it's forming the map, so speed is not that big of a concern. Besides, it's pretty damn fast as it is as long as the particle range threshold isn't set ridiculously high.&lt;br /&gt;&lt;br /&gt;In other news, added a soundcloud widget to me website and worked on a bit of music. Today feels kind of like a bust because I did all this research into implementing multi threading well and then it ends up my fear came true and I can't even use it with my central algorithms! Haha. But more important: now what to read. &gt;_&lt; Soo many freaking tabs man, will I ever get through them all!?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052345187777795159-8349148496083216361?l=jhegman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jhegman.blogspot.com/feeds/8349148496083216361/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jhegman.blogspot.com/2009/10/website-updates.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052345187777795159/posts/default/8349148496083216361'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052345187777795159/posts/default/8349148496083216361'/><link rel='alternate' type='text/html' href='http://jhegman.blogspot.com/2009/10/website-updates.html' title='Website Updates'/><author><name>Jasmine</name><uri>http://www.blogger.com/profile/12337904656893713443</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://2.bp.blogspot.com/_TJWccbWs7CY/S2U7h1APuMI/AAAAAAAACMc/2QooVrB69_w/S220/GEDC0040_autolevels_cropped.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052345187777795159.post-6821720261455032594</id><published>2009-10-13T12:45:00.000-07:00</published><updated>2009-10-13T13:01:13.053-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vacation'/><category scheme='http://www.blogger.com/atom/ns#' term='fall'/><category scheme='http://www.blogger.com/atom/ns#' term='scooters'/><title type='text'>Momentary Lapse</title><content type='html'>Well I apologize, I actually had a portion of a post typed out and saved in notepad, but have since for some reason deleted it. I have been rather busy with my internships this past weekend, but in my spare time I have mainly been reading and learning new things.&lt;br /&gt;&lt;br /&gt;I learned splines/curves, which are pretty neat. You essentially pass a set of points and get the curve that approximates or fits between the middle two with the outer two as weights. I want to play with this in an implementation and write an article on it if I can find the time.&lt;br /&gt;&lt;br /&gt;I also found a nice programming slideshow/video from ASM '09, which essentially broke down the current state of things as far as graphics game programming. It was given by a the lead engineer from the Unity team and in essence for any of my future projects I am pretty sure I am going to skip along with Ogre. This will simultaneously allow OpenGL as well as DirectX, and just generally be more agreeable with the things I tend to do. Namely the scene graph and everything, I'm to the point where I'm just creating my own, which is fine, but I'd rather stop re-inventing the wheel at this point - my rate of learning versus grinding is quickly going out of proportion for the time being.&lt;br /&gt;&lt;br /&gt;Anyway, that's what my old post was going to be about, but since then I've been reading a lot more and it all kind of blurs as I've read SO much. I've come down with a cold so I've had time to just 'stare read' to pass the time. I really am going to try and take more 'blog breaks' in between readings to help disseminate things and hopefully share more indepth summaries or something of articles; as a bonus it would help my retention. Today for example I've been grooming through More Effective C# (awesome book, btw), specifically the Multi-threading section as it pertains to the tool that I am considering making multi-threaded for my internship. It was a great read, but I should have paused there. The next section, on collections and generics/actions/predicates/lambdas, ALL also (at least sort of could) apply to the things I'm doing, so I read those too. There's just no way I can be retaining everything from these articles by reading them like an addicted magazine reader. At least it's better than reading some magazine telling me I'm fat, haha.&lt;br /&gt;&lt;br /&gt;I hope to go through the best ones and put them out in code, cementing my grasp of the concepts they cover. Regardless, I've been doing good about staying focused and really devoting my attention to what I'm reading - it's almost Zen like in a way, so at least that's something.&lt;br /&gt;&lt;br /&gt;Sorry for this post lacking in any real content, just wanted to let you know I haven't forgotten about this thing :o)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052345187777795159-6821720261455032594?l=jhegman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jhegman.blogspot.com/feeds/6821720261455032594/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jhegman.blogspot.com/2009/10/momentary-lapse.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052345187777795159/posts/default/6821720261455032594'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052345187777795159/posts/default/6821720261455032594'/><link rel='alternate' type='text/html' href='http://jhegman.blogspot.com/2009/10/momentary-lapse.html' title='Momentary Lapse'/><author><name>Jasmine</name><uri>http://www.blogger.com/profile/12337904656893713443</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://2.bp.blogspot.com/_TJWccbWs7CY/S2U7h1APuMI/AAAAAAAACMc/2QooVrB69_w/S220/GEDC0040_autolevels_cropped.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7052345187777795159.post-3122586509915698657</id><published>2009-10-03T15:02:00.000-07:00</published><updated>2009-10-03T15:21:59.954-07:00</updated><title type='text'>Heightmaps!</title><content type='html'>Okay, so last night before I went to bed I built from scratch a new heightmap system utilizing &lt;a href="http://www.sfml-dev.org/"&gt;SFML&lt;/a&gt; and OpenGL this time. I am happy to wave goodbye to &lt;a href="http://www.libsdl.org/"&gt;SDL&lt;/a&gt;! I implemented OpenGL's Select mode Picking system and had to debug it for a while for a stupid perspective FOV mismatch. Soon after I confirmed that it would not suit my purposes and then came across that it's going to be phased out in OGL 3.0 anyway as its not actually 3d graphics related. So I ripped out all the select mode picking code and put in a transposition system.&lt;br /&gt;&lt;br /&gt;In essence, you are reversing the normal matrix transformations (from space-&gt;model-&gt;world-&gt;clip-&gt;screen to screen-&gt;clip-&gt;world-&gt;model-&gt;space (that's simplified, there's a few more steps inbetween). For those of you who don't understand any of that, it basically turns a 3 dimensional coordinate (x, y, z) into a 2 dimensional screen coordinate or vice versa. In reality they are 3 dimensional screen coordinates with the z being the top of the depth buffer or 0..1 for near and far planes respectively. Now I can tell exactly where in the world the user is clicking, and it even has a cute side effect where when I create a box where you are clicking in the world, if one holds the mouse button down, then you are now clicking on the edge of the newly created box, so it moves to there, but now you are clicking on the edge of where it just moved, so it moves closer, and closer, and closer, and smacks the screen in the face. It's kind of funny, albeit unexpected at first. I am thinking if I disable writing to the depth buffer when I draw it that should fix that issue as my select code is using the depth buffer to determine where in the near/far clip planes the user is clicking (it thus picks the closest).&lt;br /&gt;&lt;br /&gt;Anyway, now I have a terrain mesh that has a cursor and allows raising and lowering. I have some issue somewhere in the renderer though that is causing strange (albeit cool looking) circular artifacts when you edit the mesh. When you raise a lump, it actually raises a LOT of lumps. I was too sleepy to correct this so I decided it would be best to take a break.&lt;br /&gt;&lt;br /&gt;I then started reading over the docs for &lt;a href="http://www.bulletphysics.com/wordpress/"&gt;Bullet physics&lt;/a&gt; again. Pondering on how I want to implement things, and even where I want to take this. So I decided to sleep on it.&lt;br /&gt;&lt;br /&gt;Actually I lied, I played Aion for a few hours and THEN went to sleep. Anyway, I ended up dreaming about programming! Woke up pondering a few things. Now I am just stopping reading back over &lt;a href="http://www.ogre3d.org/"&gt;Ogre3d&lt;/a&gt;. Exciting news there!! The next version will use the MIT license, which will loosen licensing requirements with Ogre even further! The Google Summer of Code 2009 also evidently resulted in someone totally revamping the samples. I am not sure if these new and improved samples are in the Ogre distribution yet, but they are accessible (at least the one I've been looking over) in the Ogre Wiki. It's about time too, some of those samples were ....&lt;br /&gt;&lt;br /&gt;So in all of this, I found on the Ogre forums someone has written a terrain manager. I haven't looked at its code yet but have been perusing the &lt;a href="http://www.google.com/imgres?imgurl=http://www.oddbeat.de/wiki/_media/etsm_demo.jpg&amp;imgrefurl=http://www.ogre3d.org/phpBB2/viewtopic.php%3Ft%3D30955&amp;h=634&amp;w=808&amp;sz=113&amp;tbnid=vafhVnKTiWmmCM:&amp;tbnh=112&amp;tbnw=143&amp;prev=/images%3Fq%3Dogre3d&amp;usg=__-7fU9WIoEYEz52fNH1o-d5oT8QM=&amp;ei=v77HSu6UIJjk8AaCh4TiCA&amp;sa=X&amp;oi=image_result&amp;resnum=4&amp;ct=image"&gt;monolithic thread&lt;/a&gt; that it started from. It now has its own forum section, but if that link works correctly you should see where the author is pondering changes for his next version and he mentions some shortcomings with the current design.&lt;br /&gt;&lt;br /&gt;Anyway, so now I'm at the point where I'm trying to determine if I should stay the path or just return home to Ogre. If I stay where I am at, I can continue doing interesting things, but it will be all on my own with straight OpenGL. I can also learn from the other managers, etc... This will allow me to really support anything, my next steps anyway were to add in some basic LOD and eventually paging once I got textures working nicely. While the custom Ogre terrain manager cannot support paging or LOD in its current state (although the Ogre scene manager might/should(?) handle the LOD business anyway. There is also a 3rd iteration of the slowly developing paging system for it too. It already can splat textures and do some other nifty things though.&lt;br /&gt;&lt;br /&gt;So I'm just not sure. It's one of those could go either way things, the pros and cons are fairly convoluted in this one. I suppose I could even take the Ogre heightmap code and just take a stake to it and turn it into some hybrid mixture. I suppose I should eat, about four hours overdue from lunch and had no breakfast and ate shitty junk food last night. Afterwards I have actual internship and school work beckoning, as well as a required legion event on Aion. But in reality, I will probably just keep perusing the forums and reading up on everything. Knowledge is power.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7052345187777795159-3122586509915698657?l=jhegman.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jhegman.blogspot.com/feeds/3122586509915698657/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jhegman.blogspot.com/2009/10/heightmaps.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7052345187777795159/posts/default/3122586509915698657'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7052345187777795159/posts/default/3122586509915698657'/><link rel='alternate' type='text/html' href='http://jhegman.blogspot.com/2009/10/heightmaps.html' title='Heightmaps!'/><author><name>Jasmine</name><uri>http://www.blogger.com/profile/12337904656893713443</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://2.bp.blogspot.com/_TJWccbWs7CY/S2U7h1APuMI/AAAAAAAACMc/2QooVrB69_w/S220/GEDC0040_autolevels_cropped.jpg'/></author><thr:total>0</thr:total></entry></feed>
