<?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-7218693864280463112</id><updated>2011-12-10T07:26:00.970-08:00</updated><title type='text'>Addicted engine developer</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://yak32.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://yak32.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Yakov</name><uri>http://www.blogger.com/profile/12239884265114495349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>70</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7218693864280463112.post-3586835736621861593</id><published>2011-12-10T07:19:00.001-08:00</published><updated>2011-12-10T07:26:00.980-08:00</updated><title type='text'></title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;I moved this blog to &lt;a href="http://www.glow3d.com/blog"&gt;www.glow3d.com/blog&lt;/a&gt;. New blog is built on Wordpress and hosted on the same site as www.glow3d.com. I think Wordpress is more&amp;nbsp;convenient&amp;nbsp;and &amp;nbsp;if you interested, please subscribe to www.glow3d.com/blog.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7218693864280463112-3586835736621861593?l=yak32.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yak32.blogspot.com/feeds/3586835736621861593/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://yak32.blogspot.com/2011/12/i-moved-this-blog-to-www.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/3586835736621861593'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/3586835736621861593'/><link rel='alternate' type='text/html' href='http://yak32.blogspot.com/2011/12/i-moved-this-blog-to-www.html' title=''/><author><name>Yakov</name><uri>http://www.blogger.com/profile/12239884265114495349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7218693864280463112.post-9132603161272392406</id><published>2011-12-08T09:14:00.000-08:00</published><updated>2011-12-08T09:38:28.134-08:00</updated><title type='text'>SSAO: First steps</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/-EeThf7i4jzY/TuDwrS1afHI/AAAAAAAABWI/2q7KZalJgxo/s1600/glow_ssao_stage2.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 267px;" src="http://2.bp.blogspot.com/-EeThf7i4jzY/TuDwrS1afHI/AAAAAAAABWI/2q7KZalJgxo/s320/glow_ssao_stage2.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5683807356322479218" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Today's results - fancy Screen Space Ambient Occlusion!&lt;br /&gt;It searches pixel's surroundings to check pixel's occlusion, after&lt;br /&gt;that blurs results and blends with the screen. &lt;br /&gt;&lt;br /&gt;Video with a water:&lt;br /&gt;&lt;iframe width="420" height="315" src="http://www.youtube.com/embed/U7zaiZh-KaY" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;Some additional effects like Light Scattering (God rays ) remains to implement &lt;br /&gt;and I can finally start work on the game!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7218693864280463112-9132603161272392406?l=yak32.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yak32.blogspot.com/feeds/9132603161272392406/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://yak32.blogspot.com/2011/12/ssao-first-steps.html#comment-form' title='Комментарии: 2'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/9132603161272392406'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/9132603161272392406'/><link rel='alternate' type='text/html' href='http://yak32.blogspot.com/2011/12/ssao-first-steps.html' title='SSAO: First steps'/><author><name>Yakov</name><uri>http://www.blogger.com/profile/12239884265114495349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-EeThf7i4jzY/TuDwrS1afHI/AAAAAAAABWI/2q7KZalJgxo/s72-c/glow_ssao_stage2.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7218693864280463112.post-5174542547953120796</id><published>2011-12-06T08:38:00.001-08:00</published><updated>2011-12-06T08:38:39.612-08:00</updated><title type='text'>Finally water!</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/-CYDZRA-NvAk/Tt5B1BTZHDI/AAAAAAAABV8/PwesdcjGws0/s1600/glow_reflection.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 262px;" src="http://2.bp.blogspot.com/-CYDZRA-NvAk/Tt5B1BTZHDI/AAAAAAAABV8/PwesdcjGws0/s320/glow_reflection.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5683052158926789682" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;First stage of water with reflection and refraction in Glow engine. Plus HDR, Antialiasing, Color Corrections and Gamma Corrected (Linear) Rendering.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7218693864280463112-5174542547953120796?l=yak32.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yak32.blogspot.com/feeds/5174542547953120796/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://yak32.blogspot.com/2011/12/finally-water.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/5174542547953120796'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/5174542547953120796'/><link rel='alternate' type='text/html' href='http://yak32.blogspot.com/2011/12/finally-water.html' title='Finally water!'/><author><name>Yakov</name><uri>http://www.blogger.com/profile/12239884265114495349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-CYDZRA-NvAk/Tt5B1BTZHDI/AAAAAAAABV8/PwesdcjGws0/s72-c/glow_reflection.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7218693864280463112.post-1633180188017086600</id><published>2011-12-02T10:19:00.000-08:00</published><updated>2011-12-02T10:21:15.910-08:00</updated><title type='text'>New day - new picture with house )</title><content type='html'>Playing with combination of atmospheric scattering, light&lt;br /&gt;intensity, dynamic sun and time of day.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/-Qk0tWW-BJuw/TtkW5O6ZY8I/AAAAAAAABVw/wd67q5N2L8w/s1600/glow_houses.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 267px;" src="http://1.bp.blogspot.com/-Qk0tWW-BJuw/TtkW5O6ZY8I/AAAAAAAABVw/wd67q5N2L8w/s320/glow_houses.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5681597577415975874" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7218693864280463112-1633180188017086600?l=yak32.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yak32.blogspot.com/feeds/1633180188017086600/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://yak32.blogspot.com/2011/12/new-day-new-picture-with-house.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/1633180188017086600'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/1633180188017086600'/><link rel='alternate' type='text/html' href='http://yak32.blogspot.com/2011/12/new-day-new-picture-with-house.html' title='New day - new picture with house )'/><author><name>Yakov</name><uri>http://www.blogger.com/profile/12239884265114495349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-Qk0tWW-BJuw/TtkW5O6ZY8I/AAAAAAAABVw/wd67q5N2L8w/s72-c/glow_houses.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7218693864280463112.post-3142406747629885656</id><published>2011-12-01T09:36:00.001-08:00</published><updated>2011-12-01T09:45:53.362-08:00</updated><title type='text'>Atmospheric Scattering</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/-Pi6twKeOF5I/Tte8wSgUlNI/AAAAAAAABVk/NqpU7PE27Fg/s1600/atmo_scattering.jpg"&gt;&lt;img style=" margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 267px;" src="http://3.bp.blogspot.com/-Pi6twKeOF5I/Tte8wSgUlNI/AAAAAAAABVk/NqpU7PE27Fg/s320/atmo_scattering.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5681216992738317522" /&gt;&lt;/a&gt;&lt;br /&gt;Atmospheric Scattering was added (restored) today. It's dynamic and renders beautiful sunsets and dawns.  Special values added to Scene properties - Time of the Day (0..24, in hours), Length of the day ( in hours ).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7218693864280463112-3142406747629885656?l=yak32.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yak32.blogspot.com/feeds/3142406747629885656/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://yak32.blogspot.com/2011/12/atmospheric-scattering.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/3142406747629885656'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/3142406747629885656'/><link rel='alternate' type='text/html' href='http://yak32.blogspot.com/2011/12/atmospheric-scattering.html' title='Atmospheric Scattering'/><author><name>Yakov</name><uri>http://www.blogger.com/profile/12239884265114495349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-Pi6twKeOF5I/Tte8wSgUlNI/AAAAAAAABVk/NqpU7PE27Fg/s72-c/atmo_scattering.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7218693864280463112.post-7299966775853900148</id><published>2011-11-30T08:45:00.001-08:00</published><updated>2011-11-30T08:55:35.081-08:00</updated><title type='text'>HDR finally done</title><content type='html'>fuuuf .. 4 months without updates. &lt;br /&gt;&lt;br /&gt;I returned to HDR, finally cracked it. It's probably&lt;br /&gt;not so very efficient now, and I will return to it later.&lt;br /&gt;It uses 64bit float render targets, bloom, all standard.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/-3EBQQgVDqug/TtZfjN8KOTI/AAAAAAAABVY/FJvWiwRCmig/s1600/GlowHDR.jpg"&gt;&lt;img style=" margin:0px auto 10px; text-align:left;cursor:pointer; cursor:hand;width: 320px; height: 262px;" src="http://3.bp.blogspot.com/-3EBQQgVDqug/TtZfjN8KOTI/AAAAAAAABVY/FJvWiwRCmig/s320/GlowHDR.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5680833038616508722" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7218693864280463112-7299966775853900148?l=yak32.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yak32.blogspot.com/feeds/7299966775853900148/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://yak32.blogspot.com/2011/11/hdr-finally-done.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/7299966775853900148'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/7299966775853900148'/><link rel='alternate' type='text/html' href='http://yak32.blogspot.com/2011/11/hdr-finally-done.html' title='HDR finally done'/><author><name>Yakov</name><uri>http://www.blogger.com/profile/12239884265114495349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-3EBQQgVDqug/TtZfjN8KOTI/AAAAAAAABVY/FJvWiwRCmig/s72-c/GlowHDR.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7218693864280463112.post-7297711324442026583</id><published>2011-06-16T03:43:00.000-07:00</published><updated>2011-06-16T03:44:40.472-07:00</updated><title type='text'></title><content type='html'>&lt;a href="http://3.bp.blogspot.com/-PB-AcqJnaaI/TfnedXt-zkI/AAAAAAAABMk/OYwehmAmHsk/s1600/screen.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 257px;" src="http://3.bp.blogspot.com/-PB-AcqJnaaI/TfnedXt-zkI/AAAAAAAABMk/OYwehmAmHsk/s320/screen.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5618766606285852226" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;Current state of editor.. several tasks to finish alpha version..&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7218693864280463112-7297711324442026583?l=yak32.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yak32.blogspot.com/feeds/7297711324442026583/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://yak32.blogspot.com/2011/06/current-state-of-editor.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/7297711324442026583'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/7297711324442026583'/><link rel='alternate' type='text/html' href='http://yak32.blogspot.com/2011/06/current-state-of-editor.html' title=''/><author><name>Yakov</name><uri>http://www.blogger.com/profile/12239884265114495349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-PB-AcqJnaaI/TfnedXt-zkI/AAAAAAAABMk/OYwehmAmHsk/s72-c/screen.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7218693864280463112.post-3524269592044039194</id><published>2011-04-04T01:40:00.000-07:00</published><updated>2011-04-04T01:56:10.465-07:00</updated><title type='text'>Color transformations</title><content type='html'>&lt;p&gt;Color transformations as Post-Process is added into Glow engine.&lt;/p&gt;&lt;p&gt;Currently supported transformations are contrast, brightness, black and white, red, green, blue shifts, saturation will be added later. All transformations work in a same step, so adding, for example contrast to brightness will not slow down it in 2 times. &lt;/p&gt;&lt;p&gt;Transformations added as scene property, and can be accessed from script.&lt;/p&gt;Image:&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/-KCVm4VcaR44/TZmFs58S2AI/AAAAAAAABJw/zDuQV2MvVLA/s1600/cc_step1.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 296px;" src="http://1.bp.blogspot.com/-KCVm4VcaR44/TZmFs58S2AI/AAAAAAAABJw/zDuQV2MvVLA/s320/cc_step1.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5591647418871633922" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Adjusted brightness:&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/-DdRftU6v1sc/TZmFzZLUBXI/AAAAAAAABJ4/47bXJWtm2tE/s1600/cc_step2.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 296px;" src="http://1.bp.blogspot.com/-DdRftU6v1sc/TZmFzZLUBXI/AAAAAAAABJ4/47bXJWtm2tE/s320/cc_step2.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5591647530335339890" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Blue and Green shifted, to create Matrix movie look&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/-9gxCDszrOBo/TZmF5nMgwHI/AAAAAAAABKA/4jwt5VAPL1M/s1600/cc_step3.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 296px;" src="http://2.bp.blogspot.com/-9gxCDszrOBo/TZmF5nMgwHI/AAAAAAAABKA/4jwt5VAPL1M/s320/cc_step3.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5591647637177679986" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Black and white:&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/-viSCRwKufwA/TZmF9B_5UvI/AAAAAAAABKI/57miUou09mE/s1600/cc_step4.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 296px;" src="http://1.bp.blogspot.com/-viSCRwKufwA/TZmF9B_5UvI/AAAAAAAABKI/57miUou09mE/s320/cc_step4.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5591647695912129266" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7218693864280463112-3524269592044039194?l=yak32.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yak32.blogspot.com/feeds/3524269592044039194/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://yak32.blogspot.com/2011/04/color-transformations.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/3524269592044039194'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/3524269592044039194'/><link rel='alternate' type='text/html' href='http://yak32.blogspot.com/2011/04/color-transformations.html' title='Color transformations'/><author><name>Yakov</name><uri>http://www.blogger.com/profile/12239884265114495349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-KCVm4VcaR44/TZmFs58S2AI/AAAAAAAABJw/zDuQV2MvVLA/s72-c/cc_step1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7218693864280463112.post-3246033327684344627</id><published>2011-04-04T00:57:00.000-07:00</published><updated>2011-04-04T01:34:55.390-07:00</updated><title type='text'>Antialiasing</title><content type='html'>&lt;p&gt;Antialiasing is finally implemented in Glow engine.&lt;/p&gt;&lt;p&gt;It's implemented by &lt;a href="http://and.intercon.ru/releases/talks/dlaagdc2011/"&gt;Directionally Localized AA algorithm&lt;/a&gt;,implemented in The Force Unleashed 2. It's operates in image space and works as post-process, finding edges by High-Pass filter and blur it with 5x5 (and 16x16 for long edges) kernel.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Looks cool .. my images long time suffered from jaggies .. not now)&lt;/p&gt;&lt;p&gt;Antialiasing is off:&lt;br /&gt;&lt;img border="3" alt="" src="http://2.bp.blogspot.com/-2gF7K-fMb2U/TZl6MGOC6kI/AAAAAAAABJg/IUy4Ax8Dofo/s320/aa_off.jpg" /&gt;&lt;br /&gt;&lt;p&gt;Antialiasing is on:&lt;br /&gt;&lt;img border="3" alt="" src="http://3.bp.blogspot.com/-OAV5QGicLNw/TZl6Q9mA3lI/AAAAAAAABJo/zIIKs2_kBXw/s320/aa_on.jpg" /&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7218693864280463112-3246033327684344627?l=yak32.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yak32.blogspot.com/feeds/3246033327684344627/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://yak32.blogspot.com/2011/04/antialiasing.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/3246033327684344627'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/3246033327684344627'/><link rel='alternate' type='text/html' href='http://yak32.blogspot.com/2011/04/antialiasing.html' title='Antialiasing'/><author><name>Yakov</name><uri>http://www.blogger.com/profile/12239884265114495349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-2gF7K-fMb2U/TZl6MGOC6kI/AAAAAAAABJg/IUy4Ax8Dofo/s72-c/aa_off.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7218693864280463112.post-782235183408514964</id><published>2011-03-21T02:58:00.000-07:00</published><updated>2011-03-21T02:59:32.787-07:00</updated><title type='text'>NPC with several lights</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/-boRDWEE9YqM/TYche2O9vgI/AAAAAAAABIY/DpoDA0OOQ5E/s1600/soldier.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 267px;" src="http://2.bp.blogspot.com/-boRDWEE9YqM/TYche2O9vgI/AAAAAAAABIY/DpoDA0OOQ5E/s320/soldier.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5586470676614462978" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7218693864280463112-782235183408514964?l=yak32.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yak32.blogspot.com/feeds/782235183408514964/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://yak32.blogspot.com/2011/03/npc-with-several-lights.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/782235183408514964'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/782235183408514964'/><link rel='alternate' type='text/html' href='http://yak32.blogspot.com/2011/03/npc-with-several-lights.html' title='NPC with several lights'/><author><name>Yakov</name><uri>http://www.blogger.com/profile/12239884265114495349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-boRDWEE9YqM/TYche2O9vgI/AAAAAAAABIY/DpoDA0OOQ5E/s72-c/soldier.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7218693864280463112.post-2874273203012975204</id><published>2011-03-10T07:06:00.001-08:00</published><updated>2011-03-10T07:07:20.055-08:00</updated><title type='text'>More pictures from Sponza model</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/-DXPpsMX-RyE/TXjpCQP4rhI/AAAAAAAABHU/cpQINH3X3rU/s1600/editor_sponza3.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 194px;" src="http://4.bp.blogspot.com/-DXPpsMX-RyE/TXjpCQP4rhI/AAAAAAAABHU/cpQINH3X3rU/s320/editor_sponza3.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5582467963056336402" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/-NzHBbYf2gG0/TXjo-hg6K_I/AAAAAAAABHM/ncZAoHNqCtU/s1600/editor_sponza2.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 194px;" src="http://3.bp.blogspot.com/-NzHBbYf2gG0/TXjo-hg6K_I/AAAAAAAABHM/ncZAoHNqCtU/s320/editor_sponza2.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5582467898971663346" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7218693864280463112-2874273203012975204?l=yak32.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yak32.blogspot.com/feeds/2874273203012975204/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://yak32.blogspot.com/2011/03/more-pictures-from-sponza-model.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/2874273203012975204'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/2874273203012975204'/><link rel='alternate' type='text/html' href='http://yak32.blogspot.com/2011/03/more-pictures-from-sponza-model.html' title='More pictures from Sponza model'/><author><name>Yakov</name><uri>http://www.blogger.com/profile/12239884265114495349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-DXPpsMX-RyE/TXjpCQP4rhI/AAAAAAAABHU/cpQINH3X3rU/s72-c/editor_sponza3.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7218693864280463112.post-5546707886067995031</id><published>2011-03-09T08:05:00.000-08:00</published><updated>2011-03-09T08:07:59.738-08:00</updated><title type='text'>Lion by Glow engine</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/-97r3H4fzMo8/TXel0xi8uSI/AAAAAAAABHE/g94ufPzqNSc/s1600/editor_spanza_1.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 232px;" src="http://1.bp.blogspot.com/-97r3H4fzMo8/TXel0xi8uSI/AAAAAAAABHE/g94ufPzqNSc/s320/editor_spanza_1.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5582112589220722978" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7218693864280463112-5546707886067995031?l=yak32.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yak32.blogspot.com/feeds/5546707886067995031/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://yak32.blogspot.com/2011/03/lion-by-glow-engine.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/5546707886067995031'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/5546707886067995031'/><link rel='alternate' type='text/html' href='http://yak32.blogspot.com/2011/03/lion-by-glow-engine.html' title='Lion by Glow engine'/><author><name>Yakov</name><uri>http://www.blogger.com/profile/12239884265114495349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-97r3H4fzMo8/TXel0xi8uSI/AAAAAAAABHE/g94ufPzqNSc/s72-c/editor_spanza_1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7218693864280463112.post-8119913631817630061</id><published>2011-03-03T00:12:00.000-08:00</published><updated>2011-03-03T00:38:41.619-08:00</updated><title type='text'>Just screen</title><content type='html'>Little by little engine becomes usable after various changes (as usual it need to be completely rewritten after reading about some interesting idea :)). Last ideas were concurrency, memory debugging,fragmentation and reference counting. Anyway, it improves engine, makes it safer and usable.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Screen from "Deadly light" demo:&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/-3d8-iJzS8zk/TW9TdPJFIJI/AAAAAAAABGo/WU1rwarO2qQ/s1600/editor_deadly_light.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 267px;" src="http://3.bp.blogspot.com/-3d8-iJzS8zk/TW9TdPJFIJI/AAAAAAAABGo/WU1rwarO2qQ/s320/editor_deadly_light.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5579770225081262226" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7218693864280463112-8119913631817630061?l=yak32.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yak32.blogspot.com/feeds/8119913631817630061/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://yak32.blogspot.com/2011/03/just-screen.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/8119913631817630061'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/8119913631817630061'/><link rel='alternate' type='text/html' href='http://yak32.blogspot.com/2011/03/just-screen.html' title='Just screen'/><author><name>Yakov</name><uri>http://www.blogger.com/profile/12239884265114495349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-3d8-iJzS8zk/TW9TdPJFIJI/AAAAAAAABGo/WU1rwarO2qQ/s72-c/editor_deadly_light.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7218693864280463112.post-6909264388345681954</id><published>2011-03-02T03:06:00.000-08:00</published><updated>2011-03-02T21:18:18.649-08:00</updated><title type='text'>Debugging in Glow Engine</title><content type='html'>It's very important to display debugging information about your level or models during developing game level. Previously, I used 3ds max to place all objects, including lights and it was not easy task. Tweak lighting in 3ds max, switch to engine, check lighting etc...&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;Now several debugging modes are supported in Glow engine - wire-frame mode, displaying normals in world space, depth of pixel, lights, physics, AI (triggers), navigation meshes. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;All modes can be used same time (except normals, depth and diffuse color), button "layers" should be pressed and mode selected.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Room from "Deadly Light" demo, lighted with 6 lights:&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/-zFJAsbz69no/TW4l-BRBHVI/AAAAAAAABFc/rBXefxEJ1I4/s1600/editor_room.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 269px;" src="http://2.bp.blogspot.com/-zFJAsbz69no/TW4l-BRBHVI/AAAAAAAABFc/rBXefxEJ1I4/s320/editor_room.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5579438735780552018" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;Same room in wire-frame debug mode:&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/-RdBaXGQDfgY/TW4mNJVi9_I/AAAAAAAABFk/Vw1oTjXyTgY/s1600/editor_wireframe.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 268px;" src="http://3.bp.blogspot.com/-RdBaXGQDfgY/TW4mNJVi9_I/AAAAAAAABFk/Vw1oTjXyTgY/s320/editor_wireframe.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5579438995645069298" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;Normals mode:&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/-nm8uXZzQq9M/TW4mZMeXLdI/AAAAAAAABFs/6ETfav-ycVk/s1600/editor_normals.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 269px;" src="http://4.bp.blogspot.com/-nm8uXZzQq9M/TW4mZMeXLdI/AAAAAAAABFs/6ETfav-ycVk/s320/editor_normals.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5579439202645781970" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Lights debugger:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/-l5Mf7f2tLBk/TW4mmPZ8t5I/AAAAAAAABF0/9dbECXt9caw/s1600/editor_lights.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 269px;" src="http://1.bp.blogspot.com/-l5Mf7f2tLBk/TW4mmPZ8t5I/AAAAAAAABF0/9dbECXt9caw/s320/editor_lights.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5579439426770876306" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;Physics:&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/-HoyWNuzt3o8/TW4m3bnLjSI/AAAAAAAABF8/cpbmoNydoWg/s1600/editor_physics.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 269px;" src="http://1.bp.blogspot.com/-HoyWNuzt3o8/TW4m3bnLjSI/AAAAAAAABF8/cpbmoNydoWg/s320/editor_physics.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5579439722105376034" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;Depth:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/--RCcpYIffEM/TW8kX6OSKSI/AAAAAAAABGE/KdyyffHYIyo/s1600/editor_depth.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 267px;" src="http://3.bp.blogspot.com/--RCcpYIffEM/TW8kX6OSKSI/AAAAAAAABGE/KdyyffHYIyo/s320/editor_depth.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5579718456520091938" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7218693864280463112-6909264388345681954?l=yak32.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yak32.blogspot.com/feeds/6909264388345681954/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://yak32.blogspot.com/2011/03/debugging-in-glow-engine.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/6909264388345681954'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/6909264388345681954'/><link rel='alternate' type='text/html' href='http://yak32.blogspot.com/2011/03/debugging-in-glow-engine.html' title='Debugging in Glow Engine'/><author><name>Yakov</name><uri>http://www.blogger.com/profile/12239884265114495349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-zFJAsbz69no/TW4l-BRBHVI/AAAAAAAABFc/rBXefxEJ1I4/s72-c/editor_room.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7218693864280463112.post-5780305654552584023</id><published>2011-02-20T23:20:00.001-08:00</published><updated>2011-02-20T23:20:32.617-08:00</updated><title type='text'>Site is updated</title><content type='html'>www.glow3d.com is updated to reflect all recent changes.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7218693864280463112-5780305654552584023?l=yak32.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yak32.blogspot.com/feeds/5780305654552584023/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://yak32.blogspot.com/2011/02/site-is-updated.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/5780305654552584023'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/5780305654552584023'/><link rel='alternate' type='text/html' href='http://yak32.blogspot.com/2011/02/site-is-updated.html' title='Site is updated'/><author><name>Yakov</name><uri>http://www.blogger.com/profile/12239884265114495349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7218693864280463112.post-5976795674790993799</id><published>2011-02-02T00:22:00.000-08:00</published><updated>2011-02-02T00:28:31.313-08:00</updated><title type='text'>TBB adopted</title><content type='html'>Embedding of Intel Threading Building Blocks is finished, really good library  with many abilities. &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Development of a concurrent scene graph  is started, scene graph (sectors - portals) was made templated, to hold different types of objects and it supports now read-only access from several threads (or tasks). Also several modules of engine have copy of the scene graph  - renderer holds scene graph with visible objects, physics - with physical to optimize simulation.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7218693864280463112-5976795674790993799?l=yak32.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yak32.blogspot.com/feeds/5976795674790993799/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://yak32.blogspot.com/2011/02/tbb-adopted.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/5976795674790993799'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/5976795674790993799'/><link rel='alternate' type='text/html' href='http://yak32.blogspot.com/2011/02/tbb-adopted.html' title='TBB adopted'/><author><name>Yakov</name><uri>http://www.blogger.com/profile/12239884265114495349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7218693864280463112.post-3996571188450874212</id><published>2011-01-30T21:22:00.001-08:00</published><updated>2011-02-02T00:22:04.278-08:00</updated><title type='text'>moving to Intel Threading Blocks</title><content type='html'>deeper and deeper into concurrency and multi threading...&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I have decision to use &lt;a href="http://www.threadingbuildingblocks.org/"&gt;Intel Threading Building Blocks&lt;/a&gt; instead of   experimental  &lt;a href="http://threadpool.sourceforge.net/"&gt;boost::thread_pool&lt;/a&gt;.  All computations in the Glow engine are organized into tasks and theoretically would scale well when number of hardware threads (CPU cores) will be increased. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Previously, I used boost::thread_pool for task execution. Now, when I returned to concurrency, I realized that usage of boost::thread_pool is not scalable, because it heavily uses mutexes (spin-based). Later I will launch tests to measure scalability of both methods and post results here.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7218693864280463112-3996571188450874212?l=yak32.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yak32.blogspot.com/feeds/3996571188450874212/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://yak32.blogspot.com/2011/01/moving-to-intel-threading-blocks.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/3996571188450874212'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/3996571188450874212'/><link rel='alternate' type='text/html' href='http://yak32.blogspot.com/2011/01/moving-to-intel-threading-blocks.html' title='moving to Intel Threading Blocks'/><author><name>Yakov</name><uri>http://www.blogger.com/profile/12239884265114495349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7218693864280463112.post-6390917081527250849</id><published>2011-01-26T17:42:00.000-08:00</published><updated>2011-01-30T23:33:26.051-08:00</updated><title type='text'></title><content type='html'>I am thinking about  concurrent scene graph.&lt;div&gt;&lt;br /&gt;&lt;div&gt;The are several modules in the engine, which needs queries to the scene graph, like Physics, Audio, Render. Moreover, in the future, several threads (tasks)  inside of module will need concurrent access to the scene graph.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;There several options how to do it:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;1) copies of scene graph in every module (&lt;a href="http://delivery.acm.org/10.1145/570000/569679/p33-voss.pdf?key1=569679&amp;amp;key2=6250016921&amp;amp;coll=DL&amp;amp;dl=ACM&amp;amp;CFID=7637821&amp;amp;CFTOKEN=45092137"&gt;used&lt;/a&gt; also in OpenSceneGraph engine)- needs more memory, but should hold different types of objects - Physics module will hold only physics objects etc. Still it does not resolve problem with concurrent access in the future&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;2)  concurrent containers in the scene graph - maybe the best solution, but currently I can not find best fit for it. Also looks like it hardware dependent and not robust enought.  There is Intel Thread Building Blocks library with concurrent containers, but &lt;a href="http://software.intel.com/en-us/forums/showthread.php?t=60494"&gt;it's not perfect&lt;/a&gt; and doesn't support Android and iOS.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;3) mutexes to isolate queries. Usage of mutex &lt;a href="http://www.1024cores.net/home/lock-free-algorithms/scalability-prerequisites"&gt;is not good&lt;/a&gt; thing for scalable multi threading, but maybe for some usage patterns it's ok. In my case it's SINGLE PRODUCER MULTIPLY CONSUMERS model.&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;   &lt;/div&gt;&lt;div&gt;Can anyone suggest robust cross platform concurrent containers (hash_map or vector at least) ?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;excellent blog &lt;a href="http://www.1024cores.net/"&gt;http://www.1024cores.net&lt;/a&gt; about concurrency and scalability.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;UPD: I was wrong about Intel TBB, it's cool and powerful library. It's not clear now for me, how to use it under iOS or Android, but it's Open Source and ports are available for different platforms.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7218693864280463112-6390917081527250849?l=yak32.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yak32.blogspot.com/feeds/6390917081527250849/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://yak32.blogspot.com/2011/01/i-am-thinking-about-concurrent-scene.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/6390917081527250849'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/6390917081527250849'/><link rel='alternate' type='text/html' href='http://yak32.blogspot.com/2011/01/i-am-thinking-about-concurrent-scene.html' title=''/><author><name>Yakov</name><uri>http://www.blogger.com/profile/12239884265114495349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7218693864280463112.post-5788921621321503257</id><published>2011-01-23T07:14:00.000-08:00</published><updated>2011-01-23T07:27:18.737-08:00</updated><title type='text'></title><content type='html'>&lt;a href="http://en.wikipedia.org/wiki/High_dynamic_range_imaging"&gt;High Dynamic Range&lt;/a&gt; lighting with eye adaptation is implemented in the Glow engine. Plus &lt;a href="http://filmicgames.com/archives/299"&gt;gamma-correct&lt;/a&gt; rendering. Plus &lt;a href="http://http.developer.nvidia.com/GPUGems2/gpugems2_chapter24.html"&gt;Color Transformations&lt;/a&gt; (hue, saturation, brightness etc) were started. &lt;div&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_LfYx03jjmdk/TTxGFzb9VKI/AAAAAAAABEs/hXTnfP0vrGs/s1600/editor_hdr_bloom.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 266px;" src="http://3.bp.blogspot.com/_LfYx03jjmdk/TTxGFzb9VKI/AAAAAAAABEs/hXTnfP0vrGs/s320/editor_hdr_bloom.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5565400305043854498" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7218693864280463112-5788921621321503257?l=yak32.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yak32.blogspot.com/feeds/5788921621321503257/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://yak32.blogspot.com/2011/01/high-dynamic-range-lighting-and.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/5788921621321503257'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/5788921621321503257'/><link rel='alternate' type='text/html' href='http://yak32.blogspot.com/2011/01/high-dynamic-range-lighting-and.html' title=''/><author><name>Yakov</name><uri>http://www.blogger.com/profile/12239884265114495349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_LfYx03jjmdk/TTxGFzb9VKI/AAAAAAAABEs/hXTnfP0vrGs/s72-c/editor_hdr_bloom.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7218693864280463112.post-4445674069953385448</id><published>2011-01-17T00:27:00.000-08:00</published><updated>2011-01-17T00:38:20.028-08:00</updated><title type='text'></title><content type='html'>&lt;p&gt;&lt;strong&gt;Memory Management in the Glow engine&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Memory management is very important thing in a console world. We can forget  about it on a PC (at least for several hours without leaks, but consoles are  restricted, so we should consider that after some time, allocation of memory  will return NULL (or exception, depending on compiler). Also fragmentation  is serious problem after allocation of many small objects. So with the plans to  move on mobile devices, we decided to develop system for memory management.&lt;/p&gt; &lt;p&gt;New memory manager is implemented for Glow engine. Separate optimized  singlethreaded heaps with pools for small objects for every module of the engine  (physics, ai, navigation, sounds etc) are added instead of the single common C++  heap.&lt;/p&gt; &lt;p&gt;Special heap for transferring messages between modules, memory leak  debugging, shared pointers (boost c++ library) for memory arrays.&lt;/p&gt; &lt;p&gt;Allocator for STL containers was implemented, so every memory allocation in  the specific module goes from the module heap. STL containers and strings are  evil force of a memory fragmentation, so process for removing every STL  container from code is started.  Some vectors are replaced by special Stack  vector container, based on boost::array with restricted dynamic grow. Also major  part of constant std::string was replaced with const char* equivalent (with  memory allocated from constant string pool) and "copy on create if exists"  usage.&lt;/p&gt; &lt;p&gt;Memory debugger UI, with rendering of memory fragmentation, information about  allocated blocks - count, amount, overhead.&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_LfYx03jjmdk/TTP99AX26sI/AAAAAAAABEk/SSLREq0nZ-o/s1600/editor_memory_detailed.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 194px;" src="http://4.bp.blogspot.com/_LfYx03jjmdk/TTP99AX26sI/AAAAAAAABEk/SSLREq0nZ-o/s320/editor_memory_detailed.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5563069189246610114" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Remaining part for the memory manager implementation - garbage collector for Geometry.&lt;br /&gt;&lt;br /&gt;January release date was very optimistic, so we moved release of alpha version to Spring, 2011. Major parts are ready, but there are many small task to polish editor and engine.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7218693864280463112-4445674069953385448?l=yak32.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yak32.blogspot.com/feeds/4445674069953385448/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://yak32.blogspot.com/2011/01/memory-management-in-glow-engine-memory.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/4445674069953385448'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/4445674069953385448'/><link rel='alternate' type='text/html' href='http://yak32.blogspot.com/2011/01/memory-management-in-glow-engine-memory.html' title=''/><author><name>Yakov</name><uri>http://www.blogger.com/profile/12239884265114495349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_LfYx03jjmdk/TTP99AX26sI/AAAAAAAABEk/SSLREq0nZ-o/s72-c/editor_memory_detailed.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7218693864280463112.post-4055907568378460154</id><published>2010-12-30T02:28:00.000-08:00</published><updated>2010-12-30T04:19:07.855-08:00</updated><title type='text'></title><content type='html'>I am working currently on memory management for the engine, done a lot..later about it in details..&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;now about arrays. Everybody knows, that dynamic allocation is bad thing, especially in optimized applications. Fragmentations, locks, time to find free block etc. General advice is to avoid any kind of dynamic allocation in update loop. So I decided to remove it everywhere and move all dynamic data to the stack.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt; There were many std::vectors, std::strings in the source, around 700 cases of using std::string, same for vector. Firstly I changed vector into C arrays, but it's not convenient to use. After that I found boost::array, but it's not dynamic.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So my decision was to create mix of boost::array and std::vector, it's based on sources of boost::array, but has ability to dynamically grew (one additional variable m_size).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Useful and looks optimal. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;UPD. maybe not so optimal for complex objects with not simple constructors and also for big object, but optimal for pointers and simple types.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7218693864280463112-4055907568378460154?l=yak32.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yak32.blogspot.com/feeds/4055907568378460154/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://yak32.blogspot.com/2010/12/i-am-working-currently-on-memory.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/4055907568378460154'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/4055907568378460154'/><link rel='alternate' type='text/html' href='http://yak32.blogspot.com/2010/12/i-am-working-currently-on-memory.html' title=''/><author><name>Yakov</name><uri>http://www.blogger.com/profile/12239884265114495349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7218693864280463112.post-8335992503186876730</id><published>2010-12-20T01:14:00.000-08:00</published><updated>2010-12-20T02:46:09.468-08:00</updated><title type='text'>SIGGRAPH Asia 2010</title><content type='html'>I visited SIGGRAPH Asia 2010, it  was interesting. Several courses was attended, number of interesting people  was met. Tessellation is still hot theme, it was discussed heavily in DirectX 11 and OpenGL 4.0 courses. Also Realtime Ray Tracing and stereoscopic rendering.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7218693864280463112-8335992503186876730?l=yak32.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yak32.blogspot.com/feeds/8335992503186876730/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://yak32.blogspot.com/2010/12/siggraph-asia-2010.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/8335992503186876730'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/8335992503186876730'/><link rel='alternate' type='text/html' href='http://yak32.blogspot.com/2010/12/siggraph-asia-2010.html' title='SIGGRAPH Asia 2010'/><author><name>Yakov</name><uri>http://www.blogger.com/profile/12239884265114495349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7218693864280463112.post-7442270069498916518</id><published>2010-12-15T08:08:00.000-08:00</published><updated>2010-12-15T08:39:18.536-08:00</updated><title type='text'>Post processing pipeline started</title><content type='html'>Previous week was spent on post-processing. Pipeline is  implemented in the engine now. Also  motion blur done as post-process (built from Geometry Buffer, described &lt;a href="http://http.developer.nvidia.com/GPUGems3/gpugems3_ch27.html" mce_href="http://http.developer.nvidia.com/GPUGems3/gpugems3_ch27.html" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 12px; font-family: inherit; color: rgb(167, 18, 18); outline-style: none; outline-width: initial; outline-color: initial; text-decoration: underline; "&gt;here&lt;/a&gt; ) and can be safely disabled. My paper library became useful.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This motion blur goes from camera movement, per-object motion blur will be implemented later (per pixel velocities will be saved in Geometry Buffer).&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Motion blur in action, kernel from 15 samples:&lt;/div&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_LfYx03jjmdk/TQjpn4fuxnI/AAAAAAAABDU/1OKUSLt3UV8/s1600/editor_motion_blur.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 267px;" src="http://4.bp.blogspot.com/_LfYx03jjmdk/TQjpn4fuxnI/AAAAAAAABDU/1OKUSLt3UV8/s320/editor_motion_blur.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5550943412123780722" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;Original scene:&lt;/div&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_LfYx03jjmdk/TQjp6_TastI/AAAAAAAABDc/m-BlOjKKQuI/s1600/editor6.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 267px;" src="http://4.bp.blogspot.com/_LfYx03jjmdk/TQjp6_TastI/AAAAAAAABDc/m-BlOjKKQuI/s320/editor6.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5550943740368696018" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Several post-processing effects are scheduled - glow pass (blur bright parts of the scene),&lt;/div&gt;&lt;div&gt;Analytical Anti-aliasing, Depth of Field and more.  &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Mirrors and reflections (deferred) are started.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7218693864280463112-7442270069498916518?l=yak32.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yak32.blogspot.com/feeds/7442270069498916518/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://yak32.blogspot.com/2010/12/post-processing-pipeline-started.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/7442270069498916518'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/7442270069498916518'/><link rel='alternate' type='text/html' href='http://yak32.blogspot.com/2010/12/post-processing-pipeline-started.html' title='Post processing pipeline started'/><author><name>Yakov</name><uri>http://www.blogger.com/profile/12239884265114495349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_LfYx03jjmdk/TQjpn4fuxnI/AAAAAAAABDU/1OKUSLt3UV8/s72-c/editor_motion_blur.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7218693864280463112.post-2432673249582255396</id><published>2010-12-12T20:32:00.000-08:00</published><updated>2010-12-12T21:12:18.774-08:00</updated><title type='text'></title><content type='html'>&lt;div&gt;very inspirational reading, Shishkovtsov is smart guy&lt;/div&gt;&lt;a href="http://www.eurogamer.net/articles/digitalfoundry-tech-interview-metro-2033"&gt;http://www.eurogamer.net/articles/digitalfoundry-tech-interview-metro-2033&lt;/a&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;especially deferred reflections - so simple idea to make reflections in deferred shader! just render reflected attributes (position, normal etc) into Geometry buffer and draw as usual.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;also I am thinking about implementation of &lt;a href="http://www.thomasannen.com/pub/gi2008esm.pdf"&gt;Exponential Shadow Maps&lt;/a&gt; after reading it.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I read the article half of year ago and have rewritten engine significantly after that. Thread pool was added, engine was detached  into several parts etc.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7218693864280463112-2432673249582255396?l=yak32.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yak32.blogspot.com/feeds/2432673249582255396/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://yak32.blogspot.com/2010/12/very-inspirational-reading-shishkovtsov.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/2432673249582255396'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/2432673249582255396'/><link rel='alternate' type='text/html' href='http://yak32.blogspot.com/2010/12/very-inspirational-reading-shishkovtsov.html' title=''/><author><name>Yakov</name><uri>http://www.blogger.com/profile/12239884265114495349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7218693864280463112.post-4315973330965873322</id><published>2010-12-05T11:07:00.000-08:00</published><updated>2010-12-05T11:19:06.684-08:00</updated><title type='text'>Update</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_LfYx03jjmdk/TPvlngh8jhI/AAAAAAAABCw/ciOr097zwJk/s1600/editor5.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 267px;" src="http://4.bp.blogspot.com/_LfYx03jjmdk/TPvlngh8jhI/AAAAAAAABCw/ciOr097zwJk/s320/editor5.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5547279832946871826" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;Plan for November for Editor development was over-fulfilled. Over 30 tasks was implemented in time.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;New features: &lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;editable scaling&lt;/li&gt;&lt;li&gt;asset preview for sounds, scripts and textures&lt;/li&gt;&lt;li&gt;skyboxes (simple, without any dynamic)&lt;/li&gt;&lt;li&gt;new gizmos for move, rotate, scale entities&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7218693864280463112-4315973330965873322?l=yak32.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yak32.blogspot.com/feeds/4315973330965873322/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://yak32.blogspot.com/2010/12/update.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/4315973330965873322'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/4315973330965873322'/><link rel='alternate' type='text/html' href='http://yak32.blogspot.com/2010/12/update.html' title='Update'/><author><name>Yakov</name><uri>http://www.blogger.com/profile/12239884265114495349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_LfYx03jjmdk/TPvlngh8jhI/AAAAAAAABCw/ciOr097zwJk/s72-c/editor5.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7218693864280463112.post-3923184578785390591</id><published>2010-12-01T04:58:00.000-08:00</published><updated>2010-12-01T06:45:51.732-08:00</updated><title type='text'>Normal texture trick</title><content type='html'>I found interesting trick  for accessing normals from textures.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: 13px; "&gt;&lt;h3 style="font-size: medium; background-image: none; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; border-top-width: 0px; padding-top: 0.5ex; padding-right: 0.5em; padding-bottom: 0.5ex; padding-left: 0px; margin-right: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;&lt;span class="Apple-style-span" &gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;Capcon's DXT trick - &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-weight: normal; font-size: 16px; "&gt;&lt;a href="http://code.google.com/p/nvidia-texture-tools/wiki/NormalMapCompression"&gt;http://code.google.com/p/nvidia-texture-tools/wiki/NormalMapCompression&lt;/a&gt;&lt;/span&gt;&lt;/h3&gt;&lt;/span&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Shortly, it allows to use DXT1 and DXT5 bump textures with same shaders.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;It's important for editor because  bump texture in DXT5 will be ready only  at the last stage -&lt;/div&gt;&lt;div&gt; game packaging. There will be small difference in object appearance during in-Editor testing because DXT1 is not good for normals, but I think it's acceptable. &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7218693864280463112-3923184578785390591?l=yak32.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yak32.blogspot.com/feeds/3923184578785390591/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://yak32.blogspot.com/2010/12/normal-texture-trick.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/3923184578785390591'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/3923184578785390591'/><link rel='alternate' type='text/html' href='http://yak32.blogspot.com/2010/12/normal-texture-trick.html' title='Normal texture trick'/><author><name>Yakov</name><uri>http://www.blogger.com/profile/12239884265114495349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7218693864280463112.post-4501153933842747902</id><published>2010-11-22T23:17:00.000-08:00</published><updated>2010-11-23T00:14:24.786-08:00</updated><title type='text'>Auto-reloading resources</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_LfYx03jjmdk/TOt3qlKvCfI/AAAAAAAABCU/juUAbdR0Qfs/s1600/editor4.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 267px;" src="http://3.bp.blogspot.com/_LfYx03jjmdk/TOt3qlKvCfI/AAAAAAAABCU/juUAbdR0Qfs/s320/editor4.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5542655339824876018" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;Auto reloading resources are implemented for the Editor. Scripts, textures, models (by background thread, thus not stopping work), shaders are loading automatically after switching from editing application (Photoshop, 3ds max etc) into Editor.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Also - camera manipulation - zoom to selected objects, top, bottom, left, right, front back view of selected objects. UI for edit assets in external application (defined by OS), opening resource location in the Explorer, import from Assets window.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7218693864280463112-4501153933842747902?l=yak32.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yak32.blogspot.com/feeds/4501153933842747902/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://yak32.blogspot.com/2010/11/auto-reloading-resources.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/4501153933842747902'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/4501153933842747902'/><link rel='alternate' type='text/html' href='http://yak32.blogspot.com/2010/11/auto-reloading-resources.html' title='Auto-reloading resources'/><author><name>Yakov</name><uri>http://www.blogger.com/profile/12239884265114495349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_LfYx03jjmdk/TOt3qlKvCfI/AAAAAAAABCU/juUAbdR0Qfs/s72-c/editor4.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7218693864280463112.post-2990166535704408642</id><published>2010-11-18T08:45:00.000-08:00</published><updated>2010-11-18T09:18:30.313-08:00</updated><title type='text'>Big face on landscape</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_LfYx03jjmdk/TOVYQOAlMbI/AAAAAAAABBc/Bgfcsj4g-bo/s1600/editor_face.jpg"&gt;&lt;img style="margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 267px;" src="http://1.bp.blogspot.com/_LfYx03jjmdk/TOVYQOAlMbI/AAAAAAAABBc/Bgfcsj4g-bo/s320/editor_face.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5540931952210948530" /&gt;&lt;/a&gt;&lt;br /&gt;During testing new features of the editor, I set landscape texture to random photo. Interesting effect, to walk on gigantic face!&lt;br /&gt;&lt;br /&gt;New features are:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;import of 3d models from FBX file by Autodesk FBX SDK&lt;/li&gt;&lt;li&gt;tracing of landscapes by tracing of heightmaps (faster then tracing actual geometry)&lt;/li&gt;&lt;li&gt;assigning of materials, scripts, audio files to objects by dragging from Explorer or Assets window&lt;/li&gt;&lt;li&gt;Scripts - editing by Notepad, assigning to object, removing.&lt;/li&gt;&lt;li&gt;Depth Pass before Geometry Buffer Pass, for Deferred Shading&lt;/li&gt;&lt;li&gt;Current insertion position, for cut-copy-paste &lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7218693864280463112-2990166535704408642?l=yak32.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yak32.blogspot.com/feeds/2990166535704408642/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://yak32.blogspot.com/2010/11/big-face-on-landscape.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/2990166535704408642'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/2990166535704408642'/><link rel='alternate' type='text/html' href='http://yak32.blogspot.com/2010/11/big-face-on-landscape.html' title='Big face on landscape'/><author><name>Yakov</name><uri>http://www.blogger.com/profile/12239884265114495349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_LfYx03jjmdk/TOVYQOAlMbI/AAAAAAAABBc/Bgfcsj4g-bo/s72-c/editor_face.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7218693864280463112.post-6031751615021772850</id><published>2010-11-05T09:38:00.000-07:00</published><updated>2010-11-05T09:46:34.136-07:00</updated><title type='text'></title><content type='html'>Weekly editor image. &lt;div&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_LfYx03jjmdk/TNQzPi1iLbI/AAAAAAAABA8/9MpbIgD00PM/s1600/weekly_screen_november.jpg"&gt;&lt;img style="margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 262px;" src="http://3.bp.blogspot.com/_LfYx03jjmdk/TNQzPi1iLbI/AAAAAAAABA8/9MpbIgD00PM/s320/weekly_screen_november.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5536106184087580082" /&gt;&lt;/a&gt;&lt;br /&gt;Deferred shading restored, shadow maps, landscapes&lt;/div&gt;&lt;div&gt;by clipmaps, translation and rotation of entities by&lt;/div&gt;&lt;div&gt;mouse with restriction by selected axis (x, y, z).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Plan for the next 2 months is prepared, to complete first version&lt;/div&gt;&lt;div&gt;of editor and engine.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7218693864280463112-6031751615021772850?l=yak32.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yak32.blogspot.com/feeds/6031751615021772850/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://yak32.blogspot.com/2010/11/weekly-editor-image.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/6031751615021772850'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/6031751615021772850'/><link rel='alternate' type='text/html' href='http://yak32.blogspot.com/2010/11/weekly-editor-image.html' title=''/><author><name>Yakov</name><uri>http://www.blogger.com/profile/12239884265114495349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_LfYx03jjmdk/TNQzPi1iLbI/AAAAAAAABA8/9MpbIgD00PM/s72-c/weekly_screen_november.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7218693864280463112.post-1573941490338382709</id><published>2010-10-25T01:16:00.000-07:00</published><updated>2010-10-25T01:56:10.994-07:00</updated><title type='text'>editor status</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_LfYx03jjmdk/TMU_QBI7Q7I/AAAAAAAAA_w/moYgNnNnCDw/s1600/editor.jpg"&gt;&lt;img style=" margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 267px;" src="http://3.bp.blogspot.com/_LfYx03jjmdk/TMU_QBI7Q7I/AAAAAAAAA_w/moYgNnNnCDw/s320/editor.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5531897261710853042" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Editor is developing very fast. A lot of things are complete - window layout management, editing of object's type, assets management (drag and drop assets to scene from asset tree, renaming, deleting etc), project save/load etc.&lt;br /&gt;&lt;br /&gt;Next week I will prepare video.&lt;br /&gt;&lt;br /&gt;I see light at the end of the tunnel ))&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7218693864280463112-1573941490338382709?l=yak32.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yak32.blogspot.com/feeds/1573941490338382709/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://yak32.blogspot.com/2010/10/editor-status.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/1573941490338382709'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/1573941490338382709'/><link rel='alternate' type='text/html' href='http://yak32.blogspot.com/2010/10/editor-status.html' title='editor status'/><author><name>Yakov</name><uri>http://www.blogger.com/profile/12239884265114495349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_LfYx03jjmdk/TMU_QBI7Q7I/AAAAAAAAA_w/moYgNnNnCDw/s72-c/editor.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7218693864280463112.post-2974805612951635250</id><published>2010-09-30T03:10:00.000-07:00</published><updated>2010-09-30T03:13:17.053-07:00</updated><title type='text'></title><content type='html'>Some progress with editor - project loading/saving, &lt;br /&gt;list of assets, list of entities, property editing. All by in-game&lt;br /&gt;3d ui with undo/redo. &lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_LfYx03jjmdk/TKRiNlhk_OI/AAAAAAAAA_c/FMHzlJNHwJs/s1600/editor2.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 250px;" src="http://1.bp.blogspot.com/_LfYx03jjmdk/TKRiNlhk_OI/AAAAAAAAA_c/FMHzlJNHwJs/s320/editor2.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5522647028613840098" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7218693864280463112-2974805612951635250?l=yak32.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yak32.blogspot.com/feeds/2974805612951635250/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://yak32.blogspot.com/2010/09/some-progress-with-editor-project.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/2974805612951635250'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/2974805612951635250'/><link rel='alternate' type='text/html' href='http://yak32.blogspot.com/2010/09/some-progress-with-editor-project.html' title=''/><author><name>Yakov</name><uri>http://www.blogger.com/profile/12239884265114495349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_LfYx03jjmdk/TKRiNlhk_OI/AAAAAAAAA_c/FMHzlJNHwJs/s72-c/editor2.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7218693864280463112.post-4505690169864027635</id><published>2010-09-27T19:19:00.000-07:00</published><updated>2010-09-27T19:21:01.721-07:00</updated><title type='text'>vacation</title><content type='html'>I am back from 3 weeks vacation... 5 countries, 11 flights.&lt;div&gt;Started  project management for Editor. &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7218693864280463112-4505690169864027635?l=yak32.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yak32.blogspot.com/feeds/4505690169864027635/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://yak32.blogspot.com/2010/09/vacation.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/4505690169864027635'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/4505690169864027635'/><link rel='alternate' type='text/html' href='http://yak32.blogspot.com/2010/09/vacation.html' title='vacation'/><author><name>Yakov</name><uri>http://www.blogger.com/profile/12239884265114495349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7218693864280463112.post-8303454440443689521</id><published>2010-08-24T22:02:00.000-07:00</published><updated>2010-08-24T22:14:08.865-07:00</updated><title type='text'>Editor features</title><content type='html'>&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/N9XsXwIe9mQ?fs=1&amp;amp;hl=en_US"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/N9XsXwIe9mQ?fs=1&amp;amp;hl=en_US" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;New features added to Glow engine editor during last  week. Previously, all level geometry was created in 3ds max and imported into game engine. It's not convenient (and not cheap) way of editing game level, so development of  Editor was started.&lt;br /&gt;&lt;br /&gt;After week it has next features - drag and drop meshes from Explorer (currently OBJ format, more later), simple Asset manager, executed as job (in parallel thread), so parsing 3d meshes will not stop UI.&lt;br /&gt;&lt;br /&gt;Also Undo/Redo is implemented ( with boost functors ). Currently it works for move/rotate/scale, delete/insert, select. Objects can be linked to landscape, so, for example, building and trees will be always on the ground. Rotation, movement will be in local or world coordinate system.&lt;br /&gt;&lt;br /&gt;Next things to implement: building level, attaching scripts to objects, assigning materials by drag and drop from Windows Explorer.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7218693864280463112-8303454440443689521?l=yak32.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yak32.blogspot.com/feeds/8303454440443689521/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://yak32.blogspot.com/2010/08/editor-features.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/8303454440443689521'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/8303454440443689521'/><link rel='alternate' type='text/html' href='http://yak32.blogspot.com/2010/08/editor-features.html' title='Editor features'/><author><name>Yakov</name><uri>http://www.blogger.com/profile/12239884265114495349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7218693864280463112.post-8891178051444961483</id><published>2010-08-04T23:53:00.000-07:00</published><updated>2010-08-04T23:56:39.634-07:00</updated><title type='text'></title><content type='html'>Long time ago i wrote function, which creates quaternion for rotation from 0,0,1 to any unit vector. Function was very long, contained asin, acos, several conditions etc... So today i returned and after some time:&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;// dir should be unit&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;void Quaternion::from_direction(const vec3&amp;amp; dir)&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;{&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;   &lt;/span&gt;x = dir.y;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;   &lt;/span&gt;y = -dir.x;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;   &lt;/span&gt;z = 0;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;   &lt;/span&gt;w = 1 + dir.z; // simplified dot product with 0,0,1&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;   &lt;/span&gt;normalize();&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;};&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7218693864280463112-8891178051444961483?l=yak32.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yak32.blogspot.com/feeds/8891178051444961483/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://yak32.blogspot.com/2010/08/long-time-ago-i-wrote-function-which.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/8891178051444961483'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/8891178051444961483'/><link rel='alternate' type='text/html' href='http://yak32.blogspot.com/2010/08/long-time-ago-i-wrote-function-which.html' title=''/><author><name>Yakov</name><uri>http://www.blogger.com/profile/12239884265114495349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7218693864280463112.post-7911946474985468389</id><published>2010-08-02T22:38:00.001-07:00</published><updated>2010-08-02T22:51:44.015-07:00</updated><title type='text'>Editor UI</title><content type='html'>Finally returned to editor development. &lt;div&gt;Editor UI will be written by Lua scripts.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;   I started my UI  from simple and usable  source of &lt;a href="http://code.google.com/p/recastnavigation/"&gt;Recast library&lt;/a&gt;, &lt;/div&gt;&lt;div&gt;For example, button usage: &lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;if ( imguiButton("Start game") )&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;LoadLevel("super-duper mega Quake level.mdl")&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;this is button creation, displaying and logic in one place. After&lt;/div&gt;&lt;div&gt;years on Windows it was amazing! &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I mapped API into Lua script language by luabind library, and&lt;/div&gt;&lt;div&gt;now UI script code looks like here:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;if object_selected then&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;rollout( "Object", 0, 0, width, height )&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;   &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;   &lt;/span&gt;show_object_properties()&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;   &lt;/span&gt;if  collapse("physics", true, true) then &lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;    &lt;/span&gt;show_physics_properties()&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;   &lt;/span&gt;end&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;     &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;   &lt;/span&gt;if  collapse("visual", true, true) then &lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;    &lt;/span&gt;show_visual_properties()&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;   &lt;/span&gt;end&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;   &lt;/span&gt;if  collapse("script", true, true) then &lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;    &lt;/span&gt;show_object_script()&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;   &lt;/span&gt;end&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;   &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;end_rollout()&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;end&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7218693864280463112-7911946474985468389?l=yak32.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yak32.blogspot.com/feeds/7911946474985468389/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://yak32.blogspot.com/2010/08/editor-ui.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/7911946474985468389'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/7911946474985468389'/><link rel='alternate' type='text/html' href='http://yak32.blogspot.com/2010/08/editor-ui.html' title='Editor UI'/><author><name>Yakov</name><uri>http://www.blogger.com/profile/12239884265114495349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7218693864280463112.post-5332577501995813196</id><published>2010-07-28T10:28:00.000-07:00</published><updated>2010-07-28T10:31:25.082-07:00</updated><title type='text'></title><content type='html'>I prepared site for the engine: &lt;a href="http://www.glow3d.com/"&gt;www.glow3d.com&lt;/a&gt;&lt;div&gt;3 days with CSS, html and Photoshop. &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7218693864280463112-5332577501995813196?l=yak32.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yak32.blogspot.com/feeds/5332577501995813196/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://yak32.blogspot.com/2010/07/i-prepared-site-for-engine-www.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/5332577501995813196'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/5332577501995813196'/><link rel='alternate' type='text/html' href='http://yak32.blogspot.com/2010/07/i-prepared-site-for-engine-www.html' title=''/><author><name>Yakov</name><uri>http://www.blogger.com/profile/12239884265114495349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7218693864280463112.post-3965706488851876115</id><published>2010-07-22T00:15:00.000-07:00</published><updated>2010-07-22T00:16:26.906-07:00</updated><title type='text'>Feature list</title><content type='html'>I made the presentation of engine features.&lt;div&gt;It can be viewed &lt;a href="https://docs.google.com/present/edit?id=0ATZm93qPBDO8ZGZyYmRxdDJfNTlmc3RqOTVjdw&amp;amp;hl=en"&gt;here&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7218693864280463112-3965706488851876115?l=yak32.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yak32.blogspot.com/feeds/3965706488851876115/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://yak32.blogspot.com/2010/07/feature-list.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/3965706488851876115'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/3965706488851876115'/><link rel='alternate' type='text/html' href='http://yak32.blogspot.com/2010/07/feature-list.html' title='Feature list'/><author><name>Yakov</name><uri>http://www.blogger.com/profile/12239884265114495349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7218693864280463112.post-2101473430810577474</id><published>2010-07-06T23:26:00.000-07:00</published><updated>2010-07-06T23:51:27.074-07:00</updated><title type='text'></title><content type='html'>I spent a month on refactoring of engine.&lt;div&gt;It's became so big, I can not serve it in my little brain.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So I detached it into small pieces, like physics, sound, &lt;/div&gt;&lt;div&gt;networking, core, ai, ui, archive, prepared solid interface to&lt;/div&gt;&lt;div&gt;access features of engine (which will be visible for users of&lt;/div&gt;&lt;div&gt;engine). Also put all pieces into dll, and prepare abstract &lt;/div&gt;&lt;div&gt;interface for every module to clearly isolate it. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Also the thread pool (boost::threadpool) is added to execute jobs from modules.&lt;/div&gt;&lt;div&gt;So now engine will scale performance easily with more CPU cores.&lt;span class="Apple-tab-span" style="white-space:pre"&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/7218693864280463112-2101473430810577474?l=yak32.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yak32.blogspot.com/feeds/2101473430810577474/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://yak32.blogspot.com/2010/07/i-spent-month-on-refactoring-of-engine.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/2101473430810577474'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/2101473430810577474'/><link rel='alternate' type='text/html' href='http://yak32.blogspot.com/2010/07/i-spent-month-on-refactoring-of-engine.html' title=''/><author><name>Yakov</name><uri>http://www.blogger.com/profile/12239884265114495349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7218693864280463112.post-8565778036263784851</id><published>2010-03-12T00:29:00.000-08:00</published><updated>2010-03-12T00:42:11.592-08:00</updated><title type='text'>Streaming</title><content type='html'>To implement WebPlayer I had to implement streaming from Internet. Now it works, with additional layer for loading data. &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Several types of data sources are supported:&lt;/div&gt;&lt;div&gt;1) usual file system&lt;/div&gt;&lt;div&gt;2) zip files&lt;/div&gt;&lt;div&gt;3) files from inet (http, ftp)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Last thing to implement - installer for ActiveX. I haven't decided yet, how to install it properly - by separate msi installer, or as usual ActiveX, by services of browser. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;table style="width:auto;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://picasaweb.google.com/lh/photo/TBFRfRag_-PK9cjpGtC3Ag?feat=embedwebsite"&gt;&lt;img src="http://lh4.ggpht.com/_LfYx03jjmdk/SGgkmN_3VkI/AAAAAAAAAEE/h7YEz75KKPQ/s288/Single%202008-06-30%2003-15-17-78.jpg" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="font-family:arial,sans-serif; font-size:11px; text-align:right"&gt;Альбом: &lt;a href="http://picasaweb.google.com/YakovSumygin/DeadlyLightScreens?feat=embedwebsite"&gt;Deadly light screens&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7218693864280463112-8565778036263784851?l=yak32.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yak32.blogspot.com/feeds/8565778036263784851/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://yak32.blogspot.com/2010/03/streaming.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/8565778036263784851'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/8565778036263784851'/><link rel='alternate' type='text/html' href='http://yak32.blogspot.com/2010/03/streaming.html' title='Streaming'/><author><name>Yakov</name><uri>http://www.blogger.com/profile/12239884265114495349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_LfYx03jjmdk/SGgkmN_3VkI/AAAAAAAAAEE/h7YEz75KKPQ/s72-c/Single%202008-06-30%2003-15-17-78.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7218693864280463112.post-1747691420820274681</id><published>2010-02-02T02:47:00.001-08:00</published><updated>2010-02-02T02:51:37.926-08:00</updated><title type='text'>WebPlayer!</title><content type='html'>Today I started development of the WebPlayer for Glow engine,&lt;div&gt;and already have results! ActiveX, based on ATL is created,&lt;/div&gt;&lt;div&gt;engine is attached, and all it successfully tested in the Test Container.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Now it works only for Internet Explorer, later I will test Firefox &lt;/div&gt;&lt;div&gt;and Chrome. &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7218693864280463112-1747691420820274681?l=yak32.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yak32.blogspot.com/feeds/1747691420820274681/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://yak32.blogspot.com/2010/02/webplayer.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/1747691420820274681'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/1747691420820274681'/><link rel='alternate' type='text/html' href='http://yak32.blogspot.com/2010/02/webplayer.html' title='WebPlayer!'/><author><name>Yakov</name><uri>http://www.blogger.com/profile/12239884265114495349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7218693864280463112.post-7428091987785471224</id><published>2010-01-31T20:20:00.000-08:00</published><updated>2010-01-31T20:25:41.827-08:00</updated><title type='text'>Water</title><content type='html'>First tests with water. It's based on &lt;a href="http://http.developer.nvidia.com/GPUGems2/gpugems2_chapter19.html"&gt;the article from GPU Gems 2&lt;/a&gt;.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;2 pass rendering:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;1) render all without water - refraction pass&lt;/div&gt;&lt;div&gt;2) copy image to refraction map&lt;/div&gt;&lt;div&gt;3) render all from "reflected" camera position - reflect camera position relative to water plane&lt;/div&gt;&lt;div&gt;4) copy image to reflection map&lt;/div&gt;&lt;div&gt;5) render water with reflection and refraction map&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/4oTYuoeymNM&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/4oTYuoeymNM&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7218693864280463112-7428091987785471224?l=yak32.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yak32.blogspot.com/feeds/7428091987785471224/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://yak32.blogspot.com/2010/01/water.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/7428091987785471224'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/7428091987785471224'/><link rel='alternate' type='text/html' href='http://yak32.blogspot.com/2010/01/water.html' title='Water'/><author><name>Yakov</name><uri>http://www.blogger.com/profile/12239884265114495349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7218693864280463112.post-1679682008956371423</id><published>2010-01-10T18:10:00.000-08:00</published><updated>2010-01-10T18:14:34.041-08:00</updated><title type='text'>comments for my game from IGF judges</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 13px; border-collapse: collapse; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; "&gt;&lt;div&gt;Here is &lt;span class="Apple-style-span" style="border-collapse: separate; font-family: Arial; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; white-space: pre; "&gt;comments for my game from IGF judges. &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:Arial;"&gt;&lt;span class="Apple-style-span" style="border-collapse: separate; white-space: pre; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; "&gt;Completely correct, I just spent more time on a graphics&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:Arial;"&gt;&lt;span class="Apple-style-span" style="border-collapse: separate; white-space: pre; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px;"&gt;and programming than on game play and level. &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:Arial;"&gt;&lt;span class="Apple-style-span" style="border-collapse: separate; white-space: pre; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:Arial;"&gt;&lt;span class="Apple-style-span" style="border-collapse: separate; white-space: pre; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px;"&gt;so -&gt; more game play and play testing, fresh ideas, design documents etc&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Comments:&lt;/div&gt;&lt;i&gt;--&lt;br /&gt;&lt;br /&gt;wow... I can't say I was expecting this. Fantastic opening intro with the 'kids' drawings. Very powerful!!!! It is very immersive.&lt;br /&gt;Unfortunately the 3D world is poor, level design &amp;amp; use of lighting (both for Art + guide the player) are poor, and I think it would have desrved a better visual environment (it could have been isometric). I think interactions need to be facilitated in this type of games.&lt;br /&gt;&lt;br /&gt;---&lt;br /&gt;&lt;br /&gt;The introduction to this game was terrific and set a great vibe. Unfortunately the game itself didn't really follow through on this.&lt;br /&gt;&lt;br /&gt;Visual art rated low mostly because of the level design - I found it extremely difficult to navigate the level, and points of interest were not at all clear. Would also have been nice to see the two important states of my family reflected on their bodies rather than via meters on screen (although the meters are also necessary).&lt;br /&gt;&lt;br /&gt;Audio was not used to indicate the positions of interesting things, either - humans came up and attacked and I had no idea they were there until they were hitting me, and I had very little awareness of where my family members were.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;---&lt;br /&gt;&lt;br /&gt;The opening sequence is great, but the game loses steam after that. After the intro, I was expecting something sillier and more playful. Cow-slapping is fun and all, but it only goes so far. If the game harnessed more of the puckishness on display in the intro, it would be more appealing.&lt;/i&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7218693864280463112-1679682008956371423?l=yak32.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yak32.blogspot.com/feeds/1679682008956371423/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://yak32.blogspot.com/2010/01/comments-for-my-game-from-igf-judges.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/1679682008956371423'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/1679682008956371423'/><link rel='alternate' type='text/html' href='http://yak32.blogspot.com/2010/01/comments-for-my-game-from-igf-judges.html' title='comments for my game from IGF judges'/><author><name>Yakov</name><uri>http://www.blogger.com/profile/12239884265114495349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7218693864280463112.post-7552169339215754997</id><published>2010-01-04T22:40:00.000-08:00</published><updated>2010-01-04T22:51:07.392-08:00</updated><title type='text'></title><content type='html'>I am improving my game design ability, did some brainstorming.&lt;div&gt;Already have around  80 gameplay ideas ))&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I want to have clear picture of gameplay before implementing something.&lt;/div&gt;&lt;div&gt;After 2 or 3 project without gameplay at all ))&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Here is my plan:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;1) raw ideas in mind and pictures&lt;/div&gt;&lt;div&gt;2) design document &lt;/div&gt;&lt;div&gt;3) draft demo with simple graphics and animations&lt;/div&gt;&lt;div&gt;4) play testing &lt;/div&gt;&lt;div&gt;5) final graphics and animations&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7218693864280463112-7552169339215754997?l=yak32.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yak32.blogspot.com/feeds/7552169339215754997/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://yak32.blogspot.com/2010/01/i-am-improving-my-game-design-ability.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/7552169339215754997'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/7552169339215754997'/><link rel='alternate' type='text/html' href='http://yak32.blogspot.com/2010/01/i-am-improving-my-game-design-ability.html' title=''/><author><name>Yakov</name><uri>http://www.blogger.com/profile/12239884265114495349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7218693864280463112.post-79150785613585309</id><published>2009-12-24T02:36:00.000-08:00</published><updated>2009-12-24T02:45:55.505-08:00</updated><title type='text'>First horde tests</title><content type='html'>Spent day for implementing steering behaviors for horde.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Recast navigation + avoid nearest neighbor (with prediction, OpenSteer style) + avoid near walls&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/uH4lo1gW2K8&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/uH4lo1gW2K8&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Recast navigation + avoid nearest neighbor (with prediction, OpenSteer style) + avoid walls only after collision + avoid dynamic obstacles&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/_gStLaNyJ24&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/_gStLaNyJ24&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;It needs time to update nav mesh (usually nav mesh updated with 0.5 sec intervals), so sometimes bots can go throw obstacle. Maybe for moving obstacles I need to use same steering behavior as for another bots.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Does it look natural? Or need some enhancements?&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7218693864280463112-79150785613585309?l=yak32.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yak32.blogspot.com/feeds/79150785613585309/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://yak32.blogspot.com/2009/12/first-horde-tests.html#comment-form' title='Комментарии: 2'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/79150785613585309'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/79150785613585309'/><link rel='alternate' type='text/html' href='http://yak32.blogspot.com/2009/12/first-horde-tests.html' title='First horde tests'/><author><name>Yakov</name><uri>http://www.blogger.com/profile/12239884265114495349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7218693864280463112.post-4518297851683894520</id><published>2009-12-23T19:56:00.000-08:00</published><updated>2009-12-23T20:17:14.238-08:00</updated><title type='text'></title><content type='html'>&lt;span class="Apple-style-span" style="font-family: Verdana; font-size: 13px; "&gt;&lt;a href="http://forums.tigsource.com/index.php?topic=8625.0" style="color: rgb(85, 26, 139); "&gt;http://forums.tigsource.com/index.php?topic=8625.0&lt;/a&gt; very funny about indies&lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:Verdana;font-size:100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;br /&gt;&lt;/span&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/7218693864280463112-4518297851683894520?l=yak32.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yak32.blogspot.com/feeds/4518297851683894520/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://yak32.blogspot.com/2009/12/httpforums.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/4518297851683894520'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/4518297851683894520'/><link rel='alternate' type='text/html' href='http://yak32.blogspot.com/2009/12/httpforums.html' title=''/><author><name>Yakov</name><uri>http://www.blogger.com/profile/12239884265114495349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7218693864280463112.post-4400652033080481611</id><published>2009-12-18T00:57:00.000-08:00</published><updated>2009-12-18T01:26:14.420-08:00</updated><title type='text'></title><content type='html'>finally understand, what is &lt;a href="http://www.cs.rpi.edu/~sakella/rmp03/presentations/Motion_Planning_in_Dynamic_Environments_using_Velocity_Obstacles.pdf"&gt;Velocity Obstacle&lt;/a&gt;.&lt;br /&gt;it's freakin simple ))&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;print of the source article helps a lot&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;it will be hordes of zombies!!!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7218693864280463112-4400652033080481611?l=yak32.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yak32.blogspot.com/feeds/4400652033080481611/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://yak32.blogspot.com/2009/12/finally-understand-what-is-velocity.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/4400652033080481611'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/4400652033080481611'/><link rel='alternate' type='text/html' href='http://yak32.blogspot.com/2009/12/finally-understand-what-is-velocity.html' title=''/><author><name>Yakov</name><uri>http://www.blogger.com/profile/12239884265114495349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7218693864280463112.post-8990565208479723674</id><published>2009-12-16T23:00:00.000-08:00</published><updated>2009-12-16T23:02:07.196-08:00</updated><title type='text'>Recast navigation + steering behavior + wall repulse force</title><content type='html'>path following force + steering behaviors + wall repulse force&lt;br /&gt;&lt;br /&gt;red line - path from Recast&lt;br /&gt;grreen line - resulting velocity&lt;br /&gt;blue line - wall repulse force&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/GJTE5_e4IIg&amp;hl=en_US&amp;fs=1&amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/GJTE5_e4IIg&amp;hl=en_US&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7218693864280463112-8990565208479723674?l=yak32.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yak32.blogspot.com/feeds/8990565208479723674/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://yak32.blogspot.com/2009/12/recast-navigation-steering-behavior.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/8990565208479723674'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/8990565208479723674'/><link rel='alternate' type='text/html' href='http://yak32.blogspot.com/2009/12/recast-navigation-steering-behavior.html' title='Recast navigation + steering behavior + wall repulse force'/><author><name>Yakov</name><uri>http://www.blogger.com/profile/12239884265114495349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7218693864280463112.post-2933898543435183714</id><published>2009-12-15T00:23:00.000-08:00</published><updated>2009-12-15T00:33:40.971-08:00</updated><title type='text'>Simple steering behavior</title><content type='html'>I added yesterday simple steering behavior&lt;br /&gt;for bots. Movement became more realistic than&lt;br /&gt;previous direct path following. Now bot has &lt;br /&gt;velocity and acceleration, and it tries to move&lt;br /&gt;along current path line. &lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/Pw7GRTxxnYA&amp;hl=en_US&amp;fs=1&amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/Pw7GRTxxnYA&amp;hl=en_US&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Remaining task - dealing with walls (current bot position now&lt;br /&gt;not exactly on the safe path), moving obstacles.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7218693864280463112-2933898543435183714?l=yak32.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yak32.blogspot.com/feeds/2933898543435183714/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://yak32.blogspot.com/2009/12/simple-steering-behavior.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/2933898543435183714'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/2933898543435183714'/><link rel='alternate' type='text/html' href='http://yak32.blogspot.com/2009/12/simple-steering-behavior.html' title='Simple steering behavior'/><author><name>Yakov</name><uri>http://www.blogger.com/profile/12239884265114495349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7218693864280463112.post-3266956142055836130</id><published>2009-12-13T18:23:00.000-08:00</published><updated>2009-12-13T18:25:27.540-08:00</updated><title type='text'>simple optimization</title><content type='html'>If you have vector assignment in your code, &lt;br /&gt;use Swap member function of std::vector, if&lt;br /&gt;you will not need source vector anymore&lt;br /&gt;&lt;br /&gt;it will save you one memory allocation&lt;br /&gt;&lt;br /&gt;void SetPath_Dirty(vec3&amp; path)&lt;br /&gt;{&lt;br /&gt;    m_path.swap(path);&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7218693864280463112-3266956142055836130?l=yak32.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yak32.blogspot.com/feeds/3266956142055836130/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://yak32.blogspot.com/2009/12/simple-optimization.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/3266956142055836130'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/3266956142055836130'/><link rel='alternate' type='text/html' href='http://yak32.blogspot.com/2009/12/simple-optimization.html' title='simple optimization'/><author><name>Yakov</name><uri>http://www.blogger.com/profile/12239884265114495349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7218693864280463112.post-5869197785452637289</id><published>2009-12-09T00:33:00.000-08:00</published><updated>2009-12-09T00:38:55.269-08:00</updated><title type='text'>Lighting abilities of my engine</title><content type='html'>&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/b3pquOn39EI&amp;hl=en_US&amp;fs=1&amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/b3pquOn39EI&amp;hl=en_US&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;Deferred shading (plus Doom3-like lighting for slow hardware),&lt;br /&gt;more than 1000 lights (without shadows) possible simultaneously,&lt;br /&gt;soft shadow maps for omni lights, attenuation maps, fog,&lt;br /&gt;bump maps, specular maps, ambient etc.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7218693864280463112-5869197785452637289?l=yak32.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yak32.blogspot.com/feeds/5869197785452637289/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://yak32.blogspot.com/2009/12/lighting-abilities-of-my-engine.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/5869197785452637289'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/5869197785452637289'/><link rel='alternate' type='text/html' href='http://yak32.blogspot.com/2009/12/lighting-abilities-of-my-engine.html' title='Lighting abilities of my engine'/><author><name>Yakov</name><uri>http://www.blogger.com/profile/12239884265114495349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7218693864280463112.post-1344892822641870098</id><published>2009-12-07T07:59:00.000-08:00</published><updated>2009-12-07T08:00:19.476-08:00</updated><title type='text'>Recast dynamic navigation meshes</title><content type='html'>Some examples of using Recast dynamic navigation meshes in gameplay&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/Q0rZRqXM-4g&amp;hl=ru_RU&amp;fs=1&amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/Q0rZRqXM-4g&amp;hl=ru_RU&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7218693864280463112-1344892822641870098?l=yak32.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yak32.blogspot.com/feeds/1344892822641870098/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://yak32.blogspot.com/2009/12/recast-dynamic-navigation-meshes.html#comment-form' title='Комментарии: 2'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/1344892822641870098'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/1344892822641870098'/><link rel='alternate' type='text/html' href='http://yak32.blogspot.com/2009/12/recast-dynamic-navigation-meshes.html' title='Recast dynamic navigation meshes'/><author><name>Yakov</name><uri>http://www.blogger.com/profile/12239884265114495349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7218693864280463112.post-287151325777975179</id><published>2009-12-01T01:47:00.000-08:00</published><updated>2009-12-01T18:23:38.787-08:00</updated><title type='text'>Memory management</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_LfYx03jjmdk/SxTmMikpqMI/AAAAAAAAAus/R4ZYOjH9OsE/s1600/LIttleZombieSusie2.jpg"&gt;&lt;img style="float:top; margin:0 10px 10px 0;cursor:pointer; border:solid 3px #000000;cursor:hand;width: 320px; height: 234px;" border="3" alt="" src="http://2.bp.blogspot.com/_LfYx03jjmdk/SxTmMikpqMI/AAAAAAAAAus/R4ZYOjH9OsE/s320/LIttleZombieSusie2.jpg" id="BLOGGER_PHOTO_ID_5410202155492157634" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;Usually C++ uses linked list to holding free memory chunks, so searching for free chunk is not fast. Especially for small objects. So I decided to optimize allocating of memory using special pool allocator. All small objects in engine have base class, which  get and release memory from pool allocator. 3x times optimization for memory allocation (small objects)&lt;/div&gt;&lt;div&gt;Look Andrei Alexandrescu &lt;span class="Apple-style-span"   style="  ;font-family:'Georgia, Times, serif';font-size:medium;"&gt;&lt;a href="http://www.amazon.com/exec/obidos/ASIN/0201704315/modecdesi-20" target="_top"&gt;Modern C++ Design&lt;/a&gt; and in details &lt;/span&gt;&lt;span class="Apple-style-span"   style="font-family:'Georgia, Times, serif';font-size:medium;"&gt;&lt;a href="http://books.google.com/books?id=aJ1av7UFBPwC&amp;amp;pg=PA78&amp;amp;lpg=PA78&amp;amp;dq=Andrei+Alexandrescu+pool+allocator&amp;amp;source=bl&amp;amp;ots=YQfM1pOh7_&amp;amp;sig=reCULuBCidrVZX9rJNgwdH-fiRE&amp;amp;hl=en&amp;amp;ei=ds8VS4vtD5CTkAWZgZWABw&amp;amp;sa=X&amp;amp;oi=book_result&amp;amp;ct=result&amp;amp;resnum=1&amp;amp;ved=0CAgQ6AEwAA#v=onepage&amp;amp;q=&amp;amp;f=false"&gt;here&lt;/a&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/7218693864280463112-287151325777975179?l=yak32.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yak32.blogspot.com/feeds/287151325777975179/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://yak32.blogspot.com/2009/12/memory-management.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/287151325777975179'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/287151325777975179'/><link rel='alternate' type='text/html' href='http://yak32.blogspot.com/2009/12/memory-management.html' title='Memory management'/><author><name>Yakov</name><uri>http://www.blogger.com/profile/12239884265114495349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_LfYx03jjmdk/SxTmMikpqMI/AAAAAAAAAus/R4ZYOjH9OsE/s72-c/LIttleZombieSusie2.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7218693864280463112.post-3385948416929656589</id><published>2009-11-29T21:24:00.000-08:00</published><updated>2009-11-29T22:39:08.872-08:00</updated><title type='text'>Loading of materials</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_LfYx03jjmdk/SxNn990tNRI/AAAAAAAAAuk/iBgMhD0nCTg/s1600/screen.jpg"&gt;&lt;img style="float:top; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 241px;" src="http://2.bp.blogspot.com/_LfYx03jjmdk/SxNn990tNRI/AAAAAAAAAuk/iBgMhD0nCTg/s320/screen.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5409781891667408146" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;My previous demo had very long loading time (~4 min). There were many big textures there (usually 1024x1024), most of it in tga format.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;To fix it, I changed format to dds, pack mips to texture and moved loading of textures to separate thread. Moreover, only near textures (~50 meters - engine parameter) are loaded and during moving, textures outside of that radius will be unloaded. Small versions of texture (64x64 usually) are used instead of full versions on a distance.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Results - 3-4 sec for loading current outdoor level (~800 000 tris), unlimited number of  textures on a level, all in separate thread, important for today's multicore CPUs.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7218693864280463112-3385948416929656589?l=yak32.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yak32.blogspot.com/feeds/3385948416929656589/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://yak32.blogspot.com/2009/11/loading-of-materials.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/3385948416929656589'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/3385948416929656589'/><link rel='alternate' type='text/html' href='http://yak32.blogspot.com/2009/11/loading-of-materials.html' title='Loading of materials'/><author><name>Yakov</name><uri>http://www.blogger.com/profile/12239884265114495349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_LfYx03jjmdk/SxNn990tNRI/AAAAAAAAAuk/iBgMhD0nCTg/s72-c/screen.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7218693864280463112.post-1283815944268578950</id><published>2009-11-27T00:56:00.000-08:00</published><updated>2009-11-27T01:31:40.330-08:00</updated><title type='text'>Ideas</title><content type='html'>i broke my  brain in search for fresh game idea. It's not so easy, as i think.   &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;There is one stupid idea - a atomic bombing in details. In first part you will be pilot of a bomber, after that - civilian, escaping from town.  Burning people, death everywhere. Something about how bad is it. Short game especially for IGF. Kind of interactive movie...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;All in real 3D, with details... maybe for IGF in 2D, as they like ))&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7218693864280463112-1283815944268578950?l=yak32.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yak32.blogspot.com/feeds/1283815944268578950/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://yak32.blogspot.com/2009/11/i-broke-my-brain-in-search-for-fresh.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/1283815944268578950'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/1283815944268578950'/><link rel='alternate' type='text/html' href='http://yak32.blogspot.com/2009/11/i-broke-my-brain-in-search-for-fresh.html' title='Ideas'/><author><name>Yakov</name><uri>http://www.blogger.com/profile/12239884265114495349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7218693864280463112.post-7234211939776376217</id><published>2009-11-26T01:33:00.001-08:00</published><updated>2009-11-26T01:33:43.580-08:00</updated><title type='text'></title><content type='html'>Great article about indie game PR&lt;div&gt;&lt;a href="http://gillen.cream.org/wordpress_html/?page_id=693"&gt;http://gillen.cream.org/wordpress_html/?page_id=693&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;plus &lt;span class="Apple-style-span" style="font-family: Verdana; font-size: 13px; "&gt;&lt;a href="http://thegameprodigy.com/zero-budget-indie-marketing-guide/#more-118" style="color: rgb(85, 26, 139); "&gt;http://thegameprodigy.com/zero-budget-indie-marketing-guide/#more-118&lt;/a&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/7218693864280463112-7234211939776376217?l=yak32.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yak32.blogspot.com/feeds/7234211939776376217/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://yak32.blogspot.com/2009/11/great-article-about-indie-game-pr.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/7234211939776376217'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/7234211939776376217'/><link rel='alternate' type='text/html' href='http://yak32.blogspot.com/2009/11/great-article-about-indie-game-pr.html' title=''/><author><name>Yakov</name><uri>http://www.blogger.com/profile/12239884265114495349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7218693864280463112.post-5560956560744352552</id><published>2009-11-25T02:17:00.000-08:00</published><updated>2009-11-25T02:36:24.066-08:00</updated><title type='text'>Optimization</title><content type='html'>&lt;div&gt;During tests, my game has average 40 fps on GeForce 9600 with Intel quad  core CPU.&lt;/div&gt;&lt;div&gt;That version was sent to IGF. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Several days ago I found, that  all shadows on level are drawn every frame. After searching in source I found commented for debugging line of code, which increase speed twice!  So fps becomes ~ 80. After switching off grass and NPC sensor system  (which do search for enemies 5 times per second) fps becomes 400!.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So first of all I implemented correct instancing for a grass ( and cut off all cards without support of Shader model 3).  Next step - faster sensor system for nps.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Now average fps is 160 but there are a lot of ways for improvement.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7218693864280463112-5560956560744352552?l=yak32.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yak32.blogspot.com/feeds/5560956560744352552/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://yak32.blogspot.com/2009/11/optimization.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/5560956560744352552'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/5560956560744352552'/><link rel='alternate' type='text/html' href='http://yak32.blogspot.com/2009/11/optimization.html' title='Optimization'/><author><name>Yakov</name><uri>http://www.blogger.com/profile/12239884265114495349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7218693864280463112.post-2047466002078261956</id><published>2009-11-08T20:01:00.000-08:00</published><updated>2009-11-08T20:02:36.297-08:00</updated><title type='text'>Little Zombie Susie gameplay</title><content type='html'>First several minutes of gameplay&lt;div&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/RQPOnuLiXIw&amp;amp;hl=en&amp;amp;fs=1&amp;amp;"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/RQPOnuLiXIw&amp;amp;hl=en&amp;amp;fs=1&amp;amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7218693864280463112-2047466002078261956?l=yak32.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yak32.blogspot.com/feeds/2047466002078261956/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://yak32.blogspot.com/2009/11/little-zombie-susie-gameplay.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/2047466002078261956'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/2047466002078261956'/><link rel='alternate' type='text/html' href='http://yak32.blogspot.com/2009/11/little-zombie-susie-gameplay.html' title='Little Zombie Susie gameplay'/><author><name>Yakov</name><uri>http://www.blogger.com/profile/12239884265114495349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7218693864280463112.post-5258621391886807997</id><published>2009-11-05T02:05:00.000-08:00</published><updated>2009-11-05T02:10:00.445-08:00</updated><title type='text'></title><content type='html'>i didn't show all gameplay in the trailer, just for a mystique.&lt;br /&gt;But there are many things - puzzles, based on creating ways&lt;br /&gt;for your npc, mines, automatic weapons, fights with humans, &lt;br /&gt;eating cows etc in the game. &lt;br /&gt;I will post pictures and videos here.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7218693864280463112-5258621391886807997?l=yak32.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yak32.blogspot.com/feeds/5258621391886807997/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://yak32.blogspot.com/2009/11/i-didnt-show-all-gameplay-in-trailer.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/5258621391886807997'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/5258621391886807997'/><link rel='alternate' type='text/html' href='http://yak32.blogspot.com/2009/11/i-didnt-show-all-gameplay-in-trailer.html' title=''/><author><name>Yakov</name><uri>http://www.blogger.com/profile/12239884265114495349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7218693864280463112.post-2632639414285841600</id><published>2009-11-01T23:54:00.001-08:00</published><updated>2009-11-01T23:54:44.114-08:00</updated><title type='text'>New video for IGF</title><content type='html'>&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/IR-AKwOS4a4&amp;hl=en&amp;fs=1&amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/IR-AKwOS4a4&amp;hl=en&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;I hope to finish gameplay in near 2 weeks&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7218693864280463112-2632639414285841600?l=yak32.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yak32.blogspot.com/feeds/2632639414285841600/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://yak32.blogspot.com/2009/11/new-video-for-igf.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/2632639414285841600'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/2632639414285841600'/><link rel='alternate' type='text/html' href='http://yak32.blogspot.com/2009/11/new-video-for-igf.html' title='New video for IGF'/><author><name>Yakov</name><uri>http://www.blogger.com/profile/12239884265114495349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7218693864280463112.post-784906769238317758</id><published>2009-11-01T12:18:00.000-08:00</published><updated>2009-11-01T12:19:33.884-08:00</updated><title type='text'>first screen from my new game - Little Zombie Susie!</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_LfYx03jjmdk/Su3tNXUZv-I/AAAAAAAAAuE/8Q2EyALLEZU/s1600-h/screen.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 250px;" src="http://2.bp.blogspot.com/_LfYx03jjmdk/Su3tNXUZv-I/AAAAAAAAAuE/8Q2EyALLEZU/s320/screen.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5399232342140764130" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7218693864280463112-784906769238317758?l=yak32.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yak32.blogspot.com/feeds/784906769238317758/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://yak32.blogspot.com/2009/11/first-screen-from-my-new-game-little.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/784906769238317758'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/784906769238317758'/><link rel='alternate' type='text/html' href='http://yak32.blogspot.com/2009/11/first-screen-from-my-new-game-little.html' title='first screen from my new game - Little Zombie Susie!'/><author><name>Yakov</name><uri>http://www.blogger.com/profile/12239884265114495349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_LfYx03jjmdk/Su3tNXUZv-I/AAAAAAAAAuE/8Q2EyALLEZU/s72-c/screen.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7218693864280463112.post-324512552894136189</id><published>2009-10-20T03:26:00.000-07:00</published><updated>2009-10-20T03:28:01.491-07:00</updated><title type='text'>Recast navigation plus Havok physics engine</title><content type='html'>Demonstration of the &lt;a href="http://code.google.com/p/recastnavigation/"&gt;Recast&lt;/a&gt; navigation plus Havok physics engine&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/WzFJMvE0L60&amp;amp;hl=en&amp;amp;fs=1&amp;amp;"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/WzFJMvE0L60&amp;amp;hl=en&amp;amp;fs=1&amp;amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7218693864280463112-324512552894136189?l=yak32.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yak32.blogspot.com/feeds/324512552894136189/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://yak32.blogspot.com/2009/10/recast-navigation-plus-havok-physics.html#comment-form' title='Комментарии: 2'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/324512552894136189'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/324512552894136189'/><link rel='alternate' type='text/html' href='http://yak32.blogspot.com/2009/10/recast-navigation-plus-havok-physics.html' title='Recast navigation plus Havok physics engine'/><author><name>Yakov</name><uri>http://www.blogger.com/profile/12239884265114495349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7218693864280463112.post-1521999526098750451</id><published>2009-10-16T06:19:00.000-07:00</published><updated>2009-10-16T06:23:15.623-07:00</updated><title type='text'>Explosions and weapon for zombie</title><content type='html'>Trying to finish demo for IGF competition (1st november)...&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/4GKm21eshm4&amp;hl=ru&amp;fs=1&amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/4GKm21eshm4&amp;hl=ru&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7218693864280463112-1521999526098750451?l=yak32.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yak32.blogspot.com/feeds/1521999526098750451/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://yak32.blogspot.com/2009/10/explosions-and-weapon-for-zombie.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/1521999526098750451'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/1521999526098750451'/><link rel='alternate' type='text/html' href='http://yak32.blogspot.com/2009/10/explosions-and-weapon-for-zombie.html' title='Explosions and weapon for zombie'/><author><name>Yakov</name><uri>http://www.blogger.com/profile/12239884265114495349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7218693864280463112.post-6915363140860687800</id><published>2009-09-02T18:16:00.000-07:00</published><updated>2009-09-02T18:28:16.071-07:00</updated><title type='text'>Winner!</title><content type='html'>&lt;div&gt;AAAAA! I am winner of Intel Level Up 2009!&lt;/div&gt;&lt;div&gt;First place in Best Game Optimized for Intel® Graphics&lt;/div&gt;&lt;div&gt;and second place in Best Threaded Game!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;and judges was most famous game developers and designers on the planet!&lt;/div&gt;&lt;div&gt;&lt;a href="http://software.intel.com/en-us/articles/levelup-judges/"&gt;http://software.intel.com/en-us/articles/levelup-judges/&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Thanks, Intel!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7218693864280463112-6915363140860687800?l=yak32.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yak32.blogspot.com/feeds/6915363140860687800/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://yak32.blogspot.com/2009/09/winner.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/6915363140860687800'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/6915363140860687800'/><link rel='alternate' type='text/html' href='http://yak32.blogspot.com/2009/09/winner.html' title='Winner!'/><author><name>Yakov</name><uri>http://www.blogger.com/profile/12239884265114495349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7218693864280463112.post-2949964976364367535</id><published>2009-08-20T02:10:00.000-07:00</published><updated>2009-09-02T21:32:26.341-07:00</updated><title type='text'></title><content type='html'>&lt;a href="http://haemoglobin-game.com/IknowYourDeedsSetup.msi"&gt;Here is&lt;/a&gt;  my current demo (~50 mb). &lt;div&gt;&lt;br /&gt;&lt;div&gt;It contains one level, more graphics than gameplay. I submitted &lt;/div&gt;&lt;div&gt;this demo for Intel Level Up 2009 competition. Try to find&lt;/div&gt;&lt;div&gt;cover before night, close doors, use boxes to build barricades.&lt;/div&gt;&lt;div&gt;Run "best threaded" shortcut for best graphics and "Intel graphics"&lt;br /&gt;&lt;/div&gt;&lt;div&gt;for integrated hardware.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I continue work on game, have found talented artist, implement &lt;/div&gt;&lt;div&gt;networking &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7218693864280463112-2949964976364367535?l=yak32.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yak32.blogspot.com/feeds/2949964976364367535/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://yak32.blogspot.com/2009/08/here-is-my-current-demo-50-mb.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/2949964976364367535'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/2949964976364367535'/><link rel='alternate' type='text/html' href='http://yak32.blogspot.com/2009/08/here-is-my-current-demo-50-mb.html' title=''/><author><name>Yakov</name><uri>http://www.blogger.com/profile/12239884265114495349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7218693864280463112.post-277826300883556555</id><published>2009-08-17T22:17:00.000-07:00</published><updated>2009-08-17T22:27:06.355-07:00</updated><title type='text'>Dynamic paths in Glow engine</title><content type='html'>Here is how I implemented dynamic paths in my engine.&lt;br /&gt;First of all I searched available path engines and&lt;br /&gt;didn't find any acceptable. Some costs money,&lt;br /&gt;some wasn't complete enough. Month ago I saw demonstation&lt;br /&gt;of "&lt;a href="http://code.google.com/p/recastnavigation/"&gt;Recast&lt;/a&gt;" library from &lt;a href="http://digestingduck.blogspot.com/"&gt;Mikko Mononen&lt;/a&gt;. Library generates&lt;div&gt;correct paths from triangle soup by voxelization. I was very&lt;/div&gt;&lt;div&gt;impressed, so I downloaded it and added support for dynamic&lt;/div&gt;&lt;div&gt;objects. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Video:&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/V9yTlJaXJSc&amp;amp;hl=ru&amp;amp;fs=1&amp;amp;"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/V9yTlJaXJSc&amp;amp;hl=ru&amp;amp;fs=1&amp;amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7218693864280463112-277826300883556555?l=yak32.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yak32.blogspot.com/feeds/277826300883556555/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://yak32.blogspot.com/2009/08/dynamic-paths-in-glow-engine.html#comment-form' title='Комментарии: 1'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/277826300883556555'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/277826300883556555'/><link rel='alternate' type='text/html' href='http://yak32.blogspot.com/2009/08/dynamic-paths-in-glow-engine.html' title='Dynamic paths in Glow engine'/><author><name>Yakov</name><uri>http://www.blogger.com/profile/12239884265114495349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7218693864280463112.post-1537567912110237676</id><published>2009-08-12T02:23:00.000-07:00</published><updated>2009-08-12T02:41:31.635-07:00</updated><title type='text'></title><content type='html'>I will upload tech videos from "I know your Deeds"&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This one about graphics. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;-&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/vhlBdYBUnqE&amp;hl=ru&amp;fs=1&amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/vhlBdYBUnqE&amp;hl=ru&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;div&gt;Grass, trees, deferred shading,&lt;/div&gt;&lt;div&gt;dynamic sky, clouds, 3 landscape materials with weight map.&lt;/div&gt;&lt;div&gt;Landscape modelled in Phoshop using clouds filter, altered by &lt;/div&gt;&lt;div&gt;hand for house placement. Grass drawn by grass density map,&lt;/div&gt;&lt;div&gt;one per landscape, trees places on landscape in photosop also.&lt;/div&gt;&lt;div&gt;There is special bitmap for foliage, if you draw, for example,&lt;/div&gt;&lt;div&gt;red point, there will be tree in level.  Shadows by shadow mapping,&lt;/div&gt;&lt;div&gt;not perspective.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7218693864280463112-1537567912110237676?l=yak32.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yak32.blogspot.com/feeds/1537567912110237676/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://yak32.blogspot.com/2009/08/i-will-upload-tech-videos-from-i-know.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/1537567912110237676'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/1537567912110237676'/><link rel='alternate' type='text/html' href='http://yak32.blogspot.com/2009/08/i-will-upload-tech-videos-from-i-know.html' title=''/><author><name>Yakov</name><uri>http://www.blogger.com/profile/12239884265114495349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7218693864280463112.post-7935793351777274444</id><published>2009-08-11T02:25:00.000-07:00</published><updated>2009-08-11T02:33:00.302-07:00</updated><title type='text'></title><content type='html'>Today I finished game demo for Intel Level Up 2009,&lt;div&gt;it costs me 3 nights without sleep. Somethings remain &lt;/div&gt;&lt;div&gt;non implemented, but overall picture is good.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I will prepare big video and demo later.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;here is small video about dynamic navigation meshes in&lt;/div&gt;&lt;div&gt;my engine &lt;/div&gt;&lt;div&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/Y4KM32uYOgY&amp;amp;hl=ru&amp;amp;fs=1&amp;amp;"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/Y4KM32uYOgY&amp;amp;hl=ru&amp;amp;fs=1&amp;amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;It's based on TileMesh, and fast. Building whole level (300x300) in separate thread in 5 seconds on single core PC, tile size 32.    Dont look to fps, this is deferred shading plus old PC  &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;here is how it works: &lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;render static mesh, memorize static mesh &lt;/li&gt;&lt;li&gt;render dynamic objects, memorize objects per tile &lt;/li&gt;&lt;li&gt;when object moved, add tile of old box of object to update list &lt;/li&gt;&lt;li&gt;if not moved object intersects with updated tile, it will be added to updating tile &lt;/li&gt;&lt;li&gt;render updated tiles with objects 6) connect tile into mesh (recast lib) &lt;/li&gt;&lt;/ul&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/7218693864280463112-7935793351777274444?l=yak32.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yak32.blogspot.com/feeds/7935793351777274444/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://yak32.blogspot.com/2009/08/today-i-finished-game-demo-for-intel.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/7935793351777274444'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/7935793351777274444'/><link rel='alternate' type='text/html' href='http://yak32.blogspot.com/2009/08/today-i-finished-game-demo-for-intel.html' title=''/><author><name>Yakov</name><uri>http://www.blogger.com/profile/12239884265114495349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7218693864280463112.post-5316116272558352680</id><published>2009-07-17T00:10:00.000-07:00</published><updated>2009-07-17T00:15:37.612-07:00</updated><title type='text'>My current game project</title><content type='html'>&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/OzsQBM02MEA&amp;amp;hl=ru&amp;amp;fs=1&amp;amp;"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/OzsQBM02MEA&amp;amp;hl=ru&amp;amp;fs=1&amp;amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: verdana; color: rgb(51, 51, 51); font-size: 11px; line-height: 16px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; "&gt;&lt;strong style="font-family: verdana, sans-serif; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;I know your deeds&lt;/strong&gt; challenges players to survive over the course of months and years, trapped in a city dominated by nightmarish zombies. While of course concerned with the ever-present threat these creatures represent, the player will face long-term concerns like obtaining sources of food and water, building shelter from attack, and the overall survival of the human race. &lt;br /&gt;&lt;strong style="font-family: verdana, sans-serif; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;Game Mechanics:&lt;/strong&gt; &lt;br /&gt;The player begins in a village environment. A full day and night will take place over the course of 20 minutes, the proportions of which will depend on the time of year (i.e. More of that twenty minutes is day in the summer, less in the winter). During the day, the player enjoys relative safety from zombie attacks (at least outdoors), and those encountered tend to be lethargic and confused. Days are typically spent scavenging for supplies and building materials, constructing barricades and traps, and investigating scripted plot points. &lt;br /&gt;&lt;strong style="font-family: verdana, sans-serif; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;Crafting &lt;/strong&gt;&lt;br /&gt;A crafting system exists in the game, in which players need to collect tools and materials to build and reinforce whatever position they've chosen as their base of operations. Stress is induced in the player as collecting these materials, building, and setting up the barricades and traps will take up more time than they have allocated in a given day, and the attacks that will occur all night wears down these defenses, requiring repairs the next day. &lt;br /&gt;&lt;strong style="font-family: verdana, sans-serif; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;Sleep &lt;br /&gt;&lt;/strong&gt;Sleep also takes a major position in the game. If the player refuses to sleep, they will begin falling asleep while performing tasks, and generally perform miserably. Sleeping during the day is safer, but sacrifices critical time that could be spent building and scavenging. Sleeping at night means you may be rudely (and suddenly) awakened by a zombie chewing on your throat. Additionally, nighttime sleep is less restful, due to the loud noises going on outside. Going to sleep on a daily basis thus becomes a thing of terror, rather than relaxation. &lt;br /&gt;&lt;strong style="font-family: verdana, sans-serif; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;Freeform&lt;/strong&gt; &lt;br /&gt;Unlike most survival horror games, there are very few scripted events in I know your deeds, beyond the seeding of background story information and certain key events which are linked to game timeline. The plot is developed by finding items which piece together a patchwork background story, eventually resulting in a method of destroying the zombies en masse. The player can ‘hole up' in any building they choose, and reinforce it as they can. Items and buildings are pseudo-randomly generated in a manner that makes each game unique, but also consistently playable and interesting. &lt;br /&gt;&lt;strong style="font-family: verdana, sans-serif; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;Difficulty curve&lt;/strong&gt; &lt;br /&gt;As time goes on, more and more of the framework of society begins to fail (for example, initially the electrical grid may still be working, but will eventually collapse), creating an increasingly difficult environment in which to survive, and forcing the player to continually be allocating time to deal with these situations, instead of ‘base building'. Additionally, as time goes on, the zombie threat becomes continually more intense and ferocious. &lt;br /&gt;&lt;strong style="font-family: verdana, sans-serif; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;End Game &lt;br /&gt;&lt;/strong&gt;The game ends when either the player can no longer handle the zombie threat and is overcome, or the player gathers the information and materials necessary to build a device which will end the zombie threat. &lt;br /&gt;Author of concept - Angus McQuarrie, concept used with permission.&lt;br /&gt;&lt;br /&gt;&lt;strong style="font-family: verdana, sans-serif; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;Engine:&lt;/strong&gt;&lt;br /&gt;The Glow engine delivers realistic environment, covers wide range of hardware (from cards without shaders to SM 3.0), uses multithreading, deffered shading, 3d sound, networking (up to 32 players), Havok physics. Full realtime day-night cycle. It has support for mobility - power indicator, messages about lo power.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_LfYx03jjmdk/SmAkyqsgW-I/AAAAAAAAAqg/vL0SwCX-g0Q/s1600-h/screen_main.JPG"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 231px;" src="http://1.bp.blogspot.com/_LfYx03jjmdk/SmAkyqsgW-I/AAAAAAAAAqg/vL0SwCX-g0Q/s320/screen_main.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5359324009443908578" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7218693864280463112-5316116272558352680?l=yak32.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yak32.blogspot.com/feeds/5316116272558352680/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://yak32.blogspot.com/2009/07/my-current-game-project.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/5316116272558352680'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/5316116272558352680'/><link rel='alternate' type='text/html' href='http://yak32.blogspot.com/2009/07/my-current-game-project.html' title='My current game project'/><author><name>Yakov</name><uri>http://www.blogger.com/profile/12239884265114495349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_LfYx03jjmdk/SmAkyqsgW-I/AAAAAAAAAqg/vL0SwCX-g0Q/s72-c/screen_main.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7218693864280463112.post-5555072308567622008</id><published>2008-10-09T21:32:00.001-07:00</published><updated>2008-10-09T21:32:29.345-07:00</updated><title type='text'>My blog</title><content type='html'>Здесь мой основной блог:&lt;br /&gt;http://yak32.livejournal.com&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7218693864280463112-5555072308567622008?l=yak32.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yak32.blogspot.com/feeds/5555072308567622008/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://yak32.blogspot.com/2008/10/my-blog.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/5555072308567622008'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/5555072308567622008'/><link rel='alternate' type='text/html' href='http://yak32.blogspot.com/2008/10/my-blog.html' title='My blog'/><author><name>Yakov</name><uri>http://www.blogger.com/profile/12239884265114495349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7218693864280463112.post-6932164602102061562</id><published>2007-11-03T21:01:00.000-07:00</published><updated>2007-11-03T21:02:25.068-07:00</updated><title type='text'>первопост</title><content type='html'>Хаииииии&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7218693864280463112-6932164602102061562?l=yak32.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yak32.blogspot.com/feeds/6932164602102061562/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://yak32.blogspot.com/2007/11/blog-post.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/6932164602102061562'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7218693864280463112/posts/default/6932164602102061562'/><link rel='alternate' type='text/html' href='http://yak32.blogspot.com/2007/11/blog-post.html' title='первопост'/><author><name>Yakov</name><uri>http://www.blogger.com/profile/12239884265114495349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
