<?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-10600468</id><updated>2011-04-21T21:02:02.901+03:00</updated><title type='text'>Lost in the triangles</title><subtitle type='html'>Random thoughts of a triangle pusher</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://nearaz.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://nearaz.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default?start-index=101&amp;max-results=100'/><author><name>NeARAZ</name><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>103</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-10600468.post-3688078805287427237</id><published>2007-03-25T20:02:00.000+03:00</published><updated>2007-07-26T13:20:33.470+03:00</updated><title type='text'>Blog moved</title><content type='html'>I moved my blog to my own website. It is now at a new URL: &lt;a href="http://aras-p.info/blog/"&gt;&lt;span style="font-weight: bold;"&gt;aras-p.info/blog&lt;/span&gt;&lt;/a&gt;. If you have used FeedBurner feed to read it, everything should point to new blog now. If you've been just browsing the website, or have used Blogger's builtin feed, go to new URL from now on. This blog &lt;span style="font-style: italic;"&gt;will not be updated&lt;/span&gt; anymore.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10600468-3688078805287427237?l=nearaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nearaz.blogspot.com/feeds/3688078805287427237/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10600468&amp;postID=3688078805287427237' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/3688078805287427237'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/3688078805287427237'/><link rel='alternate' type='text/html' href='http://nearaz.blogspot.com/2007/03/blog-moved.html' title='Blog moved'/><author><name>NeARAZ</name><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-10600468.post-4931211139884161923</id><published>2007-03-22T23:51:00.000+02:00</published><updated>2007-03-23T00:11:10.206+02:00</updated><title type='text'>ARB_vertex_buffer_object is stupid</title><content type='html'>&lt;div style="text-align: justify;"&gt;OpenGL vertex buffer functionality, I &lt;a href="http://www.stevestreeting.com/?p=489"&gt;mock thee&lt;/a&gt; too! Why couldn't they make the &lt;a href="http://oss.sgi.com/projects/ogl-sample/registry/ARB/vertex_buffer_object.txt"&gt;specification&lt;/a&gt; simple&amp;clear, and then why can't the implementations work as expected?&lt;br /&gt;&lt;br /&gt;It started out like this: converting some existing code that generates geometry on the fly. It used to generate that into in-memory arrays and then Just Draw Them. Probably not the most optimal solution, but that's fine. Of course we can optimize that, right?&lt;br /&gt;&lt;br /&gt;So with all my knowledge how things used to work in D3D I start "I'll just do the same in OpenGL" adventure. Create a single big dynamic vertex buffer, a single big dynamic element buffer; update small portions of it with glBufferSubData, "discard" it (=glBufferData with null pointer) when the end is reached, rinse &amp; repeat.&lt;br /&gt;&lt;br /&gt;Now, let's for a moment ignore the fact that updating portions of index buffer does not actually work on Mac OS X... Everything else is fine and it actually works! Except for... it's quite a lot &lt;span style="font-style: italic;"&gt;slower&lt;/span&gt; than just doing the old "render from memory" thing. Ok, must be some OS X specific thing... Nope, on a Windows box with GeForce 6800GT it is still slower.&lt;br /&gt;&lt;br /&gt;Now, there are three things that could have gone wrong: 1) I did something stupid (quite likely), 2) VBOs for dynamically updated chunks of geometry suck (could be... they don't have a way to update just one chunk without one extra memory copy at least), 3) both me and VBOs are stupid. If I was me I'd bet on the third option.&lt;br /&gt;&lt;br /&gt;What I don't get is: D3D has had a buffer model that is simple to understand and actually works for, like, 6 years now! Why ARB_vertex_buffer_object guys couldn't &lt;span style="font-style: italic;"&gt;just copy&lt;/span&gt; that? The world would be a better place! No, instead they make a way to map only &lt;span style="font-style: italic;"&gt;whole &lt;/span&gt;buffer; updating chunks is extra memory copy; there are confusing usage parameters (when should I use STREAM and when DYNAMIC?); performance costs are unclear (when is &lt;a href="http://www.stevestreeting.com/?p=491"&gt;glBufferSubData faster than glMapBuffer&lt;/a&gt;?) etc. And in the end when an OpenGL noob like me tries to actually make them work - he can't! It's slow!&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/10600468-4931211139884161923?l=nearaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nearaz.blogspot.com/feeds/4931211139884161923/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10600468&amp;postID=4931211139884161923' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/4931211139884161923'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/4931211139884161923'/><link rel='alternate' type='text/html' href='http://nearaz.blogspot.com/2007/03/arbvertexbufferobject-is-stupid.html' title='ARB_vertex_buffer_object is stupid'/><author><name>NeARAZ</name><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-10600468.post-7702604314154712686</id><published>2007-03-17T23:13:00.000+02:00</published><updated>2007-03-17T23:32:09.684+02:00</updated><title type='text'>Back from Seattle</title><content type='html'>Just got back from &lt;a href="http://en.wikipedia.org/wiki/Microsoft_Most_Valuable_Professional"&gt;MVP&lt;/a&gt; Global Summit 2007 in Seattle. Among usual things, like watching &lt;a href="http://en.wikipedia.org/wiki/Bill_Gates"&gt;Bill&lt;/a&gt;'s &lt;a href="http://www.microsoft.com/presspass/exec/billg/speeches/2007/03-13MVPSummit.mspx"&gt;keynote&lt;/a&gt;, meeting other MVPs, DirectX/XNA guys, getting a grip of some NDA information and such, here are some of the other highlights:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Amsterdam&lt;/span&gt; airport:&lt;br /&gt;&lt;blockquote&gt;Officer: You speak English sir?&lt;br /&gt;Me: Yeah.&lt;br /&gt;O &lt;span style="font-style: italic;"&gt;(takes a look at my passport)&lt;/span&gt;: Ah, you speak Russian of course!&lt;br /&gt;M: No, not really.&lt;br /&gt;O: But your language is very similar to Russian, right?&lt;br /&gt;M: Hm...&lt;br /&gt;&lt;/blockquote&gt;Well, here we know who gets the Linguist of the Year award.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Seattle-Tahoma&lt;/span&gt; airport, lady at checkin: "&lt;span style="font-style: italic;"&gt;what kind of passport is that?&lt;/span&gt;". It also takes 5 times to enter my last name properly, from the printed letters in the passport. Each time trying to persuade me that I did change the ticket date of course!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Seattle-Tahoma&lt;/span&gt; airport, security: "&lt;span style="font-style: italic;"&gt;sir, you have been selected for additional screening&lt;/span&gt;". Do they randomly select people for that quite involved process? Why this "selection" happens immediately &lt;span style="font-style: italic;"&gt;after&lt;/span&gt; they take a look at my passport?&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Random quotes&lt;/span&gt;:&lt;br /&gt;&lt;blockquote&gt;Ten minutes walk is a &lt;span style="font-style: italic;"&gt;long&lt;/span&gt; distance! Ten minutes of walking distance in the States is a very good reason to buy a car. At least SUV; preferably a Hummer.&lt;br /&gt;&lt;/blockquote&gt;&lt;blockquote&gt;DirectX SDK is the source of all sorts of high frequency goodness.&lt;br /&gt;&lt;/blockquote&gt;&lt;blockquote&gt;Sony is always good at announcements.&lt;br /&gt;&lt;/blockquote&gt;&lt;blockquote&gt;No? Rumours on the internet? Shock! Horror!&lt;br /&gt;&lt;/blockquote&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10600468-7702604314154712686?l=nearaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nearaz.blogspot.com/feeds/7702604314154712686/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10600468&amp;postID=7702604314154712686' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/7702604314154712686'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/7702604314154712686'/><link rel='alternate' type='text/html' href='http://nearaz.blogspot.com/2007/03/back-from-seattle.html' title='Back from Seattle'/><author><name>NeARAZ</name><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>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10600468.post-8383313493617373358</id><published>2007-03-03T18:33:00.000+02:00</published><updated>2007-03-03T19:38:19.002+02:00</updated><title type='text'>A day well spent (encoding floats to RGBA)</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_LUfDvDHoHXI/Remks2Bk77I/AAAAAAAAAAM/09WamkImR2E/s1600-h/rgba01.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://3.bp.blogspot.com/_LUfDvDHoHXI/Remks2Bk77I/AAAAAAAAAAM/09WamkImR2E/s200/rgba01.png" alt="" id="BLOGGER_PHOTO_ID_5037738748513939378" border="0" /&gt;&lt;/a&gt;Breaking news: sometimes seemingly trivial tasks take insane amounts of time! I am &lt;span style="font-style: italic;"&gt;sure&lt;/span&gt; no one knew this before!&lt;br /&gt;&lt;br /&gt;So it was yesterday - almost whole day spent fighting rounding/precision errors when encoding floating point numbers into regular 8 bit RGBA textures. You know, the trivial stuff where you start with&lt;br /&gt;&lt;blockquote&gt;&lt;pre&gt;inline float4 EncodeFloatRGBA( float v ) {&lt;br /&gt;  return frac( float4(1.0, 256.0, 65536.0, 16777216.0) * v );&lt;br /&gt;}&lt;br /&gt;inline float DecodeFloatRGBA( float4 rgba ) {&lt;br /&gt;  return dot( rgba, float4(1.0, 1.0/256.0, 1.0/65536.0, 1.0/16777216.0) );&lt;br /&gt;}&lt;/pre&gt;&lt;/blockquote&gt;and everything is fine until sometimes, somewhere there's "something wrong". Must be rounding or quantizations errors; or maybe I should use 255 instead of 256; plus optionally add or subtract 0.5/256.0 (or would that be 0.5/255.0?). Or maybe the error is entirely somewhere else, and I'm just chasing ghosts here!&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_LUfDvDHoHXI/RemoKmBk78I/AAAAAAAAAAU/n4PlSIEHhgg/s1600-h/rgba02.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://2.bp.blogspot.com/_LUfDvDHoHXI/RemoKmBk78I/AAAAAAAAAAU/n4PlSIEHhgg/s200/rgba02.png" alt="" id="BLOGGER_PHOTO_ID_5037742558149930946" border="0" /&gt;&lt;/a&gt;What would you do then? Why, of course, build an Encoding Floats Into Textures Studio 2007! &lt;span style="font-style: italic;"&gt;(don't tell me it's not a great idea for a commercial software package! game studios would pay insane amounts of money for a tool like this!)&lt;/span&gt; The images here are exactly that - render into a texture, encoding UV coordinate as RGBA, then read from that texture, displaying RGBA and error from the expected value in some weird way. Turns out image postprocessing filters in Unity are a pretty good tool to do all this. Yay!&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_LUfDvDHoHXI/Remo42Bk79I/AAAAAAAAAAc/jYwSDPrxSj8/s1600-h/rgba03.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://3.bp.blogspot.com/_LUfDvDHoHXI/Remo42Bk79I/AAAAAAAAAAc/jYwSDPrxSj8/s200/rgba03.png" alt="" id="BLOGGER_PHOTO_ID_5037743352718880722" border="0" /&gt;&lt;/a&gt;Sometimes in situations like this I figure out that graphics hardware still leaves a lot to be desired. This last image shows some calculations that depend &lt;span style="font-style: italic;"&gt;only&lt;/span&gt; on the horizontal UV coordinate, so they should produce some purely vertical pattern (sans the part at the bottom, that is expected to be different). Heh, you wish!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10600468-8383313493617373358?l=nearaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nearaz.blogspot.com/feeds/8383313493617373358/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10600468&amp;postID=8383313493617373358' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/8383313493617373358'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/8383313493617373358'/><link rel='alternate' type='text/html' href='http://nearaz.blogspot.com/2007/03/day-well-spent-encoding-floats-to-rgba.html' title='A day well spent (encoding floats to RGBA)'/><author><name>NeARAZ</name><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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_LUfDvDHoHXI/Remks2Bk77I/AAAAAAAAAAM/09WamkImR2E/s72-c/rgba01.png' height='72' width='72'/><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10600468.post-7375206901556120531</id><published>2007-02-18T16:23:00.000+02:00</published><updated>2007-02-18T16:41:05.061+02:00</updated><title type='text'>There's more  than one me out there!</title><content type='html'>&lt;div align="justify"&gt;I had an interesting story recently, but was waiting for gamedev.net to be back up&amp;running again. So...&lt;br /&gt;&lt;br /&gt;One day I got an email like "Hey Aras, where are you we need to finish up our project soon". Ok, I don't know who is the sender, know nothing about any project I should be "in", and the sender's email address does not match the signature, so I just marked it as spam and forgot about it.&lt;br /&gt;&lt;br /&gt;A couple of days later &lt;a href="http://nesnausk.org/members.php#2"&gt;Paulius&lt;/a&gt; forwards me a message from the same sender, saying that he can't reach me, the project has a deadline soon, so he started looking through nesnausk.org and write to other people out there.&lt;br /&gt;&lt;br /&gt;I still thought this is some advanced new form of phishing!&lt;br /&gt;&lt;br /&gt;I check the website from the signature of the sender. It's a real website; a bunch of people developing (or trying to develop) a MMO game. In the "technology" section of the website was a link to &lt;a href="http://nesnausk.org/inoutside"&gt;in.out.side&lt;/a&gt; demo: "this is a techdemo of the engine we developed". WTF!?&lt;br /&gt;&lt;br /&gt;Contacting the original email sender revealed all the story, which is quite simple in fact. They were looking for a programmer and found &lt;a href="http://www.gamedev.net/community/forums/topic.asp?topic_id=429729"&gt;someone posting&lt;/a&gt; on gamedev.net forums, saying he has done in.out.side demo that won Imagine Cup 2005. He presented himself as me (with a slightly altered name) and agreed to work with them. &lt;em&gt;How is this thing called by the way? Identity theft?&lt;/em&gt; Some time passed, in my understanding they haven't ever seen any code from that guy, and then he just disappeared.&lt;br /&gt;&lt;br /&gt;What makes it funny though that the guy never received any money from the job he was supposed to do either. I &lt;em&gt;could&lt;/em&gt; understand reasoning behind presenting oneself as some other guy, taking the money and then running fast - but presenting oneself as someone else, doing nothing and getting nothing in return? Does not strike me as a viable "business plan"...&lt;br /&gt;&lt;br /&gt;The moral? Never trust anyone online, especially if they are from Lithuania :)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10600468-7375206901556120531?l=nearaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nearaz.blogspot.com/feeds/7375206901556120531/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10600468&amp;postID=7375206901556120531' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/7375206901556120531'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/7375206901556120531'/><link rel='alternate' type='text/html' href='http://nearaz.blogspot.com/2007/02/theres-more-than-one-me-out-there.html' title='There&apos;s more  than one me out there!'/><author><name>NeARAZ</name><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>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10600468.post-4843592647426750901</id><published>2007-02-18T14:49:00.000+02:00</published><updated>2007-02-18T16:21:07.535+02:00</updated><title type='text'>Getting political (Iraq)...</title><content type='html'>Watch &lt;a href="http://video.google.com/videoplay?docid=-3519855663545752103"&gt;this now&lt;/a&gt;. 'nuff said.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10600468-4843592647426750901?l=nearaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nearaz.blogspot.com/feeds/4843592647426750901/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10600468&amp;postID=4843592647426750901' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/4843592647426750901'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/4843592647426750901'/><link rel='alternate' type='text/html' href='http://nearaz.blogspot.com/2007/02/getting-political.html' title='Getting political (Iraq)...'/><author><name>NeARAZ</name><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-10600468.post-7601413381852939780</id><published>2007-02-01T11:49:00.000+02:00</published><updated>2007-02-02T12:22:01.275+02:00</updated><title type='text'>What's wrong with this code?</title><content type='html'>&lt;div style="text-align: justify;"&gt;Here's a short function:&lt;br /&gt;&lt;blockquote  style="white-space:pre;font-family:courier new;"&gt;&lt;span style="font-size:85%;"&gt;inline int SecondsToEnergy( float time )&lt;br /&gt;{&lt;br /&gt;  return FastFloorfToInt( time * (float)(1 &amp;lt;&amp;lt; kEnergyFixedPoint) );&lt;br /&gt;}&lt;/span&gt;&lt;/blockquote&gt;It's used in the particle system, and converts particle lifetime to an internal fixed point representation (10 bits for fractional part, i.e. kEnergyFixedPoint=10).&lt;br /&gt;&lt;br /&gt;Some of the emitted particles are okay on a Mac, but completely not visible on Windows. This function is to blame.&lt;br /&gt;&lt;br /&gt;Of course, what's wrong is the possible overflow in float-to-int conversion. Whenever someone tries to use lifetime longer than about 2097151, the conversion to signed 32 bit integer is undefined. It seems to clamp result in gcc and produce something like -1 in msvc.&lt;br /&gt;&lt;br /&gt;Using multiple compilers can be hard, but it can also help in finding obscure bugs. Ha!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10600468-7601413381852939780?l=nearaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nearaz.blogspot.com/feeds/7601413381852939780/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10600468&amp;postID=7601413381852939780' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/7601413381852939780'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/7601413381852939780'/><link rel='alternate' type='text/html' href='http://nearaz.blogspot.com/2007/02/whats-wrong-with-this-code.html' title='What&apos;s wrong with this code?'/><author><name>NeARAZ</name><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>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10600468.post-115995965974250871</id><published>2006-10-04T13:56:00.000+03:00</published><updated>2006-10-04T14:00:59.756+03:00</updated><title type='text'>Wii or spirit of evil</title><content type='html'>Watched an old Russian film &lt;a href="http://en.wikipedia.org/wiki/Viy_%28film%29"&gt;Viy&lt;/a&gt; yesterday. Is it just me, or is the pronunciation strikingly similar to &lt;a href="http://en.wikipedia.org/wiki/Wii"&gt;one console&lt;/a&gt; that is coming out soon? Wii or Spirit of Evil!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10600468-115995965974250871?l=nearaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nearaz.blogspot.com/feeds/115995965974250871/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10600468&amp;postID=115995965974250871' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/115995965974250871'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/115995965974250871'/><link rel='alternate' type='text/html' href='http://nearaz.blogspot.com/2006/10/wii-or-spirit-of-evil.html' title='Wii or spirit of evil'/><author><name>NeARAZ</name><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-10600468.post-115971737012344854</id><published>2006-10-01T18:41:00.000+03:00</published><updated>2006-10-01T18:42:50.136+03:00</updated><title type='text'>Quote of the month</title><content type='html'>&lt;div style="text-align: justify;"&gt;At work the other day:&lt;br /&gt;&lt;blockquote&gt;Jesus says: use the debugger!&lt;/blockquote&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10600468-115971737012344854?l=nearaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nearaz.blogspot.com/feeds/115971737012344854/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10600468&amp;postID=115971737012344854' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/115971737012344854'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/115971737012344854'/><link rel='alternate' type='text/html' href='http://nearaz.blogspot.com/2006/10/quote-of-month.html' title='Quote of the month'/><author><name>NeARAZ</name><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>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10600468.post-115550521131063078</id><published>2006-08-14T00:24:00.000+03:00</published><updated>2006-08-14T10:11:26.476+03:00</updated><title type='text'>A steam of random things</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span style="font-weight: bold;"&gt;Awards:&lt;/span&gt; Hey, &lt;a href="http://unity3d.com"&gt;we&lt;/a&gt;'ve got a "runner up" award in &lt;a href="http://developer.apple.com/ada/"&gt;Apple Design Awards 2006&lt;/a&gt;, Best Use of Graphics category! Yeah, a runner up is more like "the first of the losers", but oh well. Got beaten by &lt;span style="font-style: italic;"&gt;modo 201&lt;/span&gt;, which probably is a fair trade. It's just that we thought we'd be in &lt;span style="font-style: italic;"&gt;Best Developer Tool&lt;/span&gt; category, but that is apparently for text editors and scripting languages :)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Demos: &lt;/span&gt;In the other news, fellow &lt;a href="http://nesnausk.org/members.php"&gt;ReJ&lt;/a&gt; with TBL just won Assembly 2006 demo competition with an &lt;a href="http://www.pouet.net/prod.php?which=25778"&gt;Amiga demo&lt;/a&gt;, putting all PC demos faces' to dust. Check it out. Art direction over hardware capabilities, one more time.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Drivers:&lt;/span&gt; why oh why the graphics drivers must be so bad? The other day I was thinking why can't they auto-update themselves (with an option to turn it off for corporate users etc.). Now you've got a (not so recent!) driver that is able to parse vertex programs wrong, and a user who does not have a clue that he should update it. It's bad enough to have a bug in the first place, but auto-update at least would fix...&lt;br /&gt;&lt;br /&gt;Or you have a driver that says &lt;span style="font-style: italic;"&gt;"I'm OpenGL 1.2!"&lt;/span&gt; but the 3D texture functions are null. &lt;span style="font-style: italic;"&gt;And&lt;/span&gt; it's the most recent driver for a particular graphics card that you can buy today! &lt;span style="font-style: italic;"&gt;And&lt;/span&gt; it's not even a hard problem! What the developers are thinking - they go over the required GL 1.2 functionality, see that some is actually missing and decide &lt;span style="font-style: italic;"&gt;"ah, screw it, we'll say it's 1.2 anyways"&lt;/span&gt;?!&lt;br /&gt;&lt;br /&gt;I just don't get it. I could use some enlightenment on this.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10600468-115550521131063078?l=nearaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nearaz.blogspot.com/feeds/115550521131063078/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10600468&amp;postID=115550521131063078' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/115550521131063078'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/115550521131063078'/><link rel='alternate' type='text/html' href='http://nearaz.blogspot.com/2006/08/steam-of-random-things.html' title='A steam of random things'/><author><name>NeARAZ</name><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-10600468.post-115400641716424576</id><published>2006-07-27T16:08:00.000+03:00</published><updated>2006-08-26T20:01:24.160+03:00</updated><title type='text'>Painting and wallpapering</title><content type='html'>&lt;div style="text-align: justify;"&gt;We repainted our living room and did one wall in wallpaper &lt;span style="font-style: italic;"&gt;(real actual ones, not for the desktop)&lt;/span&gt;. This is fun but takes a couple of days to get done, half of that time spent moving stuff outside the room and moving it back afterwards.&lt;br /&gt;&lt;br /&gt;One thing I learned is that painting with semi-glossy paint is very different from painting with matte one. Semi-glossy is very sensitive to paint strokes, pressure and a lot of other things, and if you're not extremely careful you'll get a wall that looks like with a varying gloss or specular power. Of course, varying specular exponent would be cool in a shader demo of 2001, but it's not a cool thing to have on your room wall. And it's not 2001 anymore either!&lt;br /&gt;&lt;br /&gt;After that we just went for a week to Crete. Here's an assortment of small random pictures. Now back to work!&lt;br /&gt;&lt;br /&gt;&lt;img class="i" src="http://nesnausk.org/nearaz/img/blog/060727b.jpg" /&gt;&lt;img class="i" src="http://nesnausk.org/nearaz/img/blog/060727e.jpg" /&gt;&lt;img class="i" src="http://nesnausk.org/nearaz/img/blog/060727d.jpg" /&gt;&lt;img class="i" src="http://nesnausk.org/nearaz/img/blog/060727f.jpg" /&gt;&lt;img class="i" src="http://nesnausk.org/nearaz/img/blog/060727c.jpg" /&gt;&lt;img class="i" src="http://nesnausk.org/nearaz/img/blog/060727g.jpg" /&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/10600468-115400641716424576?l=nearaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nearaz.blogspot.com/feeds/115400641716424576/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10600468&amp;postID=115400641716424576' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/115400641716424576'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/115400641716424576'/><link rel='alternate' type='text/html' href='http://nearaz.blogspot.com/2006/07/painting-and-wallpapering.html' title='Painting and wallpapering'/><author><name>NeARAZ</name><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-10600468.post-115214063546776707</id><published>2006-07-06T01:38:00.000+03:00</published><updated>2006-07-06T02:16:27.970+03:00</updated><title type='text'>A day in the life...</title><content type='html'>&lt;div style="text-align: justify;"&gt;Ok, as &lt;a href="http://sorcy7.livejournal.com/"&gt;mcpunky&lt;/a&gt; asked to say something in more detail, I have no choice but to log a day of my &lt;a href="http://unity3d.com/company/people.html"&gt;work&lt;/a&gt;. Bear with me.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;10:30 - &lt;/span&gt;I come to work. Peter is already here and wants to show me the shader-related project he's working on. It is becoming really cool by now, we discuss the projects, shaders, lighting, BRDFs and all the other stuff that graphics programmers always talk about.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://nesnausk.org/nearaz/img/blog/060704a.png" /&gt;&lt;span style="font-style: italic;"&gt;10:55 - &lt;/span&gt;I turn on my work machines, read mail, check our forums, bugtracker and sales statistics :) Update code/website from Subversion. Review website changes of yesterday.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;11:35 -&lt;/span&gt; Checkout new bugs reported to me. This day we have three of them. Some shaders don't display correctly for one user on his laptop; checking it, replied asking for log files now. Webplayer crashed on win2000. Checkout the crash dump, it's in Mono initialization; flag the bug for later review on actual win2000. One more: windows build loses the very first keystroke. Launch Visual Studio, build debug player. By &lt;span style="font-style: italic;"&gt;12:10&lt;/span&gt; I have this bug found, fixed and checked (was an error in handling lost DirectInput devices). Commit into svn, merge into Unity 1.5.1 branch as well.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://nesnausk.org/nearaz/img/blog/060704b.png" /&gt;&lt;span style="font-style: italic;"&gt;12:15 -&lt;/span&gt; Launch build of 1.5.1 branch on my PC, meanwhile I'll install more RAM on the windows build machine (it clearly needs it). Fifteen minutes later the release build is done and I have the RAM installed. Start debug build, do some small stuff on the laptop.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;12:40 -&lt;/span&gt; Nicholas comes to discuss our strategy for handling per-vertex lighting with custom shaders of Peter's project. Fixed function T&amp;L and custom shaders that don't care about vertices or pixels just don't merge well together. Maybe we'll have to reimplement the fixed-function vertex pipeline equivalent in vertex shader(s). Might be hard to get right, especially on some lower hardware.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;13:05 -&lt;/span&gt; Lunchtime! At this time of year it's almost mandatory to eat outside. So nice. After lunch I watch a demo &lt;a href="http://www.pouet.net/prod.php?which=24487"&gt;deities by mfx&lt;/a&gt; for some inspiration. Ah, I so want to do that.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;13:45 -&lt;/span&gt; Joe comes in, shows some cool stuff one customer is working on. We discuss some glow filter issues.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;14:00 - &lt;/span&gt;Philosophical talk about our unit/functional testing strategy. We do quite some functional tests now, and a tiny amount of unit tests. I'd like to try some unit tests on shader parser (which I'll have to refactor someday soon, and without unit tests I'm scared). Agreed that unittests are probably a good thing if you strike the right balance (now THAT was a surprise, huh?). Will try.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;14:30 -&lt;/span&gt; Checkout a whitepaper from ATI about fixed function emulation in HLSL, playing with their shader. Instruction counts are scary! Talk with Nich about glow improvements, he has some good tips.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;15:15 - &lt;/span&gt;Put a GeForce into my PC - will try to figure out why in some cases graphics looks too dark on them.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;15:25 - &lt;/span&gt;Again comes Nicholas, more talk about this shader thingy, regular additive pixel passes vs. ambient passes vs. vertex lighting and how the actual end user should not care about these details. We found a nice solution it seems; this way shader authoring seems intuitive (or at least much more intuitive than the other alternatives we considered).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;15:50 - &lt;/span&gt;Back to darkness-on-geforces issue. On the way I found out that motion blur filter no longer works on a PC! Reverting to older versions from svn to find out where I did introduce it. Ok, that was a stupid typo by me from several days ago, fixed.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;16:35 - &lt;/span&gt;David opens a shoe box - and surprise surprise - there's a cake and cookies inside! Good stuff. Me loves anything that's sweet.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;16:45 - &lt;/span&gt;The darkness-on-geforces is only the motion blur filter going wrong. That's good. Debugging with glIntercept, something's wrong with blur accumulation texture.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;17:10 - &lt;/span&gt;D'oh! The motion blur had a pretty crappy implementation; was trying to render into the texture while using itself as the input. Obviously the results can be undefined, which just happened on geforces. Rewriting the filter to do it properly. Testing it, integrating into standard assets.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;17:45 - &lt;/span&gt;Discuss our (i.e. company) roadmap and which parts of it can be announced publicly :) Then the talk went downhill about memory management, fragmentation, per frame allocations, porting Mono to some exotic architectures, whether porting runtime to Direct3D or  &lt;span style="font-style: italic;"&gt;kind-of-OpenGL-but-not-quite&lt;/span&gt; would be easier (my take is that porting to D3D would be easier) etc. Did something else which I don't quite remember because we couldn't have talked for an hour, right?&lt;br /&gt;&lt;br /&gt;&lt;img src="http://nesnausk.org/nearaz/img/blog/060704c.png" /&gt;&lt;span style="font-style: italic;"&gt;18:50 - &lt;/span&gt;Making some tweaks to the glow filter to look nicer in some cases. Done except the Radeon9000 path. I guess that's enough for today, now again check our forums, email and will go home.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;19:30 - &lt;/span&gt;I actually leave home, it's some 20 minutes away on a bike. The plan is to eat lots of grapes and watch a movie tonight. What turned out is that I read some papers and then did the plan.&lt;br /&gt;&lt;br /&gt;Overtall, it has been a day with quite much talks. Not exactly the day where you feel  &lt;span style="font-style: italic;"&gt;"hey, I've done a lot of stuff today"&lt;/span&gt;, but not bad either. Will be ok for blog purposes I guess.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10600468-115214063546776707?l=nearaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nearaz.blogspot.com/feeds/115214063546776707/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10600468&amp;postID=115214063546776707' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/115214063546776707'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/115214063546776707'/><link rel='alternate' type='text/html' href='http://nearaz.blogspot.com/2006/07/day-in-life.html' title='A day in the life...'/><author><name>NeARAZ</name><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>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10600468.post-115175801343147523</id><published>2006-07-01T15:28:00.000+03:00</published><updated>2006-07-01T15:53:10.540+03:00</updated><title type='text'>On work and clean code</title><content type='html'>&lt;div style="text-align: justify;"&gt;It's been like 6 months of me working on &lt;a href="http://unity3d.com"&gt;Unity&lt;/a&gt;. So far so good. We've done a &lt;a href="http://unity3d.com/whatsnew-1.5.html"&gt;big new release&lt;/a&gt; recently, so after some pre-release insanity we're a bit more relaxed. I guess not for very long though, we have more stuff planned than we can handle :)&lt;br /&gt;&lt;br /&gt;It sure feels nice to work on an actual software &lt;span style="font-style: italic;"&gt;product&lt;/span&gt;. I think it's probably the first time in my carreer that I &lt;span style="font-style: italic;"&gt;know&lt;/span&gt; people are using my work and I do care about that. Having worked on &lt;span style="font-style: italic;"&gt;projects&lt;/span&gt; before, it's very different - a project just comes and goes, and once it's finished you never think about it again. And most of the time you don't care about "the clients" that much either. Working on a product is much more rewarding (especially if the users seem to like it).&lt;br /&gt;&lt;br /&gt;Another interesting here is that we are a &lt;span style="font-style: italic;"&gt;very small&lt;/span&gt; software shop. So everyone has to be a one-man-army (the others certainly are, not sure about myself). Design, program, fix bugs, decide on features, do support, write docs and even do html tweaks for the website. Of course, it could be &lt;span style="font-style: italic;"&gt;Jack of all trades, master of none (*)&lt;/span&gt;, but somehow I feel that we are managing pretty well. And I like to be involved in various aspects of making a product.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;(*) though wikipedia says that the full saying is &lt;span style="font-style: italic;"&gt;Jack of all trades, master of none, though ofttimes better than master of one&lt;/span&gt; - which looks like a positive thing to me.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;A completely different theme: when programming, it's always good to massage the code you're working with a bit. Remove unneccessary #includes. Write a comment on tricky code block. Fix warnings. Do small refactorings. Remove unused code paths. It does not take much time and helps to keep the codebase clean. Removing unused code is especially good - for some reason I &lt;span style="font-style: italic;"&gt;love&lt;/span&gt; removing code. Could do that all day long; probably I'm some kind of anti-programmer :)&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/10600468-115175801343147523?l=nearaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nearaz.blogspot.com/feeds/115175801343147523/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10600468&amp;postID=115175801343147523' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/115175801343147523'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/115175801343147523'/><link rel='alternate' type='text/html' href='http://nearaz.blogspot.com/2006/07/on-work-and-clean-code.html' title='On work and clean code'/><author><name>NeARAZ</name><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>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10600468.post-114918858581774290</id><published>2006-06-01T21:47:00.000+03:00</published><updated>2006-06-01T22:04:25.530+03:00</updated><title type='text'>Windows on a Mac experience</title><content type='html'>&lt;div style="text-align: justify;"&gt;A post on &lt;a href="http://spaces.msn.com/grammerjack/Blog/cns%21F2629C772A178A7C%21140.entry"&gt;GrammerJack&lt;/a&gt; blog made me post similar impressions about Mac vs Windows etc. So:&lt;br /&gt;&lt;br /&gt;I was the evil guy to install Windows on my MacBookPro (via &lt;a href="http://www.apple.com/macosx/bootcamp/"&gt;BootCamp&lt;/a&gt;) as well. That was like a month ago. The thing is, I think I haven't booted into windows for like 20 days on this machine. At first I though &lt;span style="font-style: italic;"&gt;gee, I'll use VisualStudio on this machine, will watch demos and have a proper Subversion client!&lt;/span&gt; But I use VisualStudio, watch demos and have a proper Subversion client on my work PC, so there are not that many reasons to boot windows on the laptop...&lt;br /&gt;&lt;br /&gt;Plus BootCamp has small annoyances that GrammerJack mentions: no two finger scrolling (it's the best thing in laptops I've ever seen), no backspace key, function key not supported, the machine never seems to come to proper sleep (i.e. it's always hot to touch), trackpad sensitivity and precision much worse than on OSX etc.&lt;br /&gt;&lt;br /&gt;And in general, I must admit that I kinda like OSX. &lt;span style="font-style: italic;"&gt;"It feels nice"&lt;/span&gt; would be my best attempt at explanation, for I can't think of any serious reasons why I like it. Well, yeah, the UI is nice etc. Mind you, I like Windows as well, but at least on this laptop, OSX "feels much nicer".&lt;br /&gt;&lt;br /&gt;Now if only Apple could throw the bunch of crap called XCode away and make something like VisualStudio+VisualAssist; and if only OpenGL would be so sweet to use as D3D! I'd jump on OSX bandwagon immediately and be a happy man. Alas, XCode is just lighyears behind (*).&lt;br /&gt;&lt;br /&gt;(*) Though Apple has some really cool development tools as well (Shark etc.)&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/10600468-114918858581774290?l=nearaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nearaz.blogspot.com/feeds/114918858581774290/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10600468&amp;postID=114918858581774290' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/114918858581774290'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/114918858581774290'/><link rel='alternate' type='text/html' href='http://nearaz.blogspot.com/2006/06/windows-on-mac-experience.html' title='Windows on a Mac experience'/><author><name>NeARAZ</name><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>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10600468.post-114849134799752898</id><published>2006-05-24T20:14:00.000+03:00</published><updated>2006-06-20T15:31:02.360+03:00</updated><title type='text'>Back to some shader programming</title><content type='html'>&lt;div style="text-align: justify;"&gt;There is something magic in programming shaders. Like, when you edit one of our &lt;a href="http://unity3d.com/gallery/shaders/index.html"&gt;standard shaders&lt;/a&gt; and save, say, nine instructions in it - the feeling is really good. Maybe because, well, it's a standard shader - so that means everyone's graphics will actually render faster. Nice!&lt;br /&gt;&lt;br /&gt;Maybe it's because shaders are such a short piece of code, without too complex dependencies... &lt;span style="font-style: italic;"&gt;I'm sure anyone who knows graphics hardware will corect me here, but let's oversimplify and pretend that shaders actually execute in a simple way...&lt;/span&gt; So when you make a shader shorter, you pretty much know it's going to be faster. When you make it "look better", it almost certainly will look better. Try doing that in your regular big codebase - by optimizing something you may break something else; and in general you have no clue what to optimize unless you do your profiling homework. So, my take is that shaders are much simpler, so the joys of looking at assembly output actually make sense.&lt;br /&gt;&lt;br /&gt;So, yeah, I'm back to some shader programming.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10600468-114849134799752898?l=nearaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nearaz.blogspot.com/feeds/114849134799752898/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10600468&amp;postID=114849134799752898' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/114849134799752898'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/114849134799752898'/><link rel='alternate' type='text/html' href='http://nearaz.blogspot.com/2006/05/back-to-some-shader-programming.html' title='Back to some shader programming'/><author><name>NeARAZ</name><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>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10600468.post-114555122696016762</id><published>2006-04-20T19:22:00.000+03:00</published><updated>2006-04-20T19:42:34.833+03:00</updated><title type='text'>It's always unexpected</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;img src="http://nesnausk.org/nearaz/img/blog/060420.jpg" /&gt;I have a &lt;a href="http://www.apple.com/macbookpro/"&gt;MacBook Pro&lt;/a&gt; now and slowly am getting used to it. It's quite hard, considering that I've never had a laptop before; and actually used any Mac for the first time just a couple of months ago. My daughter thinks the best part about it are the weird image effects in PhotoBooth. I just can't disagree.&lt;br /&gt;&lt;br /&gt;On the unrelated note, now I am a Microsoft DirectX MVP. Just about the time when I almost stopped using it! I'd love to, but we're making &lt;a href="http://unity3d.com"&gt;a product&lt;/a&gt; that primarily runs on the Macs... quite hard to use D3D there. But almost every day I wish I could, and every second day I'm annoying my coworkers by saying that D3D is &lt;span style="font-style: italic;"&gt;lightyears&lt;/span&gt; ahead of TheOtherAPI!&lt;br /&gt;&lt;br /&gt;The MVP award just came out of nowhere. It's one of the things that you never expect - but hey, it feels good anyway. And now I have a MVP laptop case for my MacBook :)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10600468-114555122696016762?l=nearaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nearaz.blogspot.com/feeds/114555122696016762/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10600468&amp;postID=114555122696016762' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/114555122696016762'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/114555122696016762'/><link rel='alternate' type='text/html' href='http://nearaz.blogspot.com/2006/04/its-always-unexpected.html' title='It&apos;s always unexpected'/><author><name>NeARAZ</name><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-10600468.post-114552757392106442</id><published>2006-04-20T12:49:00.000+03:00</published><updated>2006-04-20T13:17:59.460+03:00</updated><title type='text'>OOP and other things now and then</title><content type='html'>&lt;div style="text-align: justify;"&gt;Approximate conversation at work the other day:&lt;br /&gt;&lt;blockquote&gt;Yeah, I split this into separate files, removed this and made these classes to make it actually work.&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Ok, but don't go too fancy with objects here.&lt;/span&gt;&lt;br /&gt;Sure! I think it's the only place where I actually use inheritance!&lt;br /&gt;&lt;/blockquote&gt;Heh. I'd imagine how that would have looked back some 5 years ago. &lt;span style="font-style: italic;"&gt;"What design patterns did you use here?"&lt;/span&gt; etc. Funny how things change.&lt;br /&gt;&lt;br /&gt;I think I've got it by now - took me way too much time for such a trivial thing - &lt;span style="font-style: italic;"&gt;there is no silver bullet&lt;/span&gt;. OOP or any other buzzword is just a means to do something; sometimes it fits, sometimes it does not. Regarding OOP, I highly recommend &lt;a href="http://steve-yegge.blogspot.com/2006/03/execution-in-kingdom-of-nouns.html"&gt;Execution in the Kingdom of Nouns&lt;/a&gt; essay - it's way exaggerated, but has the point. The best part:&lt;br /&gt;&lt;blockquote&gt;advocating Object-Oriented Programming is like advocating Pants-Oriented Clothing&lt;br /&gt;&lt;/blockquote&gt;There is one thing about the codebase that we have at work that I love: it does not use any particular design/programming technique. A bit of OO, a bit of metaprogramming, a bit of plain C style, a bit of preprocessor macros, etc. I like to think that we're using the best of those worlds, of course :)&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/10600468-114552757392106442?l=nearaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nearaz.blogspot.com/feeds/114552757392106442/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10600468&amp;postID=114552757392106442' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/114552757392106442'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/114552757392106442'/><link rel='alternate' type='text/html' href='http://nearaz.blogspot.com/2006/04/oop-and-other-things-now-and-then.html' title='OOP and other things now and then'/><author><name>NeARAZ</name><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>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10600468.post-114344798761439860</id><published>2006-03-27T11:20:00.000+03:00</published><updated>2006-03-27T11:26:27.633+03:00</updated><title type='text'>Threading woes</title><content type='html'>&lt;div style="text-align: justify;"&gt;Getting multithreaded code right is just so damn hard. Reasoning about it's behavior or correctness is even harder! We'll be doomed until we get something of much higher level than threads and locks.&lt;br /&gt;&lt;br /&gt;Why I'm writing this? Because my head hurts from trying to make the renderer run in one thread, and the containing application in the other. With added spice that most (win32) GUI stuff must happen in one thread, OpenGL contexts can only be active in a single thread, simple functions must be split into complex chains of inter-threading calls, etc. etc. The result is a mess that nobody can understand.&lt;br /&gt;&lt;br /&gt;I hope I'm not missing something obvious (well, aside from the suggestion "just don't use threads").&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/10600468-114344798761439860?l=nearaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nearaz.blogspot.com/feeds/114344798761439860/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10600468&amp;postID=114344798761439860' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/114344798761439860'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/114344798761439860'/><link rel='alternate' type='text/html' href='http://nearaz.blogspot.com/2006/03/threading-woes.html' title='Threading woes'/><author><name>NeARAZ</name><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>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10600468.post-114105672271519269</id><published>2006-02-27T18:08:00.000+02:00</published><updated>2006-02-27T18:12:02.733+02:00</updated><title type='text'>Why doesn't this feature exist?</title><content type='html'>&lt;div style="text-align: justify;"&gt;Found this quote from &lt;a href="http://blogs.msdn.com/oldnewthing"&gt;Raymond Chen&lt;/a&gt; today (&lt;a href="http://blog.ryjones.org/2005/07/12/Product+Development.aspx"&gt;here&lt;/a&gt;):&lt;br /&gt;&lt;blockquote&gt;The answer to &lt;span style="font-style: italic;"&gt;"Why doesn't this feature exist?"&lt;/span&gt; is usually &lt;span style="font-style: italic;"&gt;"By default features don't exist. Somebody has to implement them."&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;It's not like every feature you can think of comes out of your brain fully tested and implemented, and then some PM somewhere files a bug to have your feature removed.  Features start out nonexistent and somebody has to make them happen.&lt;br /&gt;&lt;/blockquote&gt;So brilliant.&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/10600468-114105672271519269?l=nearaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nearaz.blogspot.com/feeds/114105672271519269/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10600468&amp;postID=114105672271519269' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/114105672271519269'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/114105672271519269'/><link rel='alternate' type='text/html' href='http://nearaz.blogspot.com/2006/02/why-doesnt-this-feature-exist.html' title='Why doesn&apos;t this feature exist?'/><author><name>NeARAZ</name><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-10600468.post-114029564754069274</id><published>2006-02-18T22:45:00.000+02:00</published><updated>2006-02-20T10:47:33.096+02:00</updated><title type='text'>The holy grail of shadows</title><content type='html'>&lt;div style="text-align: justify;"&gt;It just occurred to me: it seems that noone has ever made a shadowing system that does shadows from anything onto anything, with zero artifacts, with no corner cases, always looking good, running fast and on any sensible hardware.&lt;br /&gt;&lt;br /&gt;Hm... sounds like a challenge! ;)&lt;br /&gt;&lt;br /&gt;Back to reading.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10600468-114029564754069274?l=nearaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nearaz.blogspot.com/feeds/114029564754069274/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10600468&amp;postID=114029564754069274' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/114029564754069274'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/114029564754069274'/><link rel='alternate' type='text/html' href='http://nearaz.blogspot.com/2006/02/holy-grail-of-shadows.html' title='The holy grail of shadows'/><author><name>NeARAZ</name><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>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10600468.post-113999770821053346</id><published>2006-02-15T11:40:00.000+02:00</published><updated>2006-02-20T10:48:56.480+02:00</updated><title type='text'>Pair programming / animations</title><content type='html'>&lt;div style="text-align: justify;"&gt;Tried out &lt;a href="http://en.wikipedia.org/wiki/Pair_programming"&gt;pair programming&lt;/a&gt; the other day. I can definitely see it working, especially on hard topics (i.e. where you spend lots of time thinking, explaining, arguing and brainstorming that just typing in code). I am still not sure whether it really suits for "ordinary" day-to-day programming though.&lt;br /&gt;&lt;br /&gt;The topic I and &lt;a href="http://otee.dk/people.html"&gt;Joe&lt;/a&gt; tried it on was a pretty hard one - related to the core animation system. Now, &lt;span style="font-style: italic;"&gt;of course&lt;/span&gt; I don't know anything about animation systems, but my impression is that there is just no "universal" way of designing it. The ones that are floating around inside free/open engines/libraries (&lt;a href="http://cal3d.sourceforge.net"&gt;cal3d&lt;/a&gt;, &lt;a href="http://nebuladevice.cubik.org/documentation/nebula2/group__Anim2.shtml"&gt;nebula2&lt;/a&gt;) are quite fine, but not much more impressive than my own &lt;a href="http://svn.berlios.de/viewcvs/dingus/trunk/dingus/dingus/animator"&gt;very&lt;/a&gt; &lt;a href="http://svn.berlios.de/viewcvs/dingus/trunk/dingus/dingus/gfx/skeleton"&gt;simplistic&lt;/a&gt; attempts at doing animations. There is nothing wrong with that of course - its simple, it gets the job done, and its okay in most of the cases when you're doing simple stuff.&lt;br /&gt;&lt;br /&gt;But then, if you want something more advanced, you either have to go and get the &lt;a href="http://radgametools.com/gramain.htm"&gt;big serious &lt;/a&gt;libraries, or just... well... not do it.&lt;br /&gt;&lt;br /&gt;So, back to pair programming - making the core animation system that would have transitions, continuous blends, animation layers, bone masks and whatnot (and the kitchen sink of course!) is just not very easy. We paired basically on writing the pseudocode of the system, or some sort of outline; changed the implementation several times along the way, and in the end we're left with a really nice &lt;span style="font-style: italic;"&gt;and&lt;/span&gt; fast system &lt;span style="font-style: italic;"&gt;and &lt;/span&gt;the code is actually quite simple. Much of the credit for that goes to Joe, as he found out some really cool ways to optimize the expensive things away &lt;span style="font-style: italic;"&gt;(at that time we were not doing pair programming anymore - I went to do some research on shadows!)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;But to reiterate - pairing can definitely work. I guess mostly because the other person just keeps asking &lt;span style="font-style: italic;"&gt;"why you're doing this?"&lt;/span&gt; or &lt;span style="font-style: italic;"&gt;"this is wrong"&lt;/span&gt; or &lt;span style="font-style: italic;"&gt;"we're in a deep shit now"&lt;/span&gt; or &lt;span style="font-style: italic;"&gt;"that's awesome"&lt;/span&gt; :)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10600468-113999770821053346?l=nearaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nearaz.blogspot.com/feeds/113999770821053346/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10600468&amp;postID=113999770821053346' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/113999770821053346'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/113999770821053346'/><link rel='alternate' type='text/html' href='http://nearaz.blogspot.com/2006/02/pair-programming-animations.html' title='Pair programming / animations'/><author><name>NeARAZ</name><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>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10600468.post-113691959784563236</id><published>2006-01-10T20:55:00.000+02:00</published><updated>2006-01-10T20:59:57.860+02:00</updated><title type='text'>Switched jobs - (almost) back in this crazy industry</title><content type='html'>&lt;div style="text-align: justify;"&gt;Switched to the new job recently. So here I am, sitting in OTEE office in Copenhagen, working on &lt;a href="http://www.unity3d.com"&gt;Unity&lt;/a&gt; game development tool. Not exactly game development, but quite related. So far so good, will see how it goes. If you haven't yet - take a look at Unity, it is good and will only get better.&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/10600468-113691959784563236?l=nearaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nearaz.blogspot.com/feeds/113691959784563236/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10600468&amp;postID=113691959784563236' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/113691959784563236'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/113691959784563236'/><link rel='alternate' type='text/html' href='http://nearaz.blogspot.com/2006/01/switched-jobs-almost-back-in-this.html' title='Switched jobs - (almost) back in this crazy industry'/><author><name>NeARAZ</name><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>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10600468.post-113627865951488301</id><published>2006-01-03T10:52:00.000+02:00</published><updated>2006-01-03T10:57:39.546+02:00</updated><title type='text'>Zen bondage!</title><content type='html'>&lt;div style="text-align: justify;"&gt;Check out a small game by demogroup Moppi: &lt;a href="http://www.pouet.net/prod.php?which=20938"&gt;Zen Bondage&lt;/a&gt;.&lt;br /&gt;&lt;blockquote&gt;Zen Bondage is a puzzle game about control. The&lt;br /&gt;motivation was to try to make a puzzle game which&lt;br /&gt;evokes adult emotions.&lt;br /&gt;&lt;/blockquote&gt;However, it fails to evoke any "adult emotions" in me. Maybe I'm just not into this bondage thing :)&lt;br /&gt;&lt;br /&gt;I like the simplicity/pureness of the idea, and it's executed very well.&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/10600468-113627865951488301?l=nearaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nearaz.blogspot.com/feeds/113627865951488301/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10600468&amp;postID=113627865951488301' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/113627865951488301'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/113627865951488301'/><link rel='alternate' type='text/html' href='http://nearaz.blogspot.com/2006/01/zen-bondage.html' title='Zen bondage!'/><author><name>NeARAZ</name><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-10600468.post-113535798624477082</id><published>2005-12-23T18:58:00.000+02:00</published><updated>2005-12-24T10:35:41.320+02:00</updated><title type='text'>64k coding continued</title><content type='html'>&lt;div style="text-align: justify;"&gt;I'm making a steady, but &lt;span style="font-style: italic;"&gt;very&lt;/span&gt; slow progress on "my" &lt;a href="http://nearaz.blogspot.com/2005/11/crazy-thought-64k-intro.html"&gt;64k intro&lt;/a&gt;. Over the last week I couldn't get over 13 kilobytes, so you can see that the progress is really slow. Not because I don't code anything, but all code increase was cancelled by data size optimizations.&lt;br /&gt;&lt;br /&gt;So far coding and data design for small sizes is not that much pain at all. Just, well, code and, well, keep your data small :) We're only talking about the size of initial data, not the runtime size though.&lt;br /&gt;&lt;br /&gt;A few obvious or new notes:&lt;br /&gt;&lt;/div&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;Code to construct a cylinder is more complex than the one to construct a sphere. That's what I expected. However, code to construct a box with multiple segments per side is the most complex of all!&lt;/li&gt;&lt;li&gt;Dropping last byte from floats is usually okay. And instant 25% save! For some of the numbers, I plan to switch to half-style float (2 bytes) if space becomes a concern.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Storing quaternions in 4 bytes (byte per component) is good. Actually, now that I think of it, it makes more sense to store three components at 10 bits each, and just store the sign of 4th component - better precision for the same size.&lt;/li&gt;&lt;li&gt;This intro literally has the most complex and most automated "art pipeline" of any demo/game I (directly) worked on! I've got maxscripts generating C++ sources, custom commandline tools preprocessing C++ sources (mostly floats packing - due to lack of maxscript functionality), lua scripts for batch-compiling HLSL shaders, "development code" generating .obj models for import back into max, etc. It's wacky, weird and cool!&lt;/li&gt;&lt;li&gt;Compiling HLSL in two steps (HLSL-&gt;asm and asm-&gt;bytecode) instead of direct (HLSL-&gt;bytecode) gets rid of the constant table, some copyright strings and hence is good.&lt;span style="font-style: italic;"&gt; (thanks &lt;/span&gt;&lt;a style="font-style: italic;" href="http://www.blackpawn.com/blog/?p=6"&gt;blackpawn&lt;/a&gt;&lt;span style="font-style: italic;"&gt;!)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Getting FFD code to behave remotely similar to how 3dsmax does FFD is hard :)&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;The best thing so far is that I've got the music track from &lt;a href="http://www.x-dynamics.de.vu/"&gt;x_dynamics&lt;/a&gt; - it's already done in V2 synth, takes small amount of space and is really good. Now I "just" have to finish the intro...&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/10600468-113535798624477082?l=nearaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nearaz.blogspot.com/feeds/113535798624477082/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10600468&amp;postID=113535798624477082' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/113535798624477082'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/113535798624477082'/><link rel='alternate' type='text/html' href='http://nearaz.blogspot.com/2005/12/64k-coding-continued.html' title='64k coding continued'/><author><name>NeARAZ</name><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-10600468.post-113525435280187141</id><published>2005-12-22T14:06:00.000+02:00</published><updated>2005-12-23T11:32:20.156+02:00</updated><title type='text'>Speculation: pipelining geometry shaders</title><content type='html'>&lt;div style="text-align: justify;"&gt;A followup to the older "&lt;a href="http://nearaz.blogspot.com/2005/12/reading-dx10-docs.html"&gt;discussion&lt;/a&gt;" about how/why geometry shaders would be okay/slow:&lt;br /&gt;&lt;br /&gt;The graphics hardware has been quite successful so far at hiding memory latencies (i.e. when sampling textures). It does so (according to my understanding) by having a looong pixel pipeline, where hundreds (or thousands) pixels might be at one or another processing stage. ATI talks about this in big letters (&lt;a href="http://www.beyond3d.com/reviews/ati/r520/"&gt;R520 dispatch processor&lt;/a&gt;) and speculations suggest that GeForceFX had something like that (&lt;a href="http://www.extremetech.com/article2/0,3973,710337,00.asp"&gt;article&lt;/a&gt;). I have no idea about the older cards, but presumably they did something similar as well.&lt;br /&gt;&lt;br /&gt;I am not sure how the vertex texture fetches are pipelined - pretty slow performance on GeForce6/7 suggest that they aren't :) Probably vertex shaders in current cards operate in a simpler way - just fetch the vertices and run whole shaders on them (in contrast to pixel shaders, which seem to run just several instructions, then go to another pixels, return back, etc.).&lt;br /&gt;&lt;br /&gt;With DX10, we have arbitrary memory fetches in any stage of the pipeline. Even the boundary between different fetch types is somewhat blurry (constant buffers vs. arbitrary buffers vs. textures) - perhaps they will differ only in bandwidth/latency (e.g. constant buffers live near the GPU while textures live in video memory).&lt;br /&gt;&lt;br /&gt;So, with arbitrary memory fetches anywhere (and some of them being high latency), everything needs to have long pipelines (again, just my guess). This is all great, but the longer the pipeline, the worse it performs in non-friendly scenarios: pipeline flush is more expensive, drawing just a couple of "things" (primitives, vertices, pixels) is inefficient, etc.&lt;br /&gt;&lt;br /&gt;I guess we'll just learn a new set of performance rules for tomorrow's hardware!&lt;br /&gt;&lt;br /&gt;Back to GS pipelining: I imagine that the "slow" scenarios would be like this: vertices have shaders with dynamic branches or memory fetches differing vastly in execution lengths - so GS has to wait for all vertex shaders of the current primitive (optional: plus topology) to finish; and then each GS has dynamic branches or memory fetches, and outputs different number of primitives to the rasterizer. If I'd were hardware, I'd be scared :)&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/10600468-113525435280187141?l=nearaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nearaz.blogspot.com/feeds/113525435280187141/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10600468&amp;postID=113525435280187141' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/113525435280187141'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/113525435280187141'/><link rel='alternate' type='text/html' href='http://nearaz.blogspot.com/2005/12/speculation-pipelining-geometry.html' title='Speculation: pipelining geometry shaders'/><author><name>NeARAZ</name><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>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10600468.post-113475608542847735</id><published>2005-12-16T19:58:00.000+02:00</published><updated>2005-12-16T20:01:25.443+02:00</updated><title type='text'>Reading DX10 docs...</title><content type='html'>Reading DirectX10 preview documentation right now (you know, it's released with &lt;a href="http://msdn.microsoft.com/directx/sdk/"&gt;Dec2005 SDK&lt;/a&gt;). It is pretty impressive, I must say! Seems like a huge leap forward. &lt;span style="font-style: italic;"&gt;Back to reading!&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10600468-113475608542847735?l=nearaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nearaz.blogspot.com/feeds/113475608542847735/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10600468&amp;postID=113475608542847735' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/113475608542847735'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/113475608542847735'/><link rel='alternate' type='text/html' href='http://nearaz.blogspot.com/2005/12/reading-dx10-docs.html' title='Reading DX10 docs...'/><author><name>NeARAZ</name><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>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10600468.post-113421676838507132</id><published>2005-12-10T14:01:00.000+02:00</published><updated>2005-12-10T14:15:09.206+02:00</updated><title type='text'>Pakimono!</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span style="font-style: italic;"&gt;(the lack of updates recently is because I have lots of stuff here going on)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I few weeks ago I was visiting &lt;a href="http://otee.dk/"&gt;OTEE&lt;/a&gt; and over the weekend we were jamming on a small game called &lt;a href="http://www.idevgames.com/contest/downloads/details.php?file=19"&gt;Pakimono!&lt;/a&gt; The idea of the game was pretty cool - you're the naked guy and have to ruin tourists' photos :)&lt;br /&gt;&lt;br /&gt;The whole experience was great. It was my first time using a Mac, first time working with &lt;a href="http://otee.dk/unity/index.html"&gt;Unity &lt;/a&gt;(their game development tool) etc. I coded&amp;tuned most of the bullet-time character controller, where you drag your limbs with a mouse, trying to cover as much of the sight as possible.&lt;br /&gt;&lt;br /&gt;The coding was a bit unusual - most of my coding life I was doing pretty low-level C++ programming. This time it was completely different - I'd setup "the game" directly in the editor, write some short C# scripts and &lt;span style="font-style: italic;"&gt;boom!&lt;/span&gt; - everything works, without me having to worry about any of the low-level stuff. No recompiling or any of that stuff. Cool.&lt;br /&gt;&lt;br /&gt;Ironically, I did not see the final Pakimono build yet. I left earlier than the others and do not have a Mac anywhere nearby. But the guys promised me a windows build!&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/10600468-113421676838507132?l=nearaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nearaz.blogspot.com/feeds/113421676838507132/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10600468&amp;postID=113421676838507132' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/113421676838507132'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/113421676838507132'/><link rel='alternate' type='text/html' href='http://nearaz.blogspot.com/2005/12/pakimono.html' title='Pakimono!'/><author><name>NeARAZ</name><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-10600468.post-113143472703590362</id><published>2005-11-08T09:21:00.000+02:00</published><updated>2005-11-08T09:25:27.036+02:00</updated><title type='text'>Lost Garden</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;a href="http://www.lostgarden.com/"&gt;Lost Garden&lt;/a&gt; is good - about game design and related things from (ex) Anark guy &lt;span style="font-style: italic;"&gt;(hi Chris!)&lt;/span&gt;. E.g. this one (&lt;a href="http://lostgarden.com/2005/04/practical-definition-of-innovation-in.html"&gt;a practical definition of innovation in game design&lt;/a&gt;):&lt;br /&gt;&lt;blockquote&gt;And if you ever hear an indie game developer talking about level design, either shoot them in the head now to help them avoid their future misery, or direct them towards this essay.&lt;/blockquote&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/10600468-113143472703590362?l=nearaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nearaz.blogspot.com/feeds/113143472703590362/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10600468&amp;postID=113143472703590362' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/113143472703590362'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/113143472703590362'/><link rel='alternate' type='text/html' href='http://nearaz.blogspot.com/2005/11/lost-garden.html' title='Lost Garden'/><author><name>NeARAZ</name><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-10600468.post-113104059430667180</id><published>2005-11-03T19:49:00.000+02:00</published><updated>2005-11-03T19:58:01.480+02:00</updated><title type='text'>A crazy thought: 64k intro</title><content type='html'>&lt;div style="text-align: justify;"&gt;I was planning to do a demo this year; all by myself (except music). However, after playing with &lt;a href="http://www.blender.org/"&gt;Blender&lt;/a&gt; a bit it became clear that I am really &lt;span style="font-style: italic;"&gt;not&lt;/span&gt; a 3D artist (not Blender's fault, of course) - what a surprise :)&lt;br /&gt;&lt;br /&gt;Now a crazy thought: do a 64 kilobyte intro instead?&lt;br /&gt;&lt;br /&gt;Yeah, I know, one pretty unsuccessful &lt;a href="http://nesnausk.org/nearaz/projBzhykt.html"&gt;try&lt;/a&gt; already was there 3+ years ago... But still: I need a musician that could use Farbrausch's &lt;a href="http://1337haxorz.de/products.html#v2"&gt;V2 synth&lt;/a&gt;, some clever ideas/design/code and there it is. There's a hope that I have actually learned something in these 3 years, you know :)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;By the way, this &lt;span style="font-style: italic;"&gt;bzhykt&lt;/span&gt; intro produces really abstract visuals on my computer right now. Something was messed up in there...&lt;/span&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/10600468-113104059430667180?l=nearaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nearaz.blogspot.com/feeds/113104059430667180/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10600468&amp;postID=113104059430667180' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/113104059430667180'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/113104059430667180'/><link rel='alternate' type='text/html' href='http://nearaz.blogspot.com/2005/11/crazy-thought-64k-intro.html' title='A crazy thought: 64k intro'/><author><name>NeARAZ</name><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>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10600468.post-113093251207251814</id><published>2005-11-02T13:52:00.000+02:00</published><updated>2005-11-02T13:55:12.086+02:00</updated><title type='text'>HDR with MSAA demo</title><content type='html'>&lt;div style="text-align: justify;"&gt;Released this HDR with MSAA demo I was &lt;a href="http://nearaz.blogspot.com/2005/11/more-hdr-woes.html"&gt;talking&lt;/a&gt; about earlier. Here it is: &lt;a href="http://nesnausk.org/nearaz/projHDR.html"&gt;nesnausk.org/nearaz/projHDR.html&lt;/a&gt;. I can also add that this St. Anne's Church is a pretty complex beast :)&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/10600468-113093251207251814?l=nearaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nearaz.blogspot.com/feeds/113093251207251814/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10600468&amp;postID=113093251207251814' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/113093251207251814'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/113093251207251814'/><link rel='alternate' type='text/html' href='http://nearaz.blogspot.com/2005/11/hdr-with-msaa-demo.html' title='HDR with MSAA demo'/><author><name>NeARAZ</name><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-10600468.post-113092306445365551</id><published>2005-11-02T11:09:00.000+02:00</published><updated>2005-11-02T11:17:45.290+02:00</updated><title type='text'>More HDR woes</title><content type='html'>&lt;div style="text-align: justify;"&gt;I'm still spending an occasional minute on my &lt;a href="http://nearaz.blogspot.com/2005/10/jumped-onto-hdr-bandwagon.html"&gt;HDR demo&lt;/a&gt;. Now, everything is fine so far, except one thing: I can't get MSAA working on some Radeons (and I don't have a Radeon right now, which makes debugging a lot harder). The main point of my demo is to have MSAA on ordinary hw, so this is bad.&lt;br /&gt;&lt;br /&gt;The reason seems to be that on older Radeons &lt;a href="http://www.beyond3d.com/forum/showthread.php?p=611933#post611933"&gt;MSAA does not resolve alpha channel&lt;/a&gt;, which obsiously messes things up in my case. I'm using RGBE8 encoding for the main rendertarget, and it RGB gets MSAA'd and exponent not - then oh well, no good anti aliasing most of the time.&lt;br /&gt;&lt;br /&gt;Of course I could always manually supersample everything, but this would defeat the whole point of the demo. Or I could render everything in two passes, one for RGB and one for exponent - but this also is not very nice...&lt;br /&gt;&lt;br /&gt;Probably I'll just release the demo as it is now and wait for possible feedback. Or dig up an old Radeon somewhere and debug more - but replacing the video card in my Shuttle XPC is not an easy task :)&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/10600468-113092306445365551?l=nearaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nearaz.blogspot.com/feeds/113092306445365551/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10600468&amp;postID=113092306445365551' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/113092306445365551'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/113092306445365551'/><link rel='alternate' type='text/html' href='http://nearaz.blogspot.com/2005/11/more-hdr-woes.html' title='More HDR woes'/><author><name>NeARAZ</name><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-10600468.post-113030547891734953</id><published>2005-10-26T08:30:00.000+03:00</published><updated>2005-10-26T08:55:13.596+03:00</updated><title type='text'>Debugging plus</title><content type='html'>&lt;div style="text-align: justify;"&gt;Yesterday I had a cool debugging session while working on my &lt;a href="http://nearaz.blogspot.com/2005/10/jumped-onto-hdr-bandwagon.html"&gt;HDR demo&lt;/a&gt;. One of postprocessing filters produced weird results and I went off to investigate that. The usual tricks: debugging in Visual Studio to make sure right sample offsets are generated; D3D debug runtime, D3DX debug, reference rasterizer, firing up NVPerfHud and doing frame analysis, doing full capture with PIX and inspecting device state, etc.&lt;br /&gt;&lt;br /&gt;Nothing helped.&lt;br /&gt;&lt;br /&gt;Then I noticed that in the pixel shader, I wrote  &lt;blockquote&gt;sample = tex2D( s0, uv + vSmpOffsets[i] )&lt;/blockquote&gt;  instead of  &lt;blockquote&gt;sample += tex2D( s0, uv + vSmpOffsets[i] )&lt;/blockquote&gt; Aaargh. So much for a plus sign.&lt;br /&gt;&lt;br /&gt;How to deal with such bugs? Why some bugs are trivial to find, and some are hard? Why sometimes (often?) the time required to find the bug does not correlate with bug's "trickiness"? Why sometimes I can find a tricky bug in big unknown codebase in a couple of minutes; yet spend two hours on the plus sign in my own small code?&lt;br /&gt;&lt;br /&gt;I've got no answers to the above.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;By the way: PIX is a great tool, but D3D guys should really polish the UI :)&lt;/span&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/10600468-113030547891734953?l=nearaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nearaz.blogspot.com/feeds/113030547891734953/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10600468&amp;postID=113030547891734953' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/113030547891734953'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/113030547891734953'/><link rel='alternate' type='text/html' href='http://nearaz.blogspot.com/2005/10/debugging-plus.html' title='Debugging plus'/><author><name>NeARAZ</name><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>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10600468.post-113008689363974582</id><published>2005-10-23T19:54:00.000+03:00</published><updated>2005-10-23T20:01:33.646+03:00</updated><title type='text'>Jumped onto HDR bandwagon</title><content type='html'>&lt;div style="text-align: justify;"&gt;I'm doing a small HDR demo for fun. Nothing fancy - linear gamma, Reinhard's tone mapping and whatnot - everyone does that. But the thing I made so far does not even look good! :)&lt;br /&gt;&lt;br /&gt;I'm trying to support both HDR and FSAA at the same time on ordinary DX9 hardware (no Radeons 1k) by using RGBE8 rendertarget for the main scene. It's all okay so far.&lt;br /&gt;&lt;br /&gt;The most difficult task right now is making it look good. Once I have that I'll post the results.&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/10600468-113008689363974582?l=nearaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nearaz.blogspot.com/feeds/113008689363974582/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10600468&amp;postID=113008689363974582' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/113008689363974582'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/113008689363974582'/><link rel='alternate' type='text/html' href='http://nearaz.blogspot.com/2005/10/jumped-onto-hdr-bandwagon.html' title='Jumped onto HDR bandwagon'/><author><name>NeARAZ</name><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-10600468.post-112921882743629996</id><published>2005-10-13T18:52:00.000+03:00</published><updated>2005-10-13T18:53:47.453+03:00</updated><title type='text'>Bought Rag Doll Kung Fu</title><content type='html'>&lt;div style="text-align: justify;"&gt;Like I &lt;a href="http://nearaz.blogspot.com/2005/09/rag-doll-kung-fu.html"&gt;promised&lt;/a&gt; :)&lt;br /&gt;&lt;br /&gt;It ownz, period.&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/10600468-112921882743629996?l=nearaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nearaz.blogspot.com/feeds/112921882743629996/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10600468&amp;postID=112921882743629996' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/112921882743629996'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/112921882743629996'/><link rel='alternate' type='text/html' href='http://nearaz.blogspot.com/2005/10/bought-rag-doll-kung-fu.html' title='Bought Rag Doll Kung Fu'/><author><name>NeARAZ</name><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-10600468.post-112858790667576909</id><published>2005-10-06T11:36:00.000+03:00</published><updated>2005-10-06T11:38:26.686+03:00</updated><title type='text'>Listening</title><content type='html'>&lt;div style="text-align: justify;"&gt;Headphones on, winamp alternatively playing &lt;span style="font-style: italic;"&gt;The Jupiter Sound &lt;/span&gt;and &lt;span style="font-style: italic;"&gt;Four Themes and a Masterplan&lt;/span&gt; by &lt;a href="http://www.kewlers.scene.org/bitchard/index.htm"&gt;Little Bitchard&lt;/a&gt;. Just the right kind of music for asp.net coding. At least the music is good :)&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/10600468-112858790667576909?l=nearaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nearaz.blogspot.com/feeds/112858790667576909/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10600468&amp;postID=112858790667576909' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/112858790667576909'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/112858790667576909'/><link rel='alternate' type='text/html' href='http://nearaz.blogspot.com/2005/10/listening.html' title='Listening'/><author><name>NeARAZ</name><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>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10600468.post-112833273685932885</id><published>2005-10-03T12:38:00.000+03:00</published><updated>2005-10-03T12:46:47.036+03:00</updated><title type='text'>An article on efficient D3DX Effects state management</title><content type='html'>&lt;div style="text-align: justify;"&gt;I wrote an article on the subject I was &lt;a href="http://nearaz.blogspot.com/2005/09/state-management-in-d3dx-effects.html"&gt;talking&lt;/a&gt; &lt;a href="http://nearaz.blogspot.com/2005/09/state-management-in-d3dx-effects-2.html"&gt;about&lt;/a&gt; recently - an auto-magical system that manages device states in the effects. The article and links to implementation are on my homepage here: &lt;a href="http://nesnausk.org/nearaz/texts/d3dx_fx_states.html"&gt;nesnausk.org/nearaz/texts/d3dx_fx_states.html&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/10600468-112833273685932885?l=nearaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nearaz.blogspot.com/feeds/112833273685932885/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10600468&amp;postID=112833273685932885' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/112833273685932885'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/112833273685932885'/><link rel='alternate' type='text/html' href='http://nearaz.blogspot.com/2005/10/article-on-efficient-d3dx-effects.html' title='An article on efficient D3DX Effects state management'/><author><name>NeARAZ</name><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-10600468.post-112783657768002355</id><published>2005-09-27T18:52:00.000+03:00</published><updated>2005-09-27T19:06:36.606+03:00</updated><title type='text'>Rag Doll Kung Fu</title><content type='html'>&lt;div style="text-align: justify;"&gt;I saw &lt;a href="http://www.ragdollkungfu.com/"&gt;Rag Doll Kung Fu&lt;/a&gt; website already a while ago. However, only today I saw the video of it's presentation at GDC. It's &lt;span style="font-style: italic;"&gt;awesome&lt;/span&gt;! Will buy the game as soon as it appears on Steam (even if I don't play games).&lt;br /&gt;&lt;br /&gt;Go to downloads section at the site and get this large video presentation. It's really good.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10600468-112783657768002355?l=nearaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nearaz.blogspot.com/feeds/112783657768002355/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10600468&amp;postID=112783657768002355' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/112783657768002355'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/112783657768002355'/><link rel='alternate' type='text/html' href='http://nearaz.blogspot.com/2005/09/rag-doll-kung-fu.html' title='Rag Doll Kung Fu'/><author><name>NeARAZ</name><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-10600468.post-112783624519369305</id><published>2005-09-27T18:46:00.000+03:00</published><updated>2005-09-27T19:06:48.923+03:00</updated><title type='text'>State management in D3DX Effects #2</title><content type='html'>&lt;div style="text-align: justify;"&gt;I've written down the &lt;a href="http://nearaz.blogspot.com/2005/09/state-management-in-d3dx-effects.html"&gt;basic idea here&lt;/a&gt;. Done some tests and it &lt;span style="font-style: italic;"&gt;really seems to work&lt;/span&gt;!&lt;br /&gt;&lt;br /&gt;That required tiny 700 lines of hacky C++ code in the engine; but in exchange there's no longer a need to write state restoring passes by hand. Maybe such effect usage scheme would even be useable in RealWorld!&lt;br /&gt;&lt;br /&gt;Too bad I didn't think it up a couple of months ago. My ShaderX4 article about this subject would have been much better...&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Ok, still got to test this stuff on real world data (i.e. trying it on our demos)&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10600468-112783624519369305?l=nearaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nearaz.blogspot.com/feeds/112783624519369305/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10600468&amp;postID=112783624519369305' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/112783624519369305'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/112783624519369305'/><link rel='alternate' type='text/html' href='http://nearaz.blogspot.com/2005/09/state-management-in-d3dx-effects-2.html' title='State management in D3DX Effects #2'/><author><name>NeARAZ</name><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-10600468.post-112757774832017720</id><published>2005-09-24T18:45:00.000+03:00</published><updated>2005-09-24T19:02:28.353+03:00</updated><title type='text'>State management in D3DX Effects</title><content type='html'>&lt;div style="text-align: justify;"&gt;In my projects I've been using D3DX Effects with no device state saving/restoring. Instead, each effect contained a dummy "last pass" that restores "needed" state (see &lt;a href="http://dingus.berlios.de/index.php?n=Main.D3DXEffects"&gt;here&lt;/a&gt;; more lengthy article coming in &lt;a href="http://www.shaderx4.com/TOC.html"&gt;ShaderX4&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;I always wrote this "state restore" by hand. This is obviously &lt;span style="font-style: italic;"&gt;very &lt;/span&gt;error-prone; it's ok if I'm the only one writing effects but would be unusable in any real world scenario.&lt;br /&gt;&lt;br /&gt;I think I could automatically generate the "state restore" pass. Somehow the engine knows which states need to be restored; which must be set in every effect etc. (this could be read from some file). It first loads each effect file and examines what states it touches. This can be done by supplying a custom ID3DXEffectStateManager and "executing" the effect - the state manager then would remember all states (left-hand sides of state assignments) touched by the effect.&lt;br /&gt;&lt;br /&gt;Then the engine generates the "state restore" pass and loads the effect again. I'd image it would do it like this: each effect has to contain a macro &lt;span style="font-style: italic;"&gt;RESTORE_PASS&lt;/span&gt;:&lt;br /&gt;&lt;blockquote&gt;&lt;pre&gt;technique Foo {&lt;br /&gt; pass P1 { ... }&lt;br /&gt; pass P2 { ... }&lt;br /&gt; RESTORE_PASS&lt;br /&gt;}&lt;/pre&gt;&lt;/blockquote&gt; Which would be empty during first load and which would expand to the generated restore pass on the second load (you can supply generated macro definitions when loading the effect). The engine can check whether the generated pass exists after second load (if it doesn't then RESTORE_PASS is missing from the effect - an error).&lt;br /&gt;&lt;br /&gt;The downside of this scheme is that each effect file has to be loaded twice - first time for examining its state assignments and second time for actually loading it with the generated restore pass. It's not a problem for me, I guess, because effect loading doesn't take much time anyway... And if it would become really slow, all this stuff can be done as a preprocess (e.g. during a build).&lt;br /&gt;&lt;br /&gt;There are many upsides of this scheme, I think: the whole system is robust and error-proof again (no longer depends on the effect writer to remember all the details about states). And as far as I can see, no performance would be lost at all (performance was the main point why I'm using this "restore pass").&lt;br /&gt;&lt;br /&gt;Gotta go and implement all this!&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/10600468-112757774832017720?l=nearaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nearaz.blogspot.com/feeds/112757774832017720/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10600468&amp;postID=112757774832017720' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/112757774832017720'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/112757774832017720'/><link rel='alternate' type='text/html' href='http://nearaz.blogspot.com/2005/09/state-management-in-d3dx-effects.html' title='State management in D3DX Effects'/><author><name>NeARAZ</name><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-10600468.post-112728349453016153</id><published>2005-09-21T09:11:00.000+03:00</published><updated>2005-09-21T09:18:14.543+03:00</updated><title type='text'>Dingus redux at Pilgrimage'05</title><content type='html'>&lt;div style="text-align: justify;"&gt;Richard "legalize" Thomson (the organizer of &lt;a href="http://pilgrimage.scene.org/"&gt;Pilgrimage&lt;/a&gt; demoparty and DirectX MVP) just told me: he has done a &lt;a href="http://www.scene.org/file.php?file=%2Fparties%2F2005%2Fpilgrimage05%2Fwild%2Flegalize_wild.wmv&amp;fileinfo"&gt;2-minute analysis&lt;/a&gt; of our demo engine &lt;a href="http://dingus.berlios.de/"&gt;&lt;span style="font-style: italic;"&gt;dingus&lt;/span&gt;&lt;/a&gt; as a "wild demo". It took 3rd place in wild demo competition at Pilgrimage'05!&lt;br /&gt;&lt;br /&gt;That is pretty funny. I never knew it has so much sourcecode inside! :)&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/10600468-112728349453016153?l=nearaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nearaz.blogspot.com/feeds/112728349453016153/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10600468&amp;postID=112728349453016153' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/112728349453016153'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/112728349453016153'/><link rel='alternate' type='text/html' href='http://nearaz.blogspot.com/2005/09/dingus-redux-at-pilgrimage05.html' title='Dingus redux at Pilgrimage&apos;05'/><author><name>NeARAZ</name><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-10600468.post-112715271288552298</id><published>2005-09-19T20:42:00.000+03:00</published><updated>2005-09-19T20:58:32.893+03:00</updated><title type='text'>C++ clunkiness</title><content type='html'>&lt;div style="text-align: justify;"&gt;Here I am coding &lt;a href="http://nearaz.blogspot.com/2005/09/project-hoshimi-2006.html"&gt;various things&lt;/a&gt; and it suddenly struck me: C++ is pretty clunky. Now, I knew this to some extent for quite a time already, but the more I code C++ the more clunky it feels.&lt;br /&gt;&lt;br /&gt;I admire it as a low-level language; it's very powerful and there's lots of unbelievable things you can do with it (think templates).&lt;br /&gt;&lt;br /&gt;But still, it feels like a low-level one. I really want to code by "next project" (whatever that might be) in Lua, for example (especially now that &lt;a href="http://luajit.luaforge.net"&gt;LuaJIT&lt;/a&gt; is out).&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/10600468-112715271288552298?l=nearaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nearaz.blogspot.com/feeds/112715271288552298/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10600468&amp;postID=112715271288552298' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/112715271288552298'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/112715271288552298'/><link rel='alternate' type='text/html' href='http://nearaz.blogspot.com/2005/09/c-clunkiness.html' title='C++ clunkiness'/><author><name>NeARAZ</name><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>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10600468.post-112671773680488696</id><published>2005-09-14T19:57:00.000+03:00</published><updated>2005-09-14T20:11:52.046+03:00</updated><title type='text'>InteraMotion closes offices</title><content type='html'>&lt;div style="text-align: justify;"&gt;The company I was &lt;a href="http://nesnausk.org/nearaz/cv.html"&gt;working at&lt;/a&gt; for some three years, closed it's offices in Kaunas recently. Well, it was almost a year when both &lt;span style="font-style: italic;"&gt;intera&lt;/span&gt; and &lt;span style="font-style: italic;"&gt;motion&lt;/span&gt; parts of the name didn't already make any sense... At start we were doing computer vision, various game/graphics/entertainment stuff, but in the last year all development was about some computer networks management system. A couple of programmers will stay for some time to support existing systems, but afaik any new development is suspended.&lt;br /&gt;&lt;br /&gt;I feel kinda sad, even if I blame the management for the failures mostly &lt;span style="font-style: italic;"&gt;(we programmers never blame ourselves, you know :))&lt;/span&gt;. Yes, I/we could have worked harder, done better etc., but all the way I (and probably 'we') felt that the ambitions were too unrealistic&lt;sup&gt;*&lt;/sup&gt;, the business plans were too non-existant, the management was just a bit too poor, and some forward-thinking was 'just a bit missing'.&lt;br /&gt;&lt;br /&gt;I guess that's just my attempt to transfer blame to someone else :)&lt;br /&gt;&lt;br /&gt;That said, it's still sad. Oh well, just keep going on.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);font-size:85%;" &gt;* Ambitions: "by that time Sony, Nintendo and Konami will be years behind us" doesn't sound very realistic, does it? :)&lt;/span&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/10600468-112671773680488696?l=nearaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nearaz.blogspot.com/feeds/112671773680488696/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10600468&amp;postID=112671773680488696' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/112671773680488696'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/112671773680488696'/><link rel='alternate' type='text/html' href='http://nearaz.blogspot.com/2005/09/interamotion-closes-offices.html' title='InteraMotion closes offices'/><author><name>NeARAZ</name><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-10600468.post-112559786784628817</id><published>2005-09-01T20:54:00.000+03:00</published><updated>2005-09-01T21:04:27.853+03:00</updated><title type='text'>Project Hoshimi 2006</title><content type='html'>Work has really started on the next version of &lt;a href="http://nesnausk.org/nearaz/projHoshimi.html"&gt;Project Hoshimi&lt;/a&gt; for Microsoft. We've got to:&lt;br /&gt;&lt;ul&gt;   &lt;li&gt;Add eye candy, whatever that may be. They say we can ditch some old harware (DX6 level), but methinks we can't go really wild ("minimum ps2.0" would be cool, but not in this real world). We've got to add some particles, transparent blood cells, lighting fx etc. Anyone has some ideas what could be easy to implement and look extremely cool? :)&lt;br /&gt;  &lt;/li&gt;   &lt;li&gt;I can't say much, but it's about network, client-server etc. Time to learn some network programming for me!&lt;/li&gt;   &lt;li&gt;The guys behind whole this thing have some really insane plans that would rock the christ child if they would really happen. Not a high probability of them happening though...&lt;/li&gt; &lt;/ul&gt; Ok, back to thinking about possible eye candy and the network protocol.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10600468-112559786784628817?l=nearaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nearaz.blogspot.com/feeds/112559786784628817/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10600468&amp;postID=112559786784628817' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/112559786784628817'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/112559786784628817'/><link rel='alternate' type='text/html' href='http://nearaz.blogspot.com/2005/09/project-hoshimi-2006.html' title='Project Hoshimi 2006'/><author><name>NeARAZ</name><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>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10600468.post-112547577392863840</id><published>2005-08-31T11:04:00.000+03:00</published><updated>2005-08-31T11:14:23.156+03:00</updated><title type='text'>The Escapist</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;a href="http://www.escapistmagazine.com/"&gt;The Escapist&lt;/a&gt; is a good read from time to time. This time, it's &lt;a href="http://www.escapistmagazine.com/issue/8/3"&gt;Greg Costikyan&lt;/a&gt;:&lt;br /&gt;&lt;blockquote&gt;And actually, EA tried to kill &lt;i&gt;The Sims&lt;/i&gt; many times before it was finally released. From what I've heard (and this is definitely hearsay), Bing Gordon's comment at the meeting where publishing was approved was: "Well, it'll only sell a hundred thousand copies, but it'll get Will off our backs."&lt;br /&gt;&lt;br /&gt;We're only talking about the best-selling PC title of &lt;b&gt;all fucking time&lt;/b&gt;.&lt;/blockquote&gt; Gee, I'd want all magazines to be like this. Focused, to the point and without trivial crap that most of them are 99% full of.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10600468-112547577392863840?l=nearaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nearaz.blogspot.com/feeds/112547577392863840/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10600468&amp;postID=112547577392863840' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/112547577392863840'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/112547577392863840'/><link rel='alternate' type='text/html' href='http://nearaz.blogspot.com/2005/08/escapist.html' title='The Escapist'/><author><name>NeARAZ</name><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-10600468.post-112540798940601421</id><published>2005-08-30T16:09:00.000+03:00</published><updated>2005-08-30T16:21:52.053+03:00</updated><title type='text'>Doing something</title><content type='html'>&lt;div style="text-align: justify;"&gt;After taking a break, I already want to do something programming-related in my free time. What should I?&lt;br /&gt;&lt;/div&gt; &lt;ul style="text-align: justify;"&gt;   &lt;li&gt;The standard thing: do a demo. I have &lt;a href="http://nesnausk.org/nearaz/scrapbook/index.php?n=Ideas.UogeleDemo"&gt;some ideas&lt;/a&gt; (LT) for that, but for various reasons I'm not in the mood right now to start a big/long project.&lt;/li&gt;   &lt;li&gt;Read some books. I'm doing this a bit.&lt;br /&gt; &lt;/li&gt;   &lt;li&gt;Learn something. Do something with &lt;a href="http://www.wxwidgets.org/"&gt;wxWidgets&lt;/a&gt; or some &lt;a href="http://www.lua.org/"&gt;Lua&lt;/a&gt;-only programming, but didn't start anything yet.&lt;/li&gt;&lt;li&gt;I already &lt;span style="font-style: italic;"&gt;should &lt;/span&gt;do something related to the next version of &lt;a href="http://nesnausk.org/nearaz/projHoshimi.html"&gt;Project Hoshimi&lt;/a&gt; for Imagine Cup 2006. I'm trying to!&lt;br /&gt;  &lt;/li&gt;  &lt;/ul&gt; &lt;div style="text-align: justify;"&gt;On the unrelated note, I'm doing a &lt;a href="http://nearaz.blogspot.com/2005/08/software-of-week.html"&gt;Oracle&lt;/a&gt; and XSLT related project at work. While Oracle stuff I'm dealing with really sucks, XSLT isn't bad at all. Sure, it's not "programming" that I'd love very much, but the whole concept is very powerful.&lt;br /&gt;&lt;br /&gt;Maybe XML isn't such a bad thing afterall, especially once you start doing funky things with XSLT and XPath. &lt;span style="font-style: italic;"&gt;I still love the quote "XML is a giant step in no direction at all" though :)&lt;/span&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/10600468-112540798940601421?l=nearaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nearaz.blogspot.com/feeds/112540798940601421/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10600468&amp;postID=112540798940601421' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/112540798940601421'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/112540798940601421'/><link rel='alternate' type='text/html' href='http://nearaz.blogspot.com/2005/08/doing-something.html' title='Doing something'/><author><name>NeARAZ</name><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-10600468.post-112481255299376371</id><published>2005-08-23T18:45:00.000+03:00</published><updated>2005-08-23T18:57:30.480+03:00</updated><title type='text'>Software of the week</title><content type='html'>&lt;div style="text-align: justify;"&gt;It's never too early for &lt;span style="font-style: italic;"&gt;Software Of The Week&lt;/span&gt; awards, even if it's only Tuesday. Ladies and gentlement, Aras' picks are:&lt;br /&gt;&lt;ul&gt;   &lt;li&gt;&lt;span style="font-weight: bold;"&gt;Software That Rocks&lt;/span&gt; award goes to &lt;a href="http://tortoisesvn.tigris.org/"&gt;TortoiseSVN&lt;/a&gt; and &lt;a href="http://www.pmwiki.org/"&gt;PmWiki&lt;/a&gt;. Both are slick, sexy and do not try to annoy you. They actually work (that's already something!), they do not crash whenever I do just-a-bit-non-usual action, they do not corrupt my files behind my back.&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Software That Sucks&lt;/span&gt; award this week goes to Oracle &lt;a href="http://www.oracle.com/technology/products/reports/index.html"&gt;Reports&lt;/a&gt; and &lt;a href="http://www.oracle.com/technology/products/designer/index.html"&gt;Designer&lt;/a&gt; 10g. Sorry dear Oracle, but the best description I have for those is &lt;span style="font-style: italic;"&gt;"Ugh"&lt;/span&gt;. For a longer description, just invert everything that's written in the first point.&lt;/li&gt; &lt;/ul&gt; See you later!&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/10600468-112481255299376371?l=nearaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nearaz.blogspot.com/feeds/112481255299376371/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10600468&amp;postID=112481255299376371' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/112481255299376371'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/112481255299376371'/><link rel='alternate' type='text/html' href='http://nearaz.blogspot.com/2005/08/software-of-week.html' title='Software of the week'/><author><name>NeARAZ</name><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>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10600468.post-112374524423000808</id><published>2005-08-11T10:25:00.000+03:00</published><updated>2005-08-11T18:14:18.700+03:00</updated><title type='text'>Guns &amp; games</title><content type='html'>&lt;div style="text-align: justify;"&gt;The comment on the blog entry &lt;a href="http://www.zenofdesign.com/?p=422"&gt;here&lt;/a&gt; is great:&lt;br /&gt;&lt;blockquote&gt;38% of Americans own game consoles. Around 40% of Americans own guns. The gun lobby is damn powerful. We shouldn't need anywhere near as much money as the gun lobby, because unlike games, we are absolutely, 100% sure that guns actually &lt;i&gt;do&lt;/i&gt; kill people.&lt;/blockquote&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/10600468-112374524423000808?l=nearaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nearaz.blogspot.com/feeds/112374524423000808/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10600468&amp;postID=112374524423000808' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/112374524423000808'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/112374524423000808'/><link rel='alternate' type='text/html' href='http://nearaz.blogspot.com/2005/08/guns-games.html' title='Guns &amp; games'/><author><name>NeARAZ</name><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>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10600468.post-112359282595794425</id><published>2005-08-09T15:53:00.000+03:00</published><updated>2005-08-09T16:08:18.650+03:00</updated><title type='text'>What's in the engine?</title><content type='html'>&lt;div style="text-align: justify;"&gt;As always, here's a thought that's more about demo-engines than about game-engines; and mostly dealing with graphics stuff.&lt;br /&gt;&lt;br /&gt;Some folks add whatever gfx effects/techniques they use to "the engine". Quote from &lt;a href="http://www.plastic-demo.org/"&gt;Plastic&lt;/a&gt;:&lt;br /&gt;&lt;blockquote&gt;We've also added a couple of new features like &lt;...&gt; wireframe/particle shader.&lt;/blockquote&gt; Now, I don't have a problem with that, but what strikes me is that for whatever reason &lt;a href="http://dingus.berlios.de/"&gt;our engine&lt;/a&gt; doesn't have &lt;span style="font-style: italic;"&gt;any &lt;/span&gt;effect/technique in it. Zero shaders, no shadowmaps/PRT/refractions/whatever.&lt;br /&gt;&lt;br /&gt;The obvious disadvantage of our approach is that for each demo I basically write the shaders and "effects" from scratch (ok, copying them is also fine). There's no central place where, for example, a Gaussian blur postprocessing filter or shadowmaps rendering code is stored.&lt;br /&gt;&lt;br /&gt;On the other hand, that means (nearly) complete freedom for each demo. In each prod I can tweak whatever I want and implement completely different rendering techniques. For example, &lt;a href="http://nesnausk.org/inoutside"&gt;in.out.side demo&lt;/a&gt; is quite different from &lt;a href="http://dingus.berlios.de/index.php?n=Main.ProjNanobots"&gt;Visual Gaming viewer&lt;/a&gt; or &lt;a href="http://nesnausk.org/nearaz/projXplodar.html"&gt;Xplodar FEM demo&lt;/a&gt;, yet they all share the same underlying "engine" (read: bunch of code).&lt;br /&gt;&lt;br /&gt;Still, what I'd like to do is have "somewhat stable" stuff gathered in one place. I don't tweak my basic lighting functions, standard postprocessing effects or shadowmap sampling patterns that often :)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10600468-112359282595794425?l=nearaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nearaz.blogspot.com/feeds/112359282595794425/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10600468&amp;postID=112359282595794425' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/112359282595794425'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/112359282595794425'/><link rel='alternate' type='text/html' href='http://nearaz.blogspot.com/2005/08/whats-in-engine.html' title='What&apos;s in the engine?'/><author><name>NeARAZ</name><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-10600468.post-112342327191449695</id><published>2005-08-07T16:54:00.000+03:00</published><updated>2005-08-07T17:04:03.583+03:00</updated><title type='text'>Back #2 - tiny photos from Japan</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;img class="i" src="http://nesnausk.org/nearaz/img/blog/050807a.jpg" /&gt;&lt;img class="i" src="http://nesnausk.org/nearaz/img/blog/050807b.jpg" /&gt;&lt;img class="i" src="http://nesnausk.org/nearaz/img/blog/050807c.jpg" /&gt;&lt;img class="i" src="http://nesnausk.org/nearaz/img/blog/050807d.jpg" /&gt;&lt;img class="i" src="http://nesnausk.org/nearaz/img/blog/050807e.jpg" /&gt;&lt;img class="i" src="http://nesnausk.org/nearaz/img/blog/050807f.jpg" /&gt;&lt;br /&gt;Left to right, top to bottom: The fractal house on our way from Narita Airport to Yokohama. Visual Gaming competition in action - hey, it's the 3D viewer I wrote! Paulius in the ferri wheel - demo or die. Me showing our demo before the dinner. The wistful photo - me looking at the horizon. Yokohama - we were here.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10600468-112342327191449695?l=nearaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nearaz.blogspot.com/feeds/112342327191449695/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10600468&amp;postID=112342327191449695' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/112342327191449695'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/112342327191449695'/><link rel='alternate' type='text/html' href='http://nearaz.blogspot.com/2005/08/back-2-tiny-photos-from-japan.html' title='Back #2 - tiny photos from Japan'/><author><name>NeARAZ</name><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>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10600468.post-112240655996526877</id><published>2005-07-26T22:27:00.000+03:00</published><updated>2005-07-26T22:35:59.973+03:00</updated><title type='text'>Back!</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;img src="http://nesnausk.org/nearaz/img/blog/050726.jpg" /&gt;I'm back from Turkey. That's me somewhere in the Mediterranean sea, practically showing that refraction really works - note the double hand and the mermaid-like legs :)&lt;br /&gt;&lt;br /&gt;Right now - finishing my &lt;a href="http://www.shaderx4.com/"&gt;ShaderX4&lt;/a&gt; article and preparing for Japan.&lt;br /&gt;&lt;br /&gt;One totally insane 64 kilobyte intro: &lt;a href="http://www.pouet.net/prod.php?which=18252"&gt;195/95/256 by rgba&lt;/a&gt;. Of course, first you have to see the original &lt;a href="http://www.plastic-demo.org"&gt;195/95 demo&lt;/a&gt; by Plastic. The 64k intro copies the (party version) of the demo almost perfectly, while squeezing everything in less than 64 kilobytes. Ok, the music sucks, the loading time is nearly infinite and it has lots of bugs/glitches, but I must say that rgba guys are insane anyway.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10600468-112240655996526877?l=nearaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nearaz.blogspot.com/feeds/112240655996526877/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10600468&amp;postID=112240655996526877' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/112240655996526877'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/112240655996526877'/><link rel='alternate' type='text/html' href='http://nearaz.blogspot.com/2005/07/back.html' title='Back!'/><author><name>NeARAZ</name><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-10600468.post-112128045994140273</id><published>2005-07-13T21:43:00.000+03:00</published><updated>2005-07-13T21:47:39.950+03:00</updated><title type='text'>Vacation!</title><content type='html'>I'm going off to Turkey for a week (vacation). Then, I'll go to Japan for a week (ImagineCup finals). Will see how it goes; should be pretty cool I guess &lt;span style="font-style: italic;"&gt;(well, the air will most likely be hot, not cool)&lt;/span&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10600468-112128045994140273?l=nearaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nearaz.blogspot.com/feeds/112128045994140273/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10600468&amp;postID=112128045994140273' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/112128045994140273'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/112128045994140273'/><link rel='alternate' type='text/html' href='http://nearaz.blogspot.com/2005/07/vacation.html' title='Vacation!'/><author><name>NeARAZ</name><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-10600468.post-112081474342407633</id><published>2005-07-08T12:18:00.000+03:00</published><updated>2005-07-08T12:25:43.433+03:00</updated><title type='text'>Press releases and other noise</title><content type='html'>&lt;div style="text-align: justify;"&gt;Ok, seems like Microsoft Lithuania issues some PR about ImagineCup and &lt;a href="http://nesnausk.org/inoutside"&gt;our demo&lt;/a&gt; in there, and now every news portal in Lithuania catched it.&lt;br /&gt;&lt;br /&gt;Now, its pretty standard in a sense that from the PR itself noone could understand what it's about. The "rendering competition" is translated into something that means "the competition of presenting ideas"; and the demo is described as a "CG short film". And, of course, the usual press-like exaggerations: "competed with 17000 students and took 1/2 place" - which is obviously wrong as 17k is the total number of students; in the rendering compo there was probably something like 100.&lt;br /&gt;&lt;br /&gt;I don't like it (the press); it's just a noise that distracts you. Meh.&lt;br /&gt;&lt;br /&gt;One funny thing: yesterday I received a call into work phone from one local PR agency. How the hell do they get this information? They know my name and university (it's in the press release) - how do they find out where I work and more, how do they get my phone number? I mean, even I &lt;span style="font-style: italic;"&gt;don't know my work phone number&lt;/span&gt; (ok, I could find it out if I needed)!&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/10600468-112081474342407633?l=nearaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nearaz.blogspot.com/feeds/112081474342407633/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10600468&amp;postID=112081474342407633' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/112081474342407633'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/112081474342407633'/><link rel='alternate' type='text/html' href='http://nearaz.blogspot.com/2005/07/press-releases-and-other-noise.html' title='Press releases and other noise'/><author><name>NeARAZ</name><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-10600468.post-112080619266957305</id><published>2005-07-08T09:59:00.000+03:00</published><updated>2005-07-08T10:03:12.676+03:00</updated><title type='text'>Immediate mode GUI</title><content type='html'>&lt;div style="text-align: justify;"&gt;It's already advertised somewhere else, but I'll add it as well: Casey Muratori has an amazing lecture on &lt;a href="https://mollyrocket.com/forums/viewtopic.php?t=134"&gt;Immediate Mode GUI&lt;/a&gt;. I like the idea, and while I think IMGUI mostly applies to realtime UIs (in-game, editors etc.), this is a good read (er... watch) for any UI programmer.&lt;br /&gt;&lt;br /&gt;I was subconsciously heading towards that UI style as well; drawing and processing some UI "immediately", though not at the level Casey does.&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/10600468-112080619266957305?l=nearaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nearaz.blogspot.com/feeds/112080619266957305/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10600468&amp;postID=112080619266957305' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/112080619266957305'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/112080619266957305'/><link rel='alternate' type='text/html' href='http://nearaz.blogspot.com/2005/07/immediate-mode-gui.html' title='Immediate mode GUI'/><author><name>NeARAZ</name><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-10600468.post-112073725957533844</id><published>2005-07-07T14:49:00.000+03:00</published><updated>2005-07-07T14:54:19.580+03:00</updated><title type='text'>Some new books</title><content type='html'>&lt;div style="text-align: justify;"&gt;Received &lt;a href="http://developer.nvidia.com/object/gpu_gems_2_home.html"&gt;GPU Gems 2&lt;/a&gt; and &lt;a href="http://www.theoryoffun.com"&gt;A Theory of Fun&lt;/a&gt; from amazon today. The first one I bought because hey, I need it; and the second one because it's (relatively) cheap and seemed like a good read. Indeed it is - it's a &lt;span style="font-style: italic;"&gt;great&lt;/span&gt; thing to read!&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/10600468-112073725957533844?l=nearaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nearaz.blogspot.com/feeds/112073725957533844/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10600468&amp;postID=112073725957533844' title='11 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/112073725957533844'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/112073725957533844'/><link rel='alternate' type='text/html' href='http://nearaz.blogspot.com/2005/07/some-new-books.html' title='Some new books'/><author><name>NeARAZ</name><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>11</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10600468.post-112046728267508866</id><published>2005-07-04T11:28:00.000+03:00</published><updated>2005-07-04T11:54:42.696+03:00</updated><title type='text'>Reading Siggraph 2005 papers...</title><content type='html'>I'm reading Siggraph 2005 preprint papers that are nicely gathered &lt;a href="http://www.cs.brown.edu/%7Etor/sig2005.html"&gt;here&lt;/a&gt;. Some of them are really amazing! What I'm impressed with so far:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://research.microsoft.com/users/kunzhou/"&gt;Texture Montage&lt;/a&gt;: looks cool. Just made me realize how primitive the "usual" texturing tools are... It makes me want to create some texturing tool...&lt;br /&gt;&lt;br /&gt;&lt;a href="http://research.microsoft.com/%7Eppsloan/"&gt;LDPRT&lt;/a&gt; and &lt;a href="http://graphics.ucsd.edu/papers/plrt/"&gt;Local PRT&lt;/a&gt; are steps in the needed direction for precomputed radiance transfer. Though &lt;a href="http://castano.ludicon.com/"&gt;Ignacio&lt;/a&gt; says that CPCA compression of SH is patented my M$... Bah!&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.cs.jhu.edu/%7Ecohen/publications.html"&gt;Relational Debugging for the Graphics Pipeline&lt;/a&gt; is like NVPerfHud on steroids!&lt;br /&gt;&lt;br /&gt;Reading on...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10600468-112046728267508866?l=nearaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nearaz.blogspot.com/feeds/112046728267508866/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10600468&amp;postID=112046728267508866' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/112046728267508866'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/112046728267508866'/><link rel='alternate' type='text/html' href='http://nearaz.blogspot.com/2005/07/reading-siggraph-2005-papers.html' title='Reading Siggraph 2005 papers...'/><author><name>NeARAZ</name><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-10600468.post-112023818030656191</id><published>2005-07-01T20:11:00.000+03:00</published><updated>2005-07-01T20:16:20.326+03:00</updated><title type='text'>Mesh seamless texturing tool released</title><content type='html'>&lt;div style="text-align: justify;"&gt;Finally I've put the &lt;a href="http://dingus.berlios.de/index.php?n=Main.MeshTexer"&gt;MeshTexer tool online&lt;/a&gt;, with some documentation, the tool itself and some sample data. Basically, it takes a mesh with unique UV mapping, a normalmap and a tileable texture, and "wraps" the texture (nearly) seamlessly onto the given model. Well, the truth is that it just projects the texture onto the model from several sides, weighting by normal.&lt;br /&gt;&lt;br /&gt;However, it worked like a charm during &lt;a href="http://www.nesnausk.org/inoutside"&gt;in.out.side&lt;/a&gt; demo production. Paulius has written whole texturing workflow &lt;a href="http://www.nesnausk.org/inoutside/Technology.php#tech_texturing"&gt;here&lt;/a&gt; - the tool was used to generate base material textures, material blend maps, gloss maps etc. Later these were hand-painted in "strategic" places and combined into final textures.&lt;br /&gt;&lt;br /&gt;Enjoy!&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/10600468-112023818030656191?l=nearaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nearaz.blogspot.com/feeds/112023818030656191/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10600468&amp;postID=112023818030656191' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/112023818030656191'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/112023818030656191'/><link rel='alternate' type='text/html' href='http://nearaz.blogspot.com/2005/07/mesh-seamless-texturing-tool-released.html' title='Mesh seamless texturing tool released'/><author><name>NeARAZ</name><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-10600468.post-112022342043189236</id><published>2005-07-01T15:59:00.000+03:00</published><updated>2005-07-01T16:10:20.450+03:00</updated><title type='text'>On some demos</title><content type='html'>&lt;div style="text-align: justify;"&gt;Watched some new&amp;old demos in the last couple of days. Here &lt;span style="font-style: italic;"&gt;(when there's a link to Lithuanian page, the 'download' looks like 'parsisiųsti')&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.nesnausk.org/demoscene/Apzvalgos.php?id=124&amp;r=1"&gt;Rapid Eye Movement&lt;/a&gt; by Matt Current. Now that's unreal; technically simple but excellent composition and creates a &lt;span style="font-style: italic;"&gt;very&lt;/span&gt; strong feeling. The similar feeling I only remember from &lt;a href="http://www.nesnausk.org/demoscene/Apzvalgos.php?id=45&amp;r=1"&gt;The Planet&lt;/a&gt; by mfx. Also, I think the concept of "rapid eye movement" (i.e. the phase of the sleep) is done very well. I want to (be able to) do this!&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.nesnausk.org/demoscene/Apzvalgos.php?id=121&amp;amp;r=1"&gt;Aether&lt;/a&gt; by mfx. The first time it didn't leave me very impressed. However, I recommend watching it for the second time. Fascinating, though I can't say what exactly.&lt;br /&gt;&lt;br /&gt;Old ones with a very strong music: &lt;a href="http://www.nesnausk.org/demoscene/Apzvalgos.php?id=111&amp;r=1"&gt;A Significant Deformation Near the Cranium&lt;/a&gt; by kewlers and &lt;a href="http://www.nesnausk.org/demoscene/Apzvalgos.php?id=57&amp;amp;r=1"&gt;Coma (on the dance floor)&lt;/a&gt; by Cocoon. I want that music :)&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/10600468-112022342043189236?l=nearaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nearaz.blogspot.com/feeds/112022342043189236/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10600468&amp;postID=112022342043189236' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/112022342043189236'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/112022342043189236'/><link rel='alternate' type='text/html' href='http://nearaz.blogspot.com/2005/07/on-some-demos.html' title='On some demos'/><author><name>NeARAZ</name><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-10600468.post-112002923569658061</id><published>2005-06-29T10:08:00.000+03:00</published><updated>2005-06-29T10:13:55.706+03:00</updated><title type='text'>Japan, here we come</title><content type='html'>&lt;div style="text-align: justify;"&gt;The results of ImagineCup05 rendering compo were finally &lt;a href="http://www.thespoke.net/MessageBoard/MessageBoard_ViewThread.aspx?postid=3397"&gt;announced&lt;/a&gt;!&lt;br /&gt;&lt;br /&gt;The best thing of course is that our demo &lt;a href="http://nesnausk.org/inoutside/"&gt;in.out.side: the shell&lt;/a&gt; took the 1st/2nd place (a tie). That means that both winning teams will go to the finals in Japan at the start of August. The final winner will be &lt;span style="font-style: italic;"&gt;somehow &lt;/span&gt;decided there.&lt;br /&gt;&lt;br /&gt;That's going to be pretty interesting, methinks. We've got the 2nd place last year; the other winning team got the 1st place last year. This year, the same teams meet again, but it's still not clear which one will win. Cool.&lt;br /&gt;&lt;br /&gt;I wonder &lt;span style="font-style: italic;"&gt;how&lt;/span&gt; the winner will be decided. Will we need to to some "presentation" (techniques/algorithms/workflow/hacks used)? Maybe there will be an additional "fast demo" competition (e.g. make a new demo in 1 day)? Interesting. Waiting...&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/10600468-112002923569658061?l=nearaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nearaz.blogspot.com/feeds/112002923569658061/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10600468&amp;postID=112002923569658061' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/112002923569658061'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/112002923569658061'/><link rel='alternate' type='text/html' href='http://nearaz.blogspot.com/2005/06/japan-here-we-come.html' title='Japan, here we come'/><author><name>NeARAZ</name><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-10600468.post-111987900070196837</id><published>2005-06-27T16:09:00.000+03:00</published><updated>2005-06-27T16:30:00.723+03:00</updated><title type='text'>While waiting for ImagineCup results...</title><content type='html'>&lt;div style="text-align: justify;"&gt;Aargh, the ImagineCup crew postponed the results announcement again (that is, 3rd time already)! First it had to be on June 13th, now it's scheduled for &lt;span style="font-style: italic;"&gt;Real Soon Now, Really!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Meanwhile, I'm doing a game that &lt;span style="font-style: italic;"&gt;surely&lt;/span&gt; will revolutionize the whole gaming industry, blah blah etc. That is, a letter learning game for my daughter; in Lithuanian. There are lots of these (&lt;a href="http://www.fisher-price.com/us/fun/games/abc/default.asp"&gt;example&lt;/a&gt;), but the problem is that they're in all languages except the one you need.&lt;br /&gt;&lt;br /&gt;Now, the most obvious implementation would be in Flash. Alas, I don't have Flash authoring tools nor do I want to learn them and it's ActionScript. I thought about going Lua+SDL all the way, without C++ at all. Guess what - SDL doesn't have any high level audio playing stuff; I'm too lazy to bind it's sdl_mixer to lua; there's no nice IDE and there were lots of other obstacles. So I just went and am doing this in C++, abusing our &lt;a href="http://dingus.berlios.de/"&gt;demo engine&lt;/a&gt;. Oh well, I'm just lazy.&lt;br /&gt;&lt;br /&gt;While implementing it I found out that I have no good tool to pack lots of arbitrary images into nice power-of-2 texture atlases. nVidia's &lt;a href="http://developer.nvidia.com/object/texture_atlas_tools.html"&gt;Texture Atlas Tools&lt;/a&gt; do &lt;span style="font-style: italic;"&gt;almost&lt;/span&gt; that, but they rescale textures to be power-of-2 (which is usually ok, but not for my case). So I just had to &lt;a href="http://svn.berlios.de/wsvn/dingus/trunk/dingus/tools/AtlasCreationToolFork/?rev=0&amp;sc=0"&gt;fork the AtlasCreationTool&lt;/a&gt; &lt;span style="font-style: italic;"&gt;(just SVN link for now)&lt;/span&gt; to do what I want. While at it, I removed it's dependency on D3D sample framework &lt;span style="font-style: italic;"&gt;(hey, removing code is always good!)&lt;/span&gt;, forced it to support non-pow-2 textures and to pack them better. It's probably not that good for the usual case (where you want to place textures at block boundaries in the atlas to minimize mipmap artifacts), but packs arbitrary sized images pretty nicely. Yay!&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/10600468-111987900070196837?l=nearaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nearaz.blogspot.com/feeds/111987900070196837/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10600468&amp;postID=111987900070196837' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/111987900070196837'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/111987900070196837'/><link rel='alternate' type='text/html' href='http://nearaz.blogspot.com/2005/06/while-waiting-for-imaginecup-results.html' title='While waiting for ImagineCup results...'/><author><name>NeARAZ</name><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>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10600468.post-111968623402577529</id><published>2005-06-25T10:39:00.000+03:00</published><updated>2005-06-25T10:59:42.963+03:00</updated><title type='text'>Various</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;img src="http://nesnausk.org/nearaz/img/blog/050625a.jpg" /&gt;I've got my Master's diploma. I feel like nothing has changed, probably so it is.&lt;br /&gt;&lt;br /&gt;We have a pretty unreal orchid in our house. I bought it 8 months ago, and it's been blooming all the time. It's even getting bigger and bigger!&lt;br /&gt;&lt;br /&gt;&lt;a href="https://mollyrocket.com/forums/viewtopic.php?t=132"&gt;Casey Muratori&lt;/a&gt;: &lt;span class="postbody"&gt;&lt;blockquote&gt;God, no wonder games are so hard to make. The tools are such complete crap. Some day there's going to be a tools revolution and one guy will be able to make the equivalent of today's $10 million games. There's no doubt in my mind.&lt;/blockquote&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10600468-111968623402577529?l=nearaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nearaz.blogspot.com/feeds/111968623402577529/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10600468&amp;postID=111968623402577529' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/111968623402577529'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/111968623402577529'/><link rel='alternate' type='text/html' href='http://nearaz.blogspot.com/2005/06/various.html' title='Various'/><author><name>NeARAZ</name><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-10600468.post-111866746347607875</id><published>2005-06-13T15:56:00.000+03:00</published><updated>2005-06-13T15:58:36.600+03:00</updated><title type='text'>Demo engine to game engine</title><content type='html'>&lt;div style="text-align: justify;"&gt;A Pilgrimage 2004 &lt;a href="http://eelpi.gotdns.org/papers/demo_engine_to_game_engine.ppt.zip"&gt;talk&lt;/a&gt; by Tom Forsyth. Good points captured.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10600468-111866746347607875?l=nearaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nearaz.blogspot.com/feeds/111866746347607875/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10600468&amp;postID=111866746347607875' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/111866746347607875'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/111866746347607875'/><link rel='alternate' type='text/html' href='http://nearaz.blogspot.com/2005/06/demo-engine-to-game-engine.html' title='Demo engine to game engine'/><author><name>NeARAZ</name><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>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10600468.post-111866739867767926</id><published>2005-06-13T15:41:00.000+03:00</published><updated>2005-06-13T15:58:12.723+03:00</updated><title type='text'>How to be creative</title><content type='html'>&lt;div style="text-align: justify;"&gt;Another day I stumbled upon this: &lt;a href="http://www.gapingvoid.com/Moveable_Type/archives/000932.html"&gt;how to be creative&lt;/a&gt;. Overall it's good; although a bit too long and most of the content is quite common-sense. A good read anyway.&lt;br /&gt;&lt;br /&gt;That reminds me: the other day I was thinking about a strange feeling in the town where I live (Kaunas, Lithuania). Basically, whenever I see a group (three or more) of young guys (20-25), most of the time they seem to be aggressive and angry. I don't get this feeling in the other towns/cities; I don't really know what's causing it. Maybe it's several bad experiences I had. Some of my friends have this feeling also, so it can't be just my problem.&lt;br /&gt;&lt;br /&gt;I wonder why people are agressive at all. I mean, what's the point in insulting/pushing/beating a random walker-by? Is that the only way they can express or "feel" themselves - through invoking fear or pain on the others? Maybe; another day I read Jean-Paul Sartre's "The Childhood of the Leader" (&lt;i&gt;L'enfance d'un chef&lt;/i&gt;) and maybe that's the case - when a person can't find "himself" he starts doing weird things.&lt;br /&gt;&lt;br /&gt;Still, why there seems to be so many of them?&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10600468-111866739867767926?l=nearaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nearaz.blogspot.com/feeds/111866739867767926/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10600468&amp;postID=111866739867767926' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/111866739867767926'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/111866739867767926'/><link rel='alternate' type='text/html' href='http://nearaz.blogspot.com/2005/06/how-to-be-creative.html' title='How to be creative'/><author><name>NeARAZ</name><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>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10600468.post-111823799864130650</id><published>2005-06-08T16:34:00.000+03:00</published><updated>2005-06-08T16:39:58.643+03:00</updated><title type='text'>Demo engine website</title><content type='html'>&lt;div style="text-align: justify;"&gt;Ok, I've released sourcecode for our demo engine/tools and the demo itself &lt;a href="http://nearaz.blogspot.com/2005/04/enginedemo-sourcecode-released.html"&gt;a while ago&lt;/a&gt;, now time to actually put up at least a minimal website, with some articles, download/build instructions and whatnot.&lt;br /&gt;&lt;br /&gt;So, here it is: &lt;a href="http://dingus.berlios.de"&gt;http://dingus.berlios.de&lt;/a&gt; &lt;span style="font-style: italic;"&gt;(oh, and it has an &lt;/span&gt;&lt;a style="font-style: italic;" href="http://dingus.berlios.de/index.php?n=Main.RecentChanges?action=rss"&gt;rss feed&lt;/a&gt;&lt;span style="font-style: italic;"&gt; of the recent changes, yay!)&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Currently it's half empty; I expect to write some more short articles soon. Maybe even put up some standalone tools... I know that the sourcecode is useless, but I thought "maybe the articles would be good". Or maybe not, who knows.&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/10600468-111823799864130650?l=nearaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nearaz.blogspot.com/feeds/111823799864130650/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10600468&amp;postID=111823799864130650' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/111823799864130650'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/111823799864130650'/><link rel='alternate' type='text/html' href='http://nearaz.blogspot.com/2005/06/demo-engine-website.html' title='Demo engine website'/><author><name>NeARAZ</name><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-10600468.post-111781637202704987</id><published>2005-06-03T19:26:00.000+03:00</published><updated>2005-06-03T19:32:52.030+03:00</updated><title type='text'>3D engine design redux</title><content type='html'>&lt;div style="text-align: justify;"&gt;On the other hand - maybe it's the way to go. You're designing the engine around some specific technologies and approaches, to be used in some 2-3 years.&lt;br /&gt;&lt;br /&gt;That way, when fancy water reflections go out of fashion and are replaced by fancy waxed floor reflections, you'd throw everything out and restart from scratch. Predicting that this moment will occur only in the next console transition &lt;span style="font-style: italic;"&gt;(hey, cur-gen can't handle fancy waxed floors!)&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Pretty reasonable I think, in 2-3 years it's likely that the things will be changed in non-trivial way, so you'd need to rething and possibly remake some parts of the technology anyway.&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/10600468-111781637202704987?l=nearaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nearaz.blogspot.com/feeds/111781637202704987/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10600468&amp;postID=111781637202704987' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/111781637202704987'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/111781637202704987'/><link rel='alternate' type='text/html' href='http://nearaz.blogspot.com/2005/06/3d-engine-design-redux.html' title='3D engine design redux'/><author><name>NeARAZ</name><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-10600468.post-111769785999580099</id><published>2005-06-02T10:29:00.000+03:00</published><updated>2005-06-02T10:37:40.000+03:00</updated><title type='text'>3D engine design</title><content type='html'>&lt;div style="text-align: justify;"&gt;I'm reading API docs of one "really advanced" modern 3D engine (found them publicly available on their site, don't know if that's an error or not :)) and... it's a strange feeling. Basically, everything's hardcoded!&lt;br /&gt;&lt;br /&gt;By 'everything' I mean that, for example, possible shadow algorithms are hardcoded in the very base classes of the engine. Same for physics, lights, scene management, culling etc. Similar like you'd have a class &lt;span style="font-style: italic;"&gt;VeryBaseEngineObject&lt;/span&gt; and that would have information "what shadows are on me?", "am I physics body", "cull me against the camera" and "render me for the water reflection".&lt;br /&gt;&lt;br /&gt;Huh? Is that how all engines are designed? You have functionality like "shadow map", "a physics crate", "a fancy reflective water" and "a fullscreen glow with light streaks Masaki Kawase style" in the &lt;span style="font-style: italic;"&gt;core of the engine&lt;/span&gt;? I'd understand if that would be as helpers or some "premade" stuff &lt;span style="font-style: italic;"&gt;on top&lt;/span&gt; of the core engine... but having that &lt;span style="font-style: italic;"&gt;in the core&lt;/span&gt;? Why?&lt;br /&gt;&lt;br /&gt;Is that what constitutes a "flexible" engine?&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/10600468-111769785999580099?l=nearaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nearaz.blogspot.com/feeds/111769785999580099/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10600468&amp;postID=111769785999580099' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/111769785999580099'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/111769785999580099'/><link rel='alternate' type='text/html' href='http://nearaz.blogspot.com/2005/06/3d-engine-design.html' title='3D engine design'/><author><name>NeARAZ</name><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>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10600468.post-111745242576773142</id><published>2005-05-30T14:23:00.000+03:00</published><updated>2005-05-30T14:27:58.586+03:00</updated><title type='text'>Demo released!</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;img src="http://nesnausk.org/nearaz/img/blog/050530b.jpg" /&gt;The demo I and some friends were working on in the last 5 months &lt;span style="font-style: italic;"&gt;(spare time)&lt;/span&gt; is finally released. Heck, it even has a website: &lt;a href="http://www.nesnausk.org/inoutside"&gt;www.nesnausk.org/inoutside&lt;/a&gt;! Now waiting for results from ImagineCup...&lt;br /&gt;&lt;br /&gt;I've been watching it too long to have any objective opinion. Some outsider comments are &lt;a href="http://www.pouet.net/prod.php?which=17357"&gt;here&lt;/a&gt;. Enjoy!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10600468-111745242576773142?l=nearaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nearaz.blogspot.com/feeds/111745242576773142/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10600468&amp;postID=111745242576773142' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/111745242576773142'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/111745242576773142'/><link rel='alternate' type='text/html' href='http://nearaz.blogspot.com/2005/05/demo-released.html' title='Demo released!'/><author><name>NeARAZ</name><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>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10600468.post-111745201100048304</id><published>2005-05-30T14:16:00.000+03:00</published><updated>2005-05-30T14:20:11.003+03:00</updated><title type='text'>The new chair</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;img src="http://nesnausk.org/nearaz/img/blog/050530a.jpg" /&gt; Got this new computer chair from Paulius for my birthday. The one where you're half-kneeled while sitting on it (some say it's good for your back). It's a bit strange at first, but overall pretty cool. After a week of chair-testing I'd say it's good. &lt;span style="font-style: italic;"&gt;My daughter there doesn't sit properly :)&lt;/span&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/10600468-111745201100048304?l=nearaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nearaz.blogspot.com/feeds/111745201100048304/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10600468&amp;postID=111745201100048304' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/111745201100048304'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/111745201100048304'/><link rel='alternate' type='text/html' href='http://nearaz.blogspot.com/2005/05/new-chair.html' title='The new chair'/><author><name>NeARAZ</name><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>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10600468.post-111702727448700967</id><published>2005-05-25T16:09:00.000+03:00</published><updated>2005-05-25T16:21:59.960+03:00</updated><title type='text'>It all depends on the way you look</title><content type='html'>&lt;div style="text-align: justify;"&gt;Yesterday Paulius put screenshots from &lt;a href="http://unrealtechnology.com/html/technology/ue30.shtml"&gt;UE3&lt;/a&gt; and our demo next to each other, wrote "right!" and "wrong!" over the corresponding shots and we realized that we're basically screwed.&lt;br /&gt;&lt;br /&gt;In the evening, I tweaked lighting and contrast, made some lightmaps and hand-drawn the other lightmaps.&lt;br /&gt;&lt;br /&gt;In the morning, Paulius took new screenshots and put UE3 screenshots next to them. Then he wrote "WTF?" over UE3 ones and "world domination!" over ours. Suddenly we realized that maybe it ain't that bad afterall.&lt;br /&gt;&lt;br /&gt;Conclusion: it all depends on what's written over the screenshots :)&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/10600468-111702727448700967?l=nearaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nearaz.blogspot.com/feeds/111702727448700967/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10600468&amp;postID=111702727448700967' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/111702727448700967'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/111702727448700967'/><link rel='alternate' type='text/html' href='http://nearaz.blogspot.com/2005/05/it-all-depends-on-way-you-look.html' title='It all depends on the way you look'/><author><name>NeARAZ</name><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>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10600468.post-111694139447772533</id><published>2005-05-24T16:18:00.000+03:00</published><updated>2005-05-24T16:29:54.486+03:00</updated><title type='text'>Demo nearly finished!</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span style="font-style: italic;"&gt;(me back at work after three days of 12+ hour work on the demo)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;Nearly finished the demo, gave testing builds to several people. I'm already sick with it and can't judge it objectively. My wife says that demo lacks colours (true), lacks action (partially true) and other things - but probably she's already sick with me doing the demo.&lt;br /&gt;&lt;br /&gt;The other people say various things. Well, too late to change everything; I feel a bit bad - we've invested so much time into this and it looks pretty bland &lt;span style="font-style: italic;"&gt;(i.e. when you compare screenshots of our demo and UnrealEngine3, one of them looks clearly better :))&lt;/span&gt;. Now it all depends on what demos will the other teams make.&lt;br /&gt;&lt;br /&gt;On the efficiency side, it's doing pretty well. I didn't bother writing fallback effects for anything lower than ps2.0 hardware (that was great!). Our low-end-target (something like 1.5GHz CPU and Radeon 9500 64MB) the demo runs ok at lower resolutions (800x600). On our 'recommended' hardware that ranges from Radeon 9800s to GeForce 6800s the demo runs well; FPS counts are 60-120. Haven't tried on any of the 'top' video cards. Two people said it doesn't run on GeForceFX; one effect does not get validated - that's bad, looking at the effect I can't tell what's the problem and don't have anything from FX series at hand.&lt;br /&gt;&lt;br /&gt;Funny enough, the demo manages to run reasonably well even when it's severely unoptimized!&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/10600468-111694139447772533?l=nearaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nearaz.blogspot.com/feeds/111694139447772533/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10600468&amp;postID=111694139447772533' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/111694139447772533'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/111694139447772533'/><link rel='alternate' type='text/html' href='http://nearaz.blogspot.com/2005/05/demo-nearly-finished.html' title='Demo nearly finished!'/><author><name>NeARAZ</name><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-10600468.post-111677661303042046</id><published>2005-05-22T18:38:00.000+03:00</published><updated>2005-05-22T18:43:33.033+03:00</updated><title type='text'>Work, work, work</title><content type='html'>&lt;div style="text-align: justify;"&gt;Demo demo demo! Beware!&lt;br /&gt;&lt;br /&gt;We still have a chance to finish it on time. I've taked a day off the work tomorrow and want it to be really finished by tomorrow evening &lt;span style="font-style: italic;"&gt;(or night)&lt;/span&gt;. The real deadline is after 4 days, but I've got to test it on various hardware...&lt;br /&gt;&lt;br /&gt;It's going pretty well, I think. It works, other team members say it looks pretty good (myself - I'm not sure, I think I've been watching it for too long). Does 100-150FPS on my GeForce 6800GT at 1024x768 with some FSAA. Again, we're under-utilizing the available hardware :)&lt;br /&gt;&lt;br /&gt;Back to work.&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/10600468-111677661303042046?l=nearaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nearaz.blogspot.com/feeds/111677661303042046/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10600468&amp;postID=111677661303042046' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/111677661303042046'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/111677661303042046'/><link rel='alternate' type='text/html' href='http://nearaz.blogspot.com/2005/05/work-work-work.html' title='Work, work, work'/><author><name>NeARAZ</name><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-10600468.post-111659116490416942</id><published>2005-05-20T15:08:00.000+03:00</published><updated>2005-05-20T15:12:44.906+03:00</updated><title type='text'>24 / deadline's near</title><content type='html'>&lt;div style="text-align: justify;"&gt;It's my 24th birthday today, yay!&lt;br /&gt;&lt;br /&gt;On the other hand, I won't "celebrate" &lt;span style="font-style: italic;"&gt;(whatver that means)&lt;/span&gt; it now, maybe after a week. The deadline for ImagineCup demo is just around the corner, and my &lt;a href="http://svn.berlios.de/viewcvs/dingus/trunk/ic2005/todo.txt?rev=129&amp;amp;view=markup"&gt;todo list&lt;/a&gt; still contains lots of stuff...&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/10600468-111659116490416942?l=nearaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nearaz.blogspot.com/feeds/111659116490416942/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10600468&amp;postID=111659116490416942' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/111659116490416942'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/111659116490416942'/><link rel='alternate' type='text/html' href='http://nearaz.blogspot.com/2005/05/24-deadlines-near.html' title='24 / deadline&apos;s near'/><author><name>NeARAZ</name><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-10600468.post-111639686696261080</id><published>2005-05-18T09:10:00.000+03:00</published><updated>2005-05-18T09:14:26.966+03:00</updated><title type='text'>Dilemmas</title><content type='html'>&lt;div style="text-align: justify;"&gt;Sometimes you must make decisions that clearly affect your whole foreseeable future in a significant way. Here comes the really unexpected though: making such decisions is hard! :)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10600468-111639686696261080?l=nearaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nearaz.blogspot.com/feeds/111639686696261080/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10600468&amp;postID=111639686696261080' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/111639686696261080'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/111639686696261080'/><link rel='alternate' type='text/html' href='http://nearaz.blogspot.com/2005/05/dilemmas.html' title='Dilemmas'/><author><name>NeARAZ</name><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>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10600468.post-111625651235625779</id><published>2005-05-16T18:09:00.000+03:00</published><updated>2005-05-16T18:15:12.360+03:00</updated><title type='text'>Improving UV mapping skills</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;img src="http://nesnausk.org/nearaz/img/blog/050516.png" /&gt;Hey, UV mapping the second human-like figure took me much less time than the first one! This one took about 1 hour, again in Blender (and again, marking seam edges, LSCM that and just arranging resulting pieces rocks).&lt;br /&gt;&lt;br /&gt;That said, making the low-poly mesh from the high-poly one took much longer than UV mapping; something like 4 hrs. A good artist would probably make a new mesh from scratch in shorter time, but hey, I'm not an artist :)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10600468-111625651235625779?l=nearaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nearaz.blogspot.com/feeds/111625651235625779/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10600468&amp;postID=111625651235625779' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/111625651235625779'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/111625651235625779'/><link rel='alternate' type='text/html' href='http://nearaz.blogspot.com/2005/05/improving-uv-mapping-skills.html' title='Improving UV mapping skills'/><author><name>NeARAZ</name><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>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10600468.post-111597796792588448</id><published>2005-05-13T12:38:00.000+03:00</published><updated>2005-05-16T18:09:22.180+03:00</updated><title type='text'>Ambient occlusion takes ages to compute!</title><content type='html'>&lt;div style="text-align: justify;"&gt;Really. Three hours for a model at 1024x1024 and 5x supersampling!&lt;br /&gt;&lt;br /&gt;Now I'm using ATI's &lt;a href="http://www.ati.com/developer/tools.html"&gt;NormalMapper&lt;/a&gt; to compute normal/AO maps (Previously was using nVidia's &lt;a href="http://developer.nvidia.com/object/melody_home.html"&gt;Melody&lt;/a&gt;, but switched for no obvious reason). The good thing with NormalMapper is that it comes with sourcecode; I've already sped up AO computation about 20% by capping octree traversal distances (that took less than an hour). I suspect with some thought it could be optimized even more.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://nesnausk.org/nearaz/img/blog/050513.jpg" /&gt;Previously I was using a hacked solution - compute normal map with either tool (that doesn't take long), then use my custom small tool that does low-order GPU PRT simulation on low-poly normalmapped model with D3DX. Get the first term of results, scale it and there you have ambient occlusion. I was thinking it produces good results, but in the truth is that 'real' AO maps look somewhat better, especially for small ornaments that aren't captured in low-poly geometry.&lt;br /&gt;&lt;br /&gt;The good thing about this hacked approach is that it takes ~10 seconds for a model (compare to 3hrs). Using it as a quick preview is great, and the differences between hacked-AO and real-AO aren't &lt;span style="font-style: italic;"&gt;that much&lt;/span&gt; visible once you add textures and conventional lighting.&lt;br /&gt;&lt;br /&gt;I'm thinking about doing GPU-based AO simulation &lt;span style="font-style: italic;"&gt;on the high poly&lt;/span&gt; model, with quick-n-dirty UV parametrization; then just fetching the resulting texture in normal map computation tool (afaik, Melody can do that natively; for NormalMapper it would be easy to add I think). With recent DX9 SDK such tool should not take more than 200-300 lines of code (D3DX has both UVAtlas and GPU PRT simulation now). &lt;span style="font-style: italic;"&gt;On the other hand, I know that nVidia guys are preparing something similar :)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Update:&lt;/span&gt; added image - on the left is hacked-n-fast AO, on the right is real-AO. Ornaments inside aren't present in low-poly model (only in normal map). Differences are less visible when the model is textured and other stuff is added.&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/10600468-111597796792588448?l=nearaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nearaz.blogspot.com/feeds/111597796792588448/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10600468&amp;postID=111597796792588448' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/111597796792588448'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/111597796792588448'/><link rel='alternate' type='text/html' href='http://nearaz.blogspot.com/2005/05/ambient-occlusion-takes-ages-to.html' title='Ambient occlusion takes ages to compute!'/><author><name>NeARAZ</name><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>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10600468.post-111588404002316557</id><published>2005-05-12T10:36:00.000+03:00</published><updated>2005-05-12T10:47:20.056+03:00</updated><title type='text'>Working efficiently</title><content type='html'>&lt;div style="text-align: justify;"&gt;Sometimes I work for 8 hours with almost no results. Sometimes, I can do much more in 3 hours.&lt;br /&gt;&lt;br /&gt;Things that help me (examples from IC05 demo): write down a detailed, roughly prioretized &lt;a href="http://svn.berlios.de/viewcvs/dingus/trunk/ic2005/todo.txt?view=markup"&gt;task list&lt;/a&gt;. If I don't write it down and keep tasks in my head, I often spend too much time polishing not-so-important features. With task list, I &lt;a href="http://svn.berlios.de/viewcvs/dingus/trunk/ic2005/todo.txt?view=log"&gt;update it&lt;/a&gt; constantly; at the same time I get sort of 'summary' of remaining work.&lt;br /&gt;&lt;br /&gt;Another one: really concentrate. Turn off music (for some reason I can't work while music is playing... especially if the music is good, I start listening to it), close the doors, tell the child 'go play with mom instead' :), etc.&lt;br /&gt;&lt;br /&gt;More: disconnect from the net while working :)&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/10600468-111588404002316557?l=nearaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nearaz.blogspot.com/feeds/111588404002316557/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10600468&amp;postID=111588404002316557' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/111588404002316557'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/111588404002316557'/><link rel='alternate' type='text/html' href='http://nearaz.blogspot.com/2005/05/working-efficiently.html' title='Working efficiently'/><author><name>NeARAZ</name><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-10600468.post-111530390790543278</id><published>2005-05-05T17:32:00.000+03:00</published><updated>2005-05-05T17:38:27.940+03:00</updated><title type='text'>A translation problem</title><content type='html'>&lt;div style="text-align: justify;"&gt;An interesting problem: I'm writing my Master's thesis and have tough time translating &lt;span style="font-style: italic;"&gt;smoothie &lt;/span&gt;(from Rendering Fake Soft Shadows with Smoothies) and &lt;span style="font-style: italic;"&gt;skirt&lt;/span&gt; (Smooth Penumbra Transitions with Shadow Maps).&lt;br /&gt;&lt;br /&gt;Both thanslate into weird stuff!&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/10600468-111530390790543278?l=nearaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nearaz.blogspot.com/feeds/111530390790543278/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10600468&amp;postID=111530390790543278' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/111530390790543278'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/111530390790543278'/><link rel='alternate' type='text/html' href='http://nearaz.blogspot.com/2005/05/translation-problem.html' title='A translation problem'/><author><name>NeARAZ</name><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>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10600468.post-111428383618723040</id><published>2005-04-23T22:12:00.000+03:00</published><updated>2005-04-23T22:18:04.403+03:00</updated><title type='text'>Master thesis weirdness</title><content type='html'>&lt;div style="text-align: justify;"&gt;Writing thesis at the university is weird, you have to write 50 pages of poo just to present 5 pages of useful information. Introductions, overviews, previous works, aims, hopes, discussions, explanations of unrelated stuff etc.&lt;br /&gt;&lt;br /&gt;I have a temptation to put a small picture of some dragon or a naked chick :) somewhere inside just to test if anyone really reads that crap.&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/10600468-111428383618723040?l=nearaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nearaz.blogspot.com/feeds/111428383618723040/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10600468&amp;postID=111428383618723040' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/111428383618723040'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/111428383618723040'/><link rel='alternate' type='text/html' href='http://nearaz.blogspot.com/2005/04/master-thesis-weirdness.html' title='Master thesis weirdness'/><author><name>NeARAZ</name><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-10600468.post-111415307148405704</id><published>2005-04-22T09:47:00.000+03:00</published><updated>2005-05-06T12:22:34.546+03:00</updated><title type='text'>Engine/demo sourcecode released</title><content type='html'>&lt;div style="text-align: justify;"&gt;So I went and put the sourcecode of our engine and the current (in progress) demo at BerliOS, so far only the &lt;a href="http://developer.berlios.de/svn/?group_id=3515"&gt;Subversion tree&lt;/a&gt; (browse it online &lt;a href="http://svn.berlios.de/viewcvs/dingus/"&gt;here&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;The 'engine', called &lt;span style="font-weight: bold;"&gt;dingus&lt;/span&gt; &lt;span style="font-style: italic;"&gt;(don't ask me why :))&lt;/span&gt;, is the one that was born for &lt;a href="http://jammy.sourceforge.net/2003/index.php"&gt;LTGameJam2003&lt;/a&gt;, based on some previous experience and insights from people more clever than me. Variations of it were used in all 'serious' &lt;a href="http://www.nesnausk.org/projects.php"&gt;nesnausk!&lt;/a&gt; demos so far, and in my personal projects as well. The sourcetree at BerliOS has no exporters/tools commited in yet, that will be at some later time. Of course, no real documentation is written for the engine.&lt;br /&gt;&lt;br /&gt;Besides the engine, there's &lt;span style="font-weight: bold;"&gt;ic2005&lt;/span&gt; project that's, well, the sourcecode for our WIP demo for ImagineCup2005. No art assets in any form are committed in, sorry :)&lt;br /&gt;&lt;br /&gt;At some later time I'll put the sourcecode for our other demos/projects as well. Maybe.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Update:&lt;/span&gt; mesh and animation exporters for 3dsMax added to svn. Other tools pending.&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/10600468-111415307148405704?l=nearaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nearaz.blogspot.com/feeds/111415307148405704/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10600468&amp;postID=111415307148405704' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/111415307148405704'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/111415307148405704'/><link rel='alternate' type='text/html' href='http://nearaz.blogspot.com/2005/04/enginedemo-sourcecode-released.html' title='Engine/demo sourcecode released'/><author><name>NeARAZ</name><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>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10600468.post-111406647061556901</id><published>2005-04-21T09:34:00.000+03:00</published><updated>2005-04-21T09:54:30.616+03:00</updated><title type='text'>Content shoveling</title><content type='html'>&lt;div style="text-align: justify;"&gt;We're going into heavy crunch mode to finish our ImagineCup demo on time. The demo alone would be nothing, but when you add up TheRealWork, master's thesis, the demo and some sleep, you quickly run out of hours available during the day. Take one out of that, and it's manageable :)&lt;br /&gt;&lt;br /&gt;Anyway. I feel kinda strange about the direction our demos are taking. Much like the game industry, we're going the 'content shoveling' way. Paulius' first 'serious' demo, &lt;a href="http://nesnausk.org/project.php?project=10"&gt;Demo 612&lt;/a&gt;, was low in content amount on purpose. Our other demo, &lt;a href="http://nesnausk.org/nearaz/projTheFly.html"&gt;The Fly&lt;/a&gt;, already had &lt;span style="font-style: italic;"&gt;some&lt;/span&gt; content; programming part was already the minor one.&lt;br /&gt;&lt;br /&gt;In this demo, I project that we're putting &lt;span style="font-weight: bold;"&gt;5x&lt;/span&gt; more effort than into 'The Fly', and something like 90% of the total effort goes into art content (models, textures, animations etc.). It would better look good in the end! I once thought that for some reason we 'raised the bar' so much that it's hard for ourselves to jump over it.&lt;br /&gt;&lt;br /&gt;This kind of scares me. The overall trend is that with each demo we're doing much more content, while the 'code' part remains pretty constant in size/complexity. What's coming next? Will we need 5 artists working for 5 months just to make a demo?&lt;br /&gt;&lt;br /&gt;After this demo, I want to take the usual 2-3 month break; and then try something different. Something more abstract, with more intelligent code and less massive art content. I admire &lt;a href="http://kewlers.scene.org/prods.html"&gt;kewlers&lt;/a&gt; very much - somehow they are able to make great demos 'out of nothing' :)&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/10600468-111406647061556901?l=nearaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nearaz.blogspot.com/feeds/111406647061556901/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10600468&amp;postID=111406647061556901' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/111406647061556901'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/111406647061556901'/><link rel='alternate' type='text/html' href='http://nearaz.blogspot.com/2005/04/content-shoveling.html' title='Content shoveling'/><author><name>NeARAZ</name><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>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10600468.post-111398583565414679</id><published>2005-04-20T11:04:00.000+03:00</published><updated>2005-04-20T11:31:38.753+03:00</updated><title type='text'>A demo that still fascinates me</title><content type='html'>&lt;div style="text-align: justify;"&gt;Been thinking about &lt;span style="font-style: italic;"&gt;how&lt;/span&gt; we should synchronize the visuals and the music in our demo... So I went and watched some of the classic demos, paying some extra attention at how &lt;span style="font-style: italic;"&gt;they&lt;/span&gt; do it.&lt;br /&gt;&lt;br /&gt;Synchronization aside, the demo that still touches me very deeply is &lt;a href="http://www.pouet.net/prod.php?which=3286"&gt;Gerbera by Moppi&lt;/a&gt;. It's old (2001) and already starting to show it's age visually, but the whole mood, 'storyline' &lt;span style="font-style: italic;"&gt;(whatever that is)&lt;/span&gt;, the tiny writings and the music is fascinating.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Directions makes us unable to choose our paths&lt;/span&gt;. Wonderful.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10600468-111398583565414679?l=nearaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nearaz.blogspot.com/feeds/111398583565414679/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10600468&amp;postID=111398583565414679' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/111398583565414679'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/111398583565414679'/><link rel='alternate' type='text/html' href='http://nearaz.blogspot.com/2005/04/demo-that-still-fascinates-me.html' title='A demo that still fascinates me'/><author><name>NeARAZ</name><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>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10600468.post-111306968178839464</id><published>2005-04-09T20:48:00.000+03:00</published><updated>2005-04-09T21:01:21.790+03:00</updated><title type='text'>Animation blending for walk/run</title><content type='html'>&lt;div style="text-align: justify;"&gt;I've done some very basic walk/run animation blending. The results are pretty neat!&lt;br /&gt;&lt;br /&gt;We have several walk animation cycles, each for different walk/run speed. Now I can smoothly move the character at any speed, and the right animations are selected, synchronized, mixed; and the walk is mixed in/out of another animations.&lt;br /&gt;&lt;br /&gt;As a basis I've taken &lt;a href="http://eelpi.gotdns.org/papers/how_to_walk.ppt.zip"&gt;Tom Forsyth's talk&lt;/a&gt; from GameTech2004 and &lt;a href="http://cbloom.com/3d/rambles.html"&gt;Charles Bloom's rambles&lt;/a&gt; (dated 3-13-03). Of course, our case is somewhat simpler (e.g. we don't have manpower to author all turn left/right, accelerate/decelerate, etc. anims).&lt;br /&gt;&lt;br /&gt;Try it yourself - it's good! :)&lt;br /&gt;&lt;br /&gt;BTW, I was thinking about putting our full engine/tools/&lt;span style="font-style: italic;"&gt;whatever&lt;/span&gt; somewhere, in case anyone is interested or maybe would find it useful. Well, I know, the naked sourcecode is not useful at all in the real world, but still :)&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/10600468-111306968178839464?l=nearaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nearaz.blogspot.com/feeds/111306968178839464/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10600468&amp;postID=111306968178839464' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/111306968178839464'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/111306968178839464'/><link rel='alternate' type='text/html' href='http://nearaz.blogspot.com/2005/04/animation-blending-for-walkrun.html' title='Animation blending for walk/run'/><author><name>NeARAZ</name><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-10600468.post-111268937123454144</id><published>2005-04-05T11:19:00.000+03:00</published><updated>2005-04-07T09:22:45.343+03:00</updated><title type='text'>Geoff Zatkin's essay</title><content type='html'>&lt;div style="text-align: justify;"&gt;A must read article for any game developer wannabe &lt;a href="http://www.penny-arcade.com/news.php3?date=2005-04-04"&gt;here&lt;/a&gt;:&lt;br /&gt;&lt;blockquote&gt;Your industry heroes work like dogs too. Ask a Blizzard employee what their "core" hours were for the last year+ before WoW launched. Or a Bungie employee leading up to Halo shipping. And those are the lucky ones. For every studio that turned out a brilliant game, multiple other teams of equally cool people ended up wasting years of their lives working on games that never saw the light of day, came out stillborn or got pushed out early and died an ignominious screaming bug-filled death.&lt;br /&gt;&lt;br /&gt;Don't even get me started on the core work hours for Japanese studios.&lt;/blockquote&gt;&lt;br /&gt;How sad, and how true...&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10600468-111268937123454144?l=nearaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nearaz.blogspot.com/feeds/111268937123454144/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10600468&amp;postID=111268937123454144' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/111268937123454144'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/111268937123454144'/><link rel='alternate' type='text/html' href='http://nearaz.blogspot.com/2005/04/geoff-zatkins-essay.html' title='Geoff Zatkin&apos;s essay'/><author><name>NeARAZ</name><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-10600468.post-111263389578393608</id><published>2005-04-04T19:43:00.000+03:00</published><updated>2005-04-04T19:58:15.786+03:00</updated><title type='text'>I once wanted be a games programmer</title><content type='html'>&lt;div style="text-align: justify;"&gt;Some 6-8 years ago I'd think &lt;span style="font-style: italic;"&gt;hey, games programming is all I want to do&lt;/span&gt;. Right now I'm more on the &lt;span style="font-style: italic;"&gt;"let's see"&lt;/span&gt; side.&lt;br /&gt;&lt;br /&gt;One thing is: I don't really play games. Last time I &lt;span style="font-style: italic;"&gt;seriously&lt;/span&gt; played a game was, like, 7 years ago (IIRC). Some of the modern games I've&lt;span style="font-style: italic;"&gt; see seen or tried a bit &lt;/span&gt; are HalfLife2, Doom3, DungeonSiege, GTA3 and... that's all! Wanting to be a game developer when you're not really interested in games would be pretty weird, right?&lt;br /&gt;&lt;br /&gt;Right now I'd think that my main interest is (realtime) computer graphics. I know that sounds pretty familiar - everyone starts from doing rendering engine - but hey, I'm still interested in CG now, and my first attempt at it was ~9 years ago, a mosaic-drawing-program on ZX Spectrum...&lt;br /&gt;&lt;br /&gt;Would I want to work on a game? It depends. I don't really like the current state of the industry at large; and working on something that's not directly a game (like at IHV, or middleware, or research) would probably be more interesting.&lt;br /&gt;&lt;br /&gt;I guess that's why I'm trying not to work fulltime and leave some time for demoscene and similar stuff. &lt;span style="font-style: italic;"&gt;Ok, my daughter has got the scissors somehow and now is trying to cut some books. Gotta go :)&lt;/span&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/10600468-111263389578393608?l=nearaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nearaz.blogspot.com/feeds/111263389578393608/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10600468&amp;postID=111263389578393608' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/111263389578393608'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/111263389578393608'/><link rel='alternate' type='text/html' href='http://nearaz.blogspot.com/2005/04/i-once-wanted-be-games-programmer.html' title='I once wanted be a games programmer'/><author><name>NeARAZ</name><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-10600468.post-111262448558342990</id><published>2005-04-04T17:16:00.000+03:00</published><updated>2005-04-04T19:43:11.183+03:00</updated><title type='text'>Oh no, it's a banana hotel!</title><content type='html'>&lt;div style="text-align: justify;"&gt;Boring3D is back with new &lt;a href="http://www.boring3d.com/daily_archive.htm"&gt;semi-daily images&lt;/a&gt;. That stuff &lt;span style="font-style: italic;"&gt;rocks the christ child&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;The phrase in emphasis is invented by &lt;a href="http://www.caseytime.com/index.cgi/2005/01/24#that_rocks_the_christ_child"&gt;Casey Muratori&lt;/a&gt; :)&lt;/span&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/10600468-111262448558342990?l=nearaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nearaz.blogspot.com/feeds/111262448558342990/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10600468&amp;postID=111262448558342990' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/111262448558342990'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/111262448558342990'/><link rel='alternate' type='text/html' href='http://nearaz.blogspot.com/2005/04/oh-no-its-banana-hotel.html' title='Oh no, it&apos;s a banana hotel!'/><author><name>NeARAZ</name><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-10600468.post-111214034039541763</id><published>2005-03-30T02:52:00.000+03:00</published><updated>2005-03-30T02:52:20.396+03:00</updated><title type='text'>Sleep. Repeat.</title><content type='html'>&lt;div style="text-align: justify;"&gt;3:00PM. Last 8 hours frantic game progamming, before that 6 lazy hours at work. Must submit my work tomorrow, but the result looks really bad. Perhaps it was a big mistake.&lt;br /&gt;&lt;br /&gt;Now: sleep, get up at 7:30, eat, ciao to daughter&amp;amp;wife, go to the gym, go to work, work, eat, edit demo storyboard for a break, work, shop, go home, play with daughter, browse a bit, guitar a bit, eat, wife comes home after 12hrs of teaching, we're all tired, talk a bit, sleep. Repeat?&lt;br /&gt;&lt;br /&gt;Sleep.&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/10600468-111214034039541763?l=nearaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nearaz.blogspot.com/feeds/111214034039541763/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10600468&amp;postID=111214034039541763' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/111214034039541763'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/111214034039541763'/><link rel='alternate' type='text/html' href='http://nearaz.blogspot.com/2005/03/sleep-repeat.html' title='Sleep. Repeat.'/><author><name>NeARAZ</name><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>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10600468.post-111208568108303272</id><published>2005-03-29T11:33:00.000+03:00</published><updated>2005-03-29T11:41:21.086+03:00</updated><title type='text'>Not dead yet!</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span style="font-style: italic;"&gt;I'm not dead yet! :)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;A pretty busy time it is. Real actual work at work (!), writing "storyboard" for our ImagineCup demo (required, deadline April 1st) and that game I'm working for as a contractor. I wish there were less jobs at the same time, right now I'd sacrifice the game work...&lt;br /&gt;&lt;br /&gt;On the good side, looks like my demogroup has won the &lt;a href="http://awards.scene.org/pastawards.php?year=2004"&gt;scene.org award&lt;/a&gt; for "breakthrough performance" (that means "best newcommer of the year" or something like that). I wasn't at the awards ceremony in &lt;a href="http://breakpoint.untergrund.net/"&gt;Breakpoint'05&lt;/a&gt;, oh well. Maybe next time :)&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/10600468-111208568108303272?l=nearaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nearaz.blogspot.com/feeds/111208568108303272/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10600468&amp;postID=111208568108303272' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/111208568108303272'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/111208568108303272'/><link rel='alternate' type='text/html' href='http://nearaz.blogspot.com/2005/03/not-dead-yet.html' title='Not dead yet!'/><author><name>NeARAZ</name><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-10600468.post-111106025215625994</id><published>2005-03-17T13:41:00.000+02:00</published><updated>2005-03-17T13:50:52.163+02:00</updated><title type='text'>Why the demoscene matters / Why we suck</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;a href="http://www.gdconf.com/"&gt;GDC2005&lt;/a&gt; is over now and everyone's crazy about Will Wright's Spore (see &lt;a href="http://www.gamespy.com/articles/595/595975p1.html?fromint=1"&gt;GameSpy&lt;/a&gt; or &lt;a href="http://www.gamasutra.com/gdc2005/features/20050315/postcard-diamante.htm"&gt;Gamasutra&lt;/a&gt;), it's procedural content generation etc. Heh, the demoscene still matters :)&lt;br /&gt;&lt;br /&gt;On the other hand, we suck. Our to-be-done demo will have what: normal mapping, AO, shadowmaps, postprocessing fx; all the stuff that everyone and their grandmother has. It's like lens-flares and envmaps some years ago. We're as innovative as a coffee cup.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;k, back to work...&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10600468-111106025215625994?l=nearaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nearaz.blogspot.com/feeds/111106025215625994/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10600468&amp;postID=111106025215625994' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/111106025215625994'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/111106025215625994'/><link rel='alternate' type='text/html' href='http://nearaz.blogspot.com/2005/03/why-demoscene-matters-why-we-suck.html' title='Why the demoscene matters / Why we suck'/><author><name>NeARAZ</name><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-10600468.post-111105955600261714</id><published>2005-03-17T13:37:00.000+02:00</published><updated>2005-03-17T13:39:16.003+02:00</updated><title type='text'>Demo progress: I'm morphing into an "artist"</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;img src="http://nesnausk.org/nearaz/img/blog/050317a.jpg" /&gt; I'm slowly becoming a non-programmer. I'm UV-mapping the meshes, welding the vertices, exporting and importing back and forth and computing normal/AO maps. I'll probably even go and code some procedural material shaders in the next couple of days. That's weird, nobody's doing real programming at the moment; the code part is seriously lagging behind.&lt;br /&gt;&lt;br /&gt;We should have had &lt;span style="font-style: italic;"&gt;(is that proper English?)&lt;/span&gt; the wall fracture+physics by now and some of the interactive mode character controls (animation blending etc.). Alas, none of that right now.&lt;br /&gt;&lt;br /&gt;In the picture there's a fragment of wall decorations and it's object space normal map (just to add more colors). The texture, gloss map and some real lighting isn't there yet.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10600468-111105955600261714?l=nearaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nearaz.blogspot.com/feeds/111105955600261714/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10600468&amp;postID=111105955600261714' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/111105955600261714'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/111105955600261714'/><link rel='alternate' type='text/html' href='http://nearaz.blogspot.com/2005/03/demo-progress-im-morphing-into-artist.html' title='Demo progress: I&apos;m morphing into an &quot;artist&quot;'/><author><name>NeARAZ</name><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-10600468.post-111013556303819788</id><published>2005-03-06T20:35:00.000+02:00</published><updated>2005-03-06T21:03:07.793+02:00</updated><title type='text'>Blender: first try; UV mapping</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;img src="http://nesnausk.org/nearaz/img/blog/050306.png" /&gt;&lt;br /&gt;Tried &lt;a href="http://www.blender3d.org/"&gt;Blender&lt;/a&gt; this weekend. Well, long story short: I'm totally impressed!&lt;br /&gt;&lt;br /&gt;The long story is this: for our demo we need normal mapping, ambient occlusion and similar stuff. Now, these do need unique UV parametrization of the models. The sad facts are: 1) 3dsMax sucks at automatic UV unwrapping, 2) nVidia's Melody, which I use to compute normal maps, also didn't impress me with it's auto-UV calculation much, 3) our 1 and a half of the "artists" are really busy doing models and animations.&lt;br /&gt;&lt;br /&gt;That leaves me, the humble programmer, at the task of calculating normal maps / ambient occlusion, with the "minor" task of getting good UV parametrization from wherever it's possible.&lt;br /&gt;&lt;br /&gt;I knew that Blender has got LSCM unwrapping some time ago &lt;span style="font-style: italic;"&gt;(does any of the "real" 3D packages has got it yet? Hellooo? :))&lt;/span&gt; and decided to give it a try.&lt;br /&gt;&lt;br /&gt;And I must say it &lt;span style="font-weight: bold;"&gt;rocks&lt;/span&gt;. 3dsMax keeps irritating me all the time (it's good that most of my tasks are/were writing exporters). Blender is small, slick and the workflow seems to be much more efficient.&lt;br /&gt;&lt;br /&gt;Given my nearly non-existent "UV mapping skills" I've unwrapped a pretty tough character model (see images - mapping such fingers ain't easy) in something like 4 hours. I guess with a little practice, I could get that to 1-2 hours. This probably isn't impressive for a real artist, but hey, I've been doing nothing but writing keywords, identifiers and semicolons for the last 8 years :)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10600468-111013556303819788?l=nearaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nearaz.blogspot.com/feeds/111013556303819788/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10600468&amp;postID=111013556303819788' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/111013556303819788'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/111013556303819788'/><link rel='alternate' type='text/html' href='http://nearaz.blogspot.com/2005/03/blender-first-try-uv-mapping.html' title='Blender: first try; UV mapping'/><author><name>NeARAZ</name><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>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10600468.post-110979151829439138</id><published>2005-03-02T21:21:00.000+02:00</published><updated>2005-03-02T21:27:29.103+02:00</updated><title type='text'>Ambient occlusion</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;img src="http://nesnausk.org/nearaz/img/blog/050302a.jpg" /&gt;Ambient occlusion is really cool. Yeah, precalculated occlusion for animating objects is fake, but with some hacks it's still very cool. Why I didn't use it before? :)&lt;br /&gt;&lt;br /&gt;Here, a small shot comparing no-AO with AO &lt;span style="font-style: italic;"&gt;(super small because it's still work-in-progress, I'm not sure if my teammates would be very happy with me showing big screens :))&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Ah, at the bottom there are "my" soft shadows that I've written about earlier, but nothing can be seen in such a small shot. Oh well; shadows will be the story for another day.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10600468-110979151829439138?l=nearaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nearaz.blogspot.com/feeds/110979151829439138/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10600468&amp;postID=110979151829439138' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/110979151829439138'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/110979151829439138'/><link rel='alternate' type='text/html' href='http://nearaz.blogspot.com/2005/03/ambient-occlusion.html' title='Ambient occlusion'/><author><name>NeARAZ</name><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>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10600468.post-110942823025293701</id><published>2005-02-26T16:17:00.000+02:00</published><updated>2005-02-28T12:39:08.456+02:00</updated><title type='text'>Code dependencies</title><content type='html'>&lt;div style="text-align: justify;"&gt;They &lt;span style="font-weight: bold;"&gt;suck&lt;/span&gt;! Well, this probably isn't fresh news to anyone, but right now I'm working with code where basically everything includes everything else. The code is template-heavy so that makes things even worse. Try changing that file without 20 minute rebuild later - good luck!&lt;br /&gt;&lt;br /&gt;Yeah, I know, the code is a product of 2 years of wandering in the darkness :) - prototyping, adding something and removing something, and when you constantly have to actually produce "working demos" in short timeframes, it ain't easy to actually sit down and refactor whole thing. Oh well, the reality...&lt;br /&gt;&lt;br /&gt;Still, code with lots of dependencies does suck of course.&lt;br /&gt;&lt;br /&gt;On the other hand, I'm pretty happy with the module I'm writing. All the outside just needs one header file that's right now &lt;span style="font-weight: bold;"&gt;76 lines&lt;/span&gt; long and that includes &lt;span style="font-style: italic;"&gt;only&lt;/span&gt; very basic "resource id" header file. The insides of my module also need some of the outside functionality; I've written some "outside interface" for that - a header file with something like 50 lines and also absolutely no includes.&lt;br /&gt;&lt;br /&gt;That's what I consider to be a low-dependency interface. That's good. That doesn't suck :)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;[EDIT]&lt;/span&gt; The code I was referring to isn't so bad (e.g. it really doesn't "includes everything else", but "includes quite large amount of stuff"). I'm just somewhat frustrated at the moment, and anything that's not very ideal in the codebase irritates me.&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/10600468-110942823025293701?l=nearaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nearaz.blogspot.com/feeds/110942823025293701/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10600468&amp;postID=110942823025293701' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/110942823025293701'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/110942823025293701'/><link rel='alternate' type='text/html' href='http://nearaz.blogspot.com/2005/02/code-dependencies.html' title='Code dependencies'/><author><name>NeARAZ</name><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>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10600468.post-110934388241554914</id><published>2005-02-25T16:58:00.000+02:00</published><updated>2005-02-25T17:05:20.420+02:00</updated><title type='text'>Software usability</title><content type='html'>&lt;div style="text-align: justify;"&gt;Some time ago I thought that 3dsMax had pretty bad usability &lt;span style="font-style: italic;"&gt;(hey, it doesn't even do real hit testing :))&lt;/span&gt;. 3dsMax is nothing compared to one certain CAD package that I'm writing customizations for at work!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10600468-110934388241554914?l=nearaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nearaz.blogspot.com/feeds/110934388241554914/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10600468&amp;postID=110934388241554914' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/110934388241554914'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/110934388241554914'/><link rel='alternate' type='text/html' href='http://nearaz.blogspot.com/2005/02/software-usability.html' title='Software usability'/><author><name>NeARAZ</name><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-10600468.post-110905567800559271</id><published>2005-02-22T08:55:00.000+02:00</published><updated>2005-02-22T09:03:05.383+02:00</updated><title type='text'>White stuff</title><content type='html'>&lt;div style="text-align: justify;"&gt;There's one conceptual problem that Paulius told me the other day: imagine that you have a white sheet of paper and a black pencil. How would you draw an object that emits light?&lt;br /&gt;&lt;br /&gt;&lt;img src="http://nesnausk.org/nearaz/img/blog/050222a.jpg" /&gt;It's puzzling at first, but surely it can be done :)&lt;br /&gt;&lt;br /&gt;I'm facing with the same problem in our next demo: we have a white character in a white, brightly lit room. Even more, there will be some light emitting "stuff" in there. Now, how to render all this so that it's not "washed out", too bright and with no contrast?&lt;br /&gt;&lt;br /&gt;I'm not happy with the way it looks right now, but we're heading there.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10600468-110905567800559271?l=nearaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nearaz.blogspot.com/feeds/110905567800559271/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10600468&amp;postID=110905567800559271' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/110905567800559271'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/110905567800559271'/><link rel='alternate' type='text/html' href='http://nearaz.blogspot.com/2005/02/white-stuff.html' title='White stuff'/><author><name>NeARAZ</name><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>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10600468.post-110865161507235064</id><published>2005-02-17T16:37:00.000+02:00</published><updated>2005-02-17T16:46:55.076+02:00</updated><title type='text'>Scene.org awards</title><content type='html'>&lt;div style="text-align: justify;"&gt;Woohoo! My demogroup is &lt;a href="http://awards.scene.org/nominees.php?cat=8"&gt;nominated&lt;/a&gt; to scene.org awards 2004, in 'breakthrough performance'! Pretty cool, considering that &lt;a href="http://nesnausk.org/nearaz/projSynDent.html"&gt;Syntonic Dentiforms&lt;/a&gt;, which we got nominated for, is my first 'real' attempt at making a demo... &lt;span style="font-style: italic;"&gt;Well, there were other attempts before, but they were really lame and childish :)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I was pretty happy with my demo-related performance last year. Three demos in half a year &lt;span style="font-style: italic;"&gt;(ok, one of them was crappy)&lt;/span&gt;. Now it's already half a year with no demos, and I already want to make one. Well, I'm already trying to make one, but so far there's lots of higher priority stuff surrounding me.&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/10600468-110865161507235064?l=nearaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nearaz.blogspot.com/feeds/110865161507235064/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10600468&amp;postID=110865161507235064' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/110865161507235064'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/110865161507235064'/><link rel='alternate' type='text/html' href='http://nearaz.blogspot.com/2005/02/sceneorg-awards.html' title='Scene.org awards'/><author><name>NeARAZ</name><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-10600468.post-110837810412854967</id><published>2005-02-14T12:44:00.000+02:00</published><updated>2005-02-14T12:48:24.130+02:00</updated><title type='text'>Smooth shadows idea (not)</title><content type='html'>&lt;div style="text-align: justify;"&gt;So, I had &lt;a href="http://nearaz.blogspot.com/2005/02/things-to-try.html"&gt;this&lt;/a&gt; smooth shadows idea recently. Turns out that it's not an idea, Willem de Boer already has done a very similar thing (&lt;a href="http://www.whdeboer.com/writings.html"&gt;Smooth Penumbra Transitions with Shadow Maps&lt;/a&gt;). Now, the only way to have my idea back is to 'optimize' (i.e. hack/cheat) this method. Specifically, if we target projected shadows (not real shadowmaps), and can do some approximations, then we can get it working faster. I've done some experiments, right now it involves rendering to shadow map once, then Gaussian blurring it (two separable passes), then Poisson-blurring it. Works pretty fast :) I need to experiment some more and see if I can get anything.&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/10600468-110837810412854967?l=nearaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nearaz.blogspot.com/feeds/110837810412854967/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10600468&amp;postID=110837810412854967' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/110837810412854967'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/110837810412854967'/><link rel='alternate' type='text/html' href='http://nearaz.blogspot.com/2005/02/smooth-shadows-idea-not.html' title='Smooth shadows idea (not)'/><author><name>NeARAZ</name><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-10600468.post-110812452291494773</id><published>2005-02-11T14:10:00.000+02:00</published><updated>2005-02-11T14:22:02.916+02:00</updated><title type='text'>Things to try</title><content type='html'>&lt;div style="text-align: justify;"&gt;I want to implement automatic mesh unwrapper (for normalmapping, lightmapping or similar). Not that I need it much, just so, for it's own purpose. The most recent thing I've read is &lt;a href="http://citeseer.ist.psu.edu/sorkine02boundeddistortion.html"&gt;Bounded Distortion Piecewise Mesh Parametrization&lt;/a&gt;; now I only need to find some time to actually do something. Ain't an easy task!&lt;br /&gt;&lt;br /&gt;The other thing to try is: take ATI's &lt;a href="http://www.ati.com/developer/tools.html"&gt;NormalMapper&lt;/a&gt; and take a look at their octree implementation. Try replacing it with several regular grids, or tweak the octree. Fun project, also without any real purpose... &lt;span style="font-style: italic;"&gt;(again, the reason I don't do this is "no time" :))&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Finally, I have one really stupid&amp;simple soft-shadows idea for oldskool projected shadows. It's something between Mitchell's 'Poisson Shadow Blur' and Valient &amp;amp; de Boer's 'Fractional Disk Soft Shadows' in &lt;a href="http://www.shaderx3.com/"&gt;ShaderX3&lt;/a&gt;. I think actually trying to implement it (instead of just an idea that came up while taking a bath) would be only several hours...&lt;br /&gt;&lt;br /&gt;I must sound like a loser complaining about lack of time. The truth is, I could get that time probably, if I'd were more organized.&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/10600468-110812452291494773?l=nearaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nearaz.blogspot.com/feeds/110812452291494773/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10600468&amp;postID=110812452291494773' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/110812452291494773'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/110812452291494773'/><link rel='alternate' type='text/html' href='http://nearaz.blogspot.com/2005/02/things-to-try.html' title='Things to try'/><author><name>NeARAZ</name><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-10600468.post-110806724849540633</id><published>2005-02-10T22:24:00.000+02:00</published><updated>2005-02-10T22:27:28.496+02:00</updated><title type='text'>A bunch of hacks</title><content type='html'>And I though my own &lt;a href="http://nesnausk.org/nearaz/proj.html"&gt;freetime projects&lt;/a&gt; were coded like a bunch of hacks, with no clear structure, with lots of code duplication etc... These are nothing compared to the code I now work with!&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10600468-110806724849540633?l=nearaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nearaz.blogspot.com/feeds/110806724849540633/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10600468&amp;postID=110806724849540633' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/110806724849540633'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/110806724849540633'/><link rel='alternate' type='text/html' href='http://nearaz.blogspot.com/2005/02/bunch-of-hacks.html' title='A bunch of hacks'/><author><name>NeARAZ</name><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-10600468.post-110803217402138941</id><published>2005-02-10T13:21:00.000+02:00</published><updated>2005-02-10T12:44:52.336+02:00</updated><title type='text'>Precalculated 2D fracture</title><content type='html'>&lt;div style="text-align: justify;"&gt;I'm working on &lt;a href="http://imagine.thespoke.net/invitationals/rendering.aspx"&gt;ImagineCup2005&lt;/a&gt; realtime rendering demo now, and one thing we are planning to do is fracturing/exploding walls of some room (in realtime of course). I've been thinking how to implement all this, and together with &lt;a href="http://www.nesnausk.org/members.php#2"&gt;Paulius Liekis&lt;/a&gt; we came up with half-precomputed, half-cheated solution.&lt;br /&gt;&lt;br /&gt;Our 'walls' are perfectly flat, so all fracture process is 2D, just the pieces that fly/fall out turn into 3D simulation. In the demo, some things will hit the walls, and the fracture must start there.&lt;br /&gt;&lt;br /&gt;The first cheat we thought is to have some precomputed 'fracture patterns' (bunch of connected lines in 2D). Choose one pattern, 'put' that onto wall and there you go. Now, the problem is that the pattern has to be 'clipped' to the existing patterns, the falling out pieces and the remaining wall has to be triangulated, etc. I think it's not 'slow' process (i.e. suitable for realtime), but pretty tedious to implement.&lt;br /&gt;&lt;br /&gt;The next idea was: why not precompute the fracture pattern for the whole wall, and make it pretty detailed? When something hits the wall, you take out some elements from it and let them fly/fall. Now, the fracture pattern is always fixed for the whole wall, so this isn't entirely 'correct' fracture, but I think it's ok for our needs. I coded up some lame 'fracture pattern generator' (tree-like, nodes either branch or not, branches are at some nearly random angles, and terminate when they hit existing branch), and the patterns do look pretty cool.&lt;br /&gt;&lt;br /&gt;The only problem with this is when I tried calculating how many fractured pieces our walls will contain. I get half a million or so for the whole room; that's certainly a bit too much.&lt;br /&gt;&lt;br /&gt;One idea to cope with this is: have a (sort of) quadtree for the wall, and each cell 'combines' the pieces it contains entirely into one 'super piece' &lt;span style="font-style: italic;"&gt;(what a term!)&lt;/span&gt;. Some of the internal nodes vanish, hence the super-piece contains less triangles, and it gets better when we walk up the quadtree. Now, when a wall is hit somewhere, only a small portion of it 'fractures out', so most of the wall can still be displayed as super-pieces, and it gets detailed only around the fractured area.&lt;br /&gt;&lt;br /&gt;So, in the end there's almost no computations performed for the fracture. The fracture pattern and the super-piece hierarchy is precomputed once, and at runtime we just use it. Of course, we still need to simulate the physics of flying/falling pieces, but that's another story.&lt;br /&gt;&lt;br /&gt;In one moment, we'll have most of the walls 'exploded' at once, I think for that case we'll just use larger fractured elements, and everything will be ok :)&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/10600468-110803217402138941?l=nearaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nearaz.blogspot.com/feeds/110803217402138941/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10600468&amp;postID=110803217402138941' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/110803217402138941'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/110803217402138941'/><link rel='alternate' type='text/html' href='http://nearaz.blogspot.com/2005/02/precalculated-2d-fracture.html' title='Precalculated 2D fracture'/><author><name>NeARAZ</name><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-10600468.post-110785736130905844</id><published>2005-02-08T13:02:00.000+02:00</published><updated>2005-02-10T12:46:33.843+02:00</updated><title type='text'>What makes me an awful team member</title><content type='html'>&lt;div style="text-align: justify;"&gt;If I ever see code that I think could be written in 'much better' way, I have a really big temptation to rewrite/refactor it. Sometimes this can be good, eg. when I spot buggy code. Sometimes it depends, as I often spot the code that is &lt;span style="font-style: italic;"&gt;(or I think is)&lt;/span&gt; 'sub-obtimal'.&lt;br /&gt;&lt;br /&gt;The worst situation is when the code &lt;span style="font-weight: bold;"&gt;is &lt;/span&gt;buggy, but some other part of the codebase &lt;span style="font-weight: bold;"&gt;depends&lt;/span&gt; on that code being buggy. If you find one, and not the other, it's bad.&lt;br /&gt;&lt;br /&gt;Working on some big unknown codebase remotely (I'm a contractor for one game in development) makes this worse. I must resist the temptation to alter the code, no matter how bad it looks...&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/10600468-110785736130905844?l=nearaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nearaz.blogspot.com/feeds/110785736130905844/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10600468&amp;postID=110785736130905844' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/110785736130905844'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/110785736130905844'/><link rel='alternate' type='text/html' href='http://nearaz.blogspot.com/2005/02/what-makes-me-awful-team-member.html' title='What makes me an awful team member'/><author><name>NeARAZ</name><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-10600468.post-110779558671161158</id><published>2005-02-07T18:47:00.000+02:00</published><updated>2005-02-10T12:46:56.646+02:00</updated><title type='text'>ShaderX3</title><content type='html'>&lt;div style="text-align: justify;"&gt;Today received my 'contributor copy' of &lt;a href="http://www.amazon.com/exec/obidos/tg/detail/-/1584503572/103-4684942-9963858"&gt;ShaderX&lt;sup&gt;3&lt;/sup&gt;&lt;/a&gt;. Pretty sad that the authors themselves receive the book only now, when it has been released in November. Well, maybe that's because for some reason my shipping address contained city 'Kannas' instead of 'Kaunas', and an obsolete postal index (we've got 'refactoring' of postal indices recently here :)). Anyway.&lt;br /&gt;&lt;br /&gt;Like with most similar books, half of this one is old, well known or pretty basic stuff. At a first glance, &lt;span style="font-style: italic;"&gt;Generating Shaders from HLSL Fragments &lt;/span&gt;by Shawn Hargreaves&lt;span style="font-style: italic;"&gt; &lt;/span&gt;is really good; Dean Calver's&lt;span style="font-style: italic;"&gt; &lt;/span&gt;stuff (&lt;span style="font-style: italic;"&gt;Accessing and Modifying Topology on the GPU&lt;/span&gt; and &lt;span style="font-style: italic;"&gt;Deferred Lighting on PS3.0 with HDR&lt;/span&gt;) also looks very cool. Probably these alone are worth the book; much like Kozlov's article on PSMs in &lt;span style="font-style: italic;"&gt;GPU Gems &lt;/span&gt;was. My own articles - oh well; one (&lt;span style="font-style: italic;"&gt;Shaderey&lt;/span&gt;...) is really useless; the other (&lt;span style="font-style: italic;"&gt;Fake Soft Shadows...&lt;/span&gt;) is &lt;span style="font-style: italic;"&gt;maybe&lt;/span&gt; 'interesting', but of unknown practical purpose :)&lt;br /&gt;&lt;br /&gt;Ok, back to reading...&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/10600468-110779558671161158?l=nearaz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nearaz.blogspot.com/feeds/110779558671161158/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10600468&amp;postID=110779558671161158' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/110779558671161158'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10600468/posts/default/110779558671161158'/><link rel='alternate' type='text/html' href='http://nearaz.blogspot.com/2005/02/shaderx3.html' title='ShaderX3'/><author><name>NeARAZ</name><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>
