tag:blogger.com,1999:blog-29122399411078494862024-02-07T17:35:54.864-08:00gamedusa blogProgramming, opengl, glsl, 3d, ambient occlusion, videogame, directx, openal, car racing game, lotto, hair simulationchelvishttp://www.blogger.com/profile/15313184110344661718noreply@blogger.comBlogger47125tag:blogger.com,1999:blog-2912239941107849486.post-17306438416785172212013-09-02T00:35:00.001-07:002013-09-02T00:36:40.416-07:00New website<div dir="ltr" style="text-align: left;" trbidi="on">
<br />Recently I've finished (almost) the redesgin of my ancient official website. Check it out at:
<a href="http://www.gamedusa.com">http://www.gamedusa.com</a>
Also, the blog was moved to: <a href="http://www.gamedusa.com/blog/">http://www.gamedusa.com/blog/</a>
I'm very proud with the new design. There you can find more information about cool developments if you want to hire a coder :D
</div>
chelvishttp://www.blogger.com/profile/15313184110344661718noreply@blogger.com2tag:blogger.com,1999:blog-2912239941107849486.post-49895611332078638342012-06-19T13:48:00.000-07:002013-09-02T00:32:03.758-07:00Host emulator<div dir="ltr" style="text-align: left;" trbidi="on">
This is the last program that I finished. The program basically, receive, sends and displays messages in linux. Can be configured in UDP and TCP modes. I used Ubuntu 12.04 for the development but the end aplication works into a Fedora Core 9.
Also uses GTK+ 2.0 and the development environment was of course: <a href="http://www.codelite.org/">http://www.codelite.org</a>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgb0T4zq6fl85q2H35iEOyZedhFYa2ZwP7-63ka3NXXaadxuwEj8k85AWbqF7D3JkyCwwwwfynaSDvcd0v-lsJdX6ltFfLSBC6BCrSnb8I1pbhab03rSc3VyJ6_0PqnjX6HJQR4J4CokgQ/s1600/host_emulator_blue_00-1024x575.jpg" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgb0T4zq6fl85q2H35iEOyZedhFYa2ZwP7-63ka3NXXaadxuwEj8k85AWbqF7D3JkyCwwwwfynaSDvcd0v-lsJdX6ltFfLSBC6BCrSnb8I1pbhab03rSc3VyJ6_0PqnjX6HJQR4J4CokgQ/s320/host_emulator_blue_00-1024x575.jpg" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAZHCaKsFCvUR0Kq_mJ-3DaYx5sNi8PESp2ftBknAw5S-mEtOfj8sT8N9mm20f2H7Txc3LPhEwyoFF9dw61k37VbTOHeFzlxlxhv7W2NGCvcsXIhw7EzrF1NfIDB-Jc1BYk7i9DD3oShs/s1600/host_emulator_blue_01-1024x575.jpg" imageanchor="1" ><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAZHCaKsFCvUR0Kq_mJ-3DaYx5sNi8PESp2ftBknAw5S-mEtOfj8sT8N9mm20f2H7Txc3LPhEwyoFF9dw61k37VbTOHeFzlxlxhv7W2NGCvcsXIhw7EzrF1NfIDB-Jc1BYk7i9DD3oShs/s320/host_emulator_blue_01-1024x575.jpg" /></a>
</div>chelvishttp://www.blogger.com/profile/15313184110344661718noreply@blogger.com16tag:blogger.com,1999:blog-2912239941107849486.post-54060722555643910062011-12-29T05:19:00.000-08:002012-06-19T13:53:56.126-07:00Terrain updates (II)<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj4JWtLgQOHGPkxKp6GwbhofuW1mo49NMgxiJVUHq18z9uFjz6i2jCOxKtLnkcTZma1WBelUND2pDxLLI03SIHsi7BBnYVRbFL1mSttJPFzCtVAPaPJjWJoAGXS7QNADjvJABk2hHygagY/s1600/atmosphere_29_12_2011.JPG"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj4JWtLgQOHGPkxKp6GwbhofuW1mo49NMgxiJVUHq18z9uFjz6i2jCOxKtLnkcTZma1WBelUND2pDxLLI03SIHsi7BBnYVRbFL1mSttJPFzCtVAPaPJjWJoAGXS7QNADjvJABk2hHygagY/s400/atmosphere_29_12_2011.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5691541476269334594" /></a><br />This is a new screenshot of my 3d planet simulation.<br /><br />There are a lot of improvements since the last blog update, but I'll try to explain it in the next blog entries...<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWYpustCFeR8fCa5YN0T_GydDJjzMwBBj0jjSkmSTl0c5E-nCkzBOzgpS72YlPtqL9QTlZZ3HgCVQ06JzzkMXgwCGEAZM0bETJF6s9w_3b5Fr7zBOqWclOnK7ugvEG1H_NeAUjuNg05T8/s1600/water_12_12_2011.JPG"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWYpustCFeR8fCa5YN0T_GydDJjzMwBBj0jjSkmSTl0c5E-nCkzBOzgpS72YlPtqL9QTlZZ3HgCVQ06JzzkMXgwCGEAZM0bETJF6s9w_3b5Fr7zBOqWclOnK7ugvEG1H_NeAUjuNg05T8/s400/water_12_12_2011.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5691539597713092626" /></a>chelvishttp://www.blogger.com/profile/15313184110344661718noreply@blogger.com53tag:blogger.com,1999:blog-2912239941107849486.post-17252900578264790472011-02-23T13:37:00.000-08:002013-02-05T05:50:21.577-08:00Terrain updatesAfter at least one year without any entry, finally I decided to post my evolution on terrain rendering.<br /><br />The planet has geometry and texture streaming of whole earth at 1km resolution (for now). And as a bonus, a little galaxy :D<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1hZbgzJ9LWta_7yTJPnGyIbSuxpP08fpBF4xOU6q0w5ELSZJDxUO7IdBXkliVvZxwr4kfcyKmtf005_WSA1p0Owsk4l7L6jyBQdWUlMOEi0n_8KGiHCJ3ejh47Ndc5R1sIPus26QnbOI/s1600/earth_scaterring_4.JPG"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 225px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1hZbgzJ9LWta_7yTJPnGyIbSuxpP08fpBF4xOU6q0w5ELSZJDxUO7IdBXkliVvZxwr4kfcyKmtf005_WSA1p0Owsk4l7L6jyBQdWUlMOEi0n_8KGiHCJ3ejh47Ndc5R1sIPus26QnbOI/s400/earth_scaterring_4.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5577003538175227058" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEx9SrEpwOYv74JZowvsr7ypkin4dlD4IKOGtejySwvhVFi1Fs7Vj1iwkTOJ0NJ1iQ9alT1Ouhxm3q7yyOVS9G2cs_fZpEYBkIQjZxZ1U88L1g8nVtW_Qy3MtrhUebcVSCYUUuH4i01cQ/s1600/earth_scaterring_3.JPG"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 225px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEx9SrEpwOYv74JZowvsr7ypkin4dlD4IKOGtejySwvhVFi1Fs7Vj1iwkTOJ0NJ1iQ9alT1Ouhxm3q7yyOVS9G2cs_fZpEYBkIQjZxZ1U88L1g8nVtW_Qy3MtrhUebcVSCYUUuH4i01cQ/s400/earth_scaterring_3.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5577003538514960514" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVoFxWkMJY4pXIwkfvOsxSnzC8J9srRwoyivKMGmeaR7xU2ltKWqgVd2E3fpft1fCQYF7N6KxTMHC6_UnM7I6BAq-jfQISpObrPFnXg4VCuaC3BgsIX4Mbr8uZcfZAprkIgdm7_nEG3jQ/s1600/earth_scaterring_2.JPG"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 225px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVoFxWkMJY4pXIwkfvOsxSnzC8J9srRwoyivKMGmeaR7xU2ltKWqgVd2E3fpft1fCQYF7N6KxTMHC6_UnM7I6BAq-jfQISpObrPFnXg4VCuaC3BgsIX4Mbr8uZcfZAprkIgdm7_nEG3jQ/s400/earth_scaterring_2.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5577003523828637794" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYVxTX4aeIy0GZC1N12LUANrozSPXCM1JfdvzCXP4vgk4Ccste7grJDtpXyDxnXYQcwoJhri5cDLLT4yn7TR1w4LsrivErzrK5NOmJb_tjqeumo4IJCF_4eRULIQV2QkKPiLlqJahoAjs/s1600/earth_10km.JPG"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 225px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYVxTX4aeIy0GZC1N12LUANrozSPXCM1JfdvzCXP4vgk4Ccste7grJDtpXyDxnXYQcwoJhri5cDLLT4yn7TR1w4LsrivErzrK5NOmJb_tjqeumo4IJCF_4eRULIQV2QkKPiLlqJahoAjs/s400/earth_10km.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5577003519067301554" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQP1R3szb3jeRUxHvBky3E9gFOLCtYeqdpfpaTjuSYIySxYCQectbHENfLoLrEco5_ilUE38PeAioP_1_9DojeXm3UvsEjD_9kSmTYbXYXrFytsOga70VsTVQ-4e-AiRAyuu2EOimJ8xo/s1600/ambient_aperture_4_12_2010.JPG"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 225px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQP1R3szb3jeRUxHvBky3E9gFOLCtYeqdpfpaTjuSYIySxYCQectbHENfLoLrEco5_ilUE38PeAioP_1_9DojeXm3UvsEjD_9kSmTYbXYXrFytsOga70VsTVQ-4e-AiRAyuu2EOimJ8xo/s400/ambient_aperture_4_12_2010.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5577003300250331506" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuG3PgFnmpaEkZhdCBQXugh4yBSjwlgvGOwnT6zzEaoAIqjghfuRxvmQG-92qVozyp3NeIpTjV8vFvnlY3yzy9IiNIgL-6PwBanNV7334i132aRn9s2d91SAX1xoFunlInY1ypDApQhhM/s1600/scattering_molon_25_5_2010.JPG"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 320px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuG3PgFnmpaEkZhdCBQXugh4yBSjwlgvGOwnT6zzEaoAIqjghfuRxvmQG-92qVozyp3NeIpTjV8vFvnlY3yzy9IiNIgL-6PwBanNV7334i132aRn9s2d91SAX1xoFunlInY1ypDApQhhM/s400/scattering_molon_25_5_2010.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5577003298005921506" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_H3hs85tQmqWsj2lvrffPjlrmM5h24b0y6DZOPUSHHRAomTLDb3Klwv1iE9TwixSM5Dw9sRpeprp8IgqlRrv7ORnxJWiMIgOVxkuAhs0UU-tJ8kkK5TUc4MHdKbglC1Lh_m__K8829bo/s1600/scattering_molon_23_5_2010.JPG"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 320px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_H3hs85tQmqWsj2lvrffPjlrmM5h24b0y6DZOPUSHHRAomTLDb3Klwv1iE9TwixSM5Dw9sRpeprp8IgqlRrv7ORnxJWiMIgOVxkuAhs0UU-tJ8kkK5TUc4MHdKbglC1Lh_m__K8829bo/s400/scattering_molon_23_5_2010.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5577003294430905602" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0zYvi3OCNTAwqAAOb7YTOKeaR3IqpUPfphs37ntI7AVMdWpqyL1-6O4mYnFmzwqi8CeJj6pDxcvzT7uCxVm_jb__UoHHQQm47HkzwILyAySLWhIbP9d6JO95NJoWNIJR4gdPUa7XVhgQ/s1600/scattering_molon_24_5_2010.JPG"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 320px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0zYvi3OCNTAwqAAOb7YTOKeaR3IqpUPfphs37ntI7AVMdWpqyL1-6O4mYnFmzwqi8CeJj6pDxcvzT7uCxVm_jb__UoHHQQm47HkzwILyAySLWhIbP9d6JO95NJoWNIJR4gdPUa7XVhgQ/s400/scattering_molon_24_5_2010.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5577003287326750626" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhldfm5gz2mzV_3yOvvNYeFqlIekmp3KTDHg7iMspN91wRoOREvrutwCTeqFqfvxHSrhRl6k22d8lMVbXehsBGdT8b0R-m9PMcosDUQdEF4PhoYZoj9xRY5KjxeCgG1HQUHY-TLfERdHFk/s1600/scattering_molon_20_5_2010.JPG"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 320px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhldfm5gz2mzV_3yOvvNYeFqlIekmp3KTDHg7iMspN91wRoOREvrutwCTeqFqfvxHSrhRl6k22d8lMVbXehsBGdT8b0R-m9PMcosDUQdEF4PhoYZoj9xRY5KjxeCgG1HQUHY-TLfERdHFk/s400/scattering_molon_20_5_2010.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5577003284250627666" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjfRAqXVX-etgyZMKw7LrE1TVngTJYRoKIlhCo4mJL4TjlvOBs1G28drldAXRvVXsyaspBZEaJEmeT7FKJsHeP-KtldOZWxLGDhqwP4sHDMQTi7WzH5Bz9FhLWmWsExA0a06ZZEheme2wc/s1600/scattering_molon_19_5_2010.JPG"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 320px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjfRAqXVX-etgyZMKw7LrE1TVngTJYRoKIlhCo4mJL4TjlvOBs1G28drldAXRvVXsyaspBZEaJEmeT7FKJsHeP-KtldOZWxLGDhqwP4sHDMQTi7WzH5Bz9FhLWmWsExA0a06ZZEheme2wc/s400/scattering_molon_19_5_2010.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5577002863743332162" /></a>chelvishttp://www.blogger.com/profile/15313184110344661718noreply@blogger.com49tag:blogger.com,1999:blog-2912239941107849486.post-80284597356656634762010-03-29T17:42:00.000-07:002012-06-19T13:55:47.556-07:00Pack normal and height data in one float textureWow, hard coding night. But in the end I can code two routines that allows me to store normal mapping data and terrain height in one float texture. Remember that in order to perform vertex texture fetch in the vertex shader we need to access to the topology with one float texture.<br /><br />I coded this in C++ but it's easy portable to GLSL or HLSL.<br /><br />In this example I store only 2 normal components: X and Y in range 0 to 255. Remember that you must extract third component as follows: sqrt( 1.0 - nx*nx + ny*ny );<br /><br />Heightmap has custom precision values, due big imprecision of floating point conversion. With 11 bits of precision we can store heights from 0 to 2043. This happened because we loose 4 numbers with this precision. The formula is:<br /><br />unsigned char hPrecisionBits = 11; // (1<<11) = 2048<br />unsigned char expectedError = 1 << (hPrecisionBits - 9); // 4<br />unsigned short maxHeight = (1 << hPrecisionBits) - expectedError; // 2044<br /><code><br />//! Gives fractional number<br />inline float frac( float _value ) {<br /> return _value - floorf( _value );<br />}<br /><br />// NX | NY | HEIGHT -> float32<br />// 8 | 8 | 16<br />inline float packNormalAndHeight( unsigned char _nx, unsigned char _ny, unsigned short _height, char _hPrecisionBits )<br />{<br /> return <br /> (_nx / 256.0) + <br /> ((_ny / 256.0) / 256.0) + <br /> (_height / ((float)(1<<_hPrecisionBits)) / 65536.0);<br />}<br /><br />// float32 -> NX | NY | HEIGHT <br />// 8 | 8 | 16<br />inline void unpackNormalAndHeight( float _value, char _hPrecisionBits, float* nx_, float* ny_, float* height_ )<br />{<br /> *nx_ = floorf( frac( _value ) * 256.0 );<br /> *ny_ = floorf( frac( _value * 256.0 ) * 256.0 );<br /> *height_ = frac( _value * 65536.0 ) * ((float)(1<<_hPrecisionBits));<br />}<br /></code><br /><br />Usage example:<br /><br />unsigned char hPrecisionBits = 11; // (1<<11) = 2048<br />unsigned char expectedError = 1 << (hPrecisionBits - 9); // 4<br />unsigned short maxHeight = (1 << hPrecisionBits) - expectedError; // 2044<br /><br />// Pack as 8 | 8 | 16<br />float packedValue = packNormalAndHeight( 231, 137, 2043, hPrecisionBits );<br /><br />// Unpack from single float<br />float x,y,h;<br />unpackNormalAndHeight( packedValue, hPrecisionBits, &x, &y, &h );<br /><br />Notice that 'expectedError' brings us the amount of error values returned in height function. For example, if our precision bits are 9, expected error will be 1 (135 when we store 136 number). For 10, error will be 2, for 11, will be 4, for 12 will be 8, etc...<br /><br />I hope it will be useful.chelvishttp://www.blogger.com/profile/15313184110344661718noreply@blogger.com5tag:blogger.com,1999:blog-2912239941107849486.post-41836821135275029462010-01-06T06:22:00.000-08:002010-01-06T06:24:03.165-08:00A message to the world<object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/25L8wHcsW1s&hl=en_US&fs=1&"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/25L8wHcsW1s&hl=en_US&fs=1&" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object><br /><br />...or when the human beings became adults.chelvishttp://www.blogger.com/profile/15313184110344661718noreply@blogger.com4tag:blogger.com,1999:blog-2912239941107849486.post-59409167105873621402009-12-05T08:04:00.000-08:002009-12-05T08:13:17.341-08:00Codelite<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgWjc9c-06IcMyq0HSnBtjgA66x3SsovF58k6b16qzsdtcgejlj4Ubsz6qYX8K28wYstrhVVrA5KmGI3fNnkZ2HlFfFPJdhYudrR9snM215cGB4mftHLizhkObJP0F098_i-peo2Jl3K7w/s1600-h/editor_general.png"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 350px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgWjc9c-06IcMyq0HSnBtjgA66x3SsovF58k6b16qzsdtcgejlj4Ubsz6qYX8K28wYstrhVVrA5KmGI3fNnkZ2HlFfFPJdhYudrR9snM215cGB4mftHLizhkObJP0F098_i-peo2Jl3K7w/s400/editor_general.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5411784485149898514" /></a><br />Surfing through the xubuntu repository I found this new fantastic c++ multiplatform ide:<br />In Windows it uses gcc 4.4 and has an integrated Subversion plugin!!!<br /><a href="http://www.codelite.org/">http://www.codelite.org/</a><br /><br />Currently I'm trying it with my home projects. OhYesYesYesYeschelvishttp://www.blogger.com/profile/15313184110344661718noreply@blogger.com1tag:blogger.com,1999:blog-2912239941107849486.post-10997343847882343072009-10-13T09:55:00.000-07:002009-10-13T09:59:46.721-07:00Campanas por la gripe AUna de vacunas:<br /><br />TERESA FORCADES, doctora en Salut Pública, hace una reflexión sobre la historia de la GRIPE A, aportando datos científicos, y enumerando las irregularidades relacionadas con el tema.<br /><br /><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/kqOM1nTgilU&hl=es&fs=1&"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/kqOM1nTgilU&hl=es&fs=1&" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object><br /><br />Explica las consecuencias de la declaracion de PANDEMIA, las implicaciones políticas que de ello se derivan y hace una propuesta para mantener la calma, así como un llamamiento urgente para activar los mecanismos legales y de participación ciudadana en relación a este tema.chelvishttp://www.blogger.com/profile/15313184110344661718noreply@blogger.com57tag:blogger.com,1999:blog-2912239941107849486.post-83660468859322410082009-09-18T04:51:00.000-07:002009-09-18T04:57:26.371-07:00Lucera Project"Lucera Project is a small videogame company that wants to realize some basic libraries to help other ‘indie’ programmers to make games easily. Performing all difficult and cumbersome stuff to allow developers to implement their games without worrying about details like load sounds and textures, render on screen, capture inputs, and so on.<br /><br />In addition, Lucera Project libraries are cross platform and can compile the same code for different platforms such as Windows or iPhoneOS.<br /><br />We hope to help many people to achieve their dreams of creating video games."<br /><br />Blog:<br /><a href="http://lucera-project.blogspot.com/">http://lucera-project.blogspot.com/</a><br /><br />2D engine:<br /><a href="http://mindshake-lucera.blogspot.com/">http://mindshake-lucera.blogspot.com/</a><br /><br />Sound engine:<br /><a href="http://brainwave-lucera.blogspot.com/">http://brainwave-lucera.blogspot.com/</a><br /><br />Good luck!chelvishttp://www.blogger.com/profile/15313184110344661718noreply@blogger.com3tag:blogger.com,1999:blog-2912239941107849486.post-450924029763822742009-09-12T06:12:00.000-07:002009-09-12T06:16:16.840-07:00Indian Hopi messageRoy LittleSun's message:<br /><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/wT-Rt3P7-kY&hl=es&fs=1&"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/wT-Rt3P7-kY&hl=es&fs=1&" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object>chelvishttp://www.blogger.com/profile/15313184110344661718noreply@blogger.com14tag:blogger.com,1999:blog-2912239941107849486.post-75595926594879273942009-08-29T03:05:00.000-07:002013-02-05T05:54:48.459-08:00ShaderX7 contributionFinally, my article doesn't appears in the ShaderX7 book :(<br />But, hey! I appear inside as contributor. My fifteen minutes of fame :D<br /> <br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj85EwsnlCIhjdQB8yZDe-P1kHSLOd9FfY0JS1guosDcQIneh4zE8xU0XLYGIFtiOLE5iEdMDxHJncyrvA8OcN0dLkjf0k6XB2yD7RbabA6qO7J-5ArLO4FaQeZ62ztZaTLh3fT4jwRhIA/s1600-h/shaderX7_back.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 300px; height: 400px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj85EwsnlCIhjdQB8yZDe-P1kHSLOd9FfY0JS1guosDcQIneh4zE8xU0XLYGIFtiOLE5iEdMDxHJncyrvA8OcN0dLkjf0k6XB2yD7RbabA6qO7J-5ArLO4FaQeZ62ztZaTLh3fT4jwRhIA/s400/shaderX7_back.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5375325393574742466" /></a><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjG7LUhQcWlWP4z6bqrOasiyNGfltLHqTvzMrfzvV_rcKBAwUfThvLRvVkYeLioCbSYQy6mKu3hgh_S5TWuiePaCyv4txwxedVmlLdSnDy9cp3bZOXtiOetM67foYy02dVnfvSntVD6dqU/s1600-h/shaderX7_contributors00.JPG"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjG7LUhQcWlWP4z6bqrOasiyNGfltLHqTvzMrfzvV_rcKBAwUfThvLRvVkYeLioCbSYQy6mKu3hgh_S5TWuiePaCyv4txwxedVmlLdSnDy9cp3bZOXtiOetM67foYy02dVnfvSntVD6dqU/s400/shaderX7_contributors00.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5375326308933577298" /></a><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiePzlCSH3d21xhV2sG04mPK7SOkT5UMLe09S39wcEO6J-Gt6Ul1gj8kp4Oi4FZ7GgY8PE_6WnR7miAhVF-IMqKCzLXa_L1-I-7vzDprGDYMDM5g7d1EISTMjaenxhfe7yNZIWBQ4LGJnU/s1600-h/shaderX7_contributors01.JPG"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiePzlCSH3d21xhV2sG04mPK7SOkT5UMLe09S39wcEO6J-Gt6Ul1gj8kp4Oi4FZ7GgY8PE_6WnR7miAhVF-IMqKCzLXa_L1-I-7vzDprGDYMDM5g7d1EISTMjaenxhfe7yNZIWBQ4LGJnU/s400/shaderX7_contributors01.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5375327603973059682" /></a>chelvishttp://www.blogger.com/profile/15313184110344661718noreply@blogger.com2tag:blogger.com,1999:blog-2912239941107849486.post-51946177722749388712009-08-13T07:20:00.000-07:002009-08-13T07:29:16.331-07:00Light shafts<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhB0tBbFQ98Fr2aW-jB_Tddd5rEYmrVD0Z_yJi3Oi0GeOenYvqfdlND5Pc-h44At7es-UoaWUbNDFlHaxHd8Oks3lU8CtYcB9COA4yEkC6iQUr8hfmzFYRZbzL_ni9k-sLkcUNIx2SdVHw/s1600-h/ohsisisisi.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 320px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhB0tBbFQ98Fr2aW-jB_Tddd5rEYmrVD0Z_yJi3Oi0GeOenYvqfdlND5Pc-h44At7es-UoaWUbNDFlHaxHd8Oks3lU8CtYcB9COA4yEkC6iQUr8hfmzFYRZbzL_ni9k-sLkcUNIx2SdVHw/s400/ohsisisisi.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5369453306477517602" /></a><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDOFjf4WiJ-CzLN7HJezMl7bN1wdKJUiATKL1bDCaXHViSyCLRd0yPw24PehhQXT1xd5JCX3Ik1TOWo2yDiTkxSpN5kpEW7FiRTZ1MV2hQwUlP1SKM9yyzRbR-62Z2_RflY3IPaE9pijM/s1600-h/ohsisisisi2.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 320px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDOFjf4WiJ-CzLN7HJezMl7bN1wdKJUiATKL1bDCaXHViSyCLRd0yPw24PehhQXT1xd5JCX3Ik1TOWo2yDiTkxSpN5kpEW7FiRTZ1MV2hQwUlP1SKM9yyzRbR-62Z2_RflY3IPaE9pijM/s400/ohsisisisi2.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5369453391595963042" /></a><br /><br />In my holidays I'm trying new techniques for my terrain engine. Unfortunately, in my screen space terrain implementations, the well-known artifact of "vertex swimming" appears and it's very noticiable :|<br /><br />I think that I can reuse the technique in order to code a cool screen space water effect in the near future.<br /><br />For now, I'd been added the "Game Programming Gems 6" terrain technique (very simple, pretty fast, and without any pre-calculation), light shafts (but the effect needs a radial blur), and particle billboards for cloud rendering.chelvishttp://www.blogger.com/profile/15313184110344661718noreply@blogger.com2tag:blogger.com,1999:blog-2912239941107849486.post-85227912363486336942009-06-26T05:58:00.000-07:002009-06-26T06:00:14.915-07:00Goodbye :(<embed id="VideoPlayback" src="http://video.google.es/googleplayer.swf?docid=-4484012567788087359&hl=es&fs=true" style="width:400px;height:326px" allowFullScreen="true" allowScriptAccess="always" type="application/x-shockwave-flash"> </embed>chelvishttp://www.blogger.com/profile/15313184110344661718noreply@blogger.com0tag:blogger.com,1999:blog-2912239941107849486.post-59652515969436789852009-03-05T17:27:00.000-08:002009-03-05T17:28:02.389-08:00Busyyyyy:|chelvishttp://www.blogger.com/profile/15313184110344661718noreply@blogger.com2tag:blogger.com,1999:blog-2912239941107849486.post-58407232091332212592008-11-22T05:26:00.000-08:002008-11-22T05:33:57.645-08:00Screen space terrainLastest days I've been busy coding a demo of a "screen space terrain". There isn't geometry here, only heightmaps. A grid is projected over a plane by a projector camera (in red). At now I'm trying to fix vertex interpolation and making a more better projector. Frame rate is constant because the projected grid has the same size along the scene.<br />When I finish it, I'll upload a demo with full source code.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicYlz7-hjuhWVO9XSIm_zoZzWfrPGOXwDorJC73Pkm_h0WsqH5nayywy8XSm7mg-gZvQ9jq15uzFUGAxY3DyaAhgQ8urjNU16FCR3RHAfcl5aajAY9qJF-Y1wZfWACp6NkgI1IuiAuFDk/s1600-h/screen_space_terrain_00.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicYlz7-hjuhWVO9XSIm_zoZzWfrPGOXwDorJC73Pkm_h0WsqH5nayywy8XSm7mg-gZvQ9jq15uzFUGAxY3DyaAhgQ8urjNU16FCR3RHAfcl5aajAY9qJF-Y1wZfWACp6NkgI1IuiAuFDk/s400/screen_space_terrain_00.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5271472933326123602" /></a><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwPNcDN8cZuhyphenhyphenfqB1L0ncL1Y8UKfz0OEZTLm2dSmosNUzW32WcEhjoMNyj0l3V5CAOs3njaKG8yAkc1qnh_uPAXxAp_LfHPt8kHIIh5IZu43cCCqGa84IFdNgGD8-WDVaXEJPXYHwvOJI/s1600-h/screen_space_terrain_01.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwPNcDN8cZuhyphenhyphenfqB1L0ncL1Y8UKfz0OEZTLm2dSmosNUzW32WcEhjoMNyj0l3V5CAOs3njaKG8yAkc1qnh_uPAXxAp_LfHPt8kHIIh5IZu43cCCqGa84IFdNgGD8-WDVaXEJPXYHwvOJI/s400/screen_space_terrain_01.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5271473069780855522" /></a>chelvishttp://www.blogger.com/profile/15313184110344661718noreply@blogger.com4tag:blogger.com,1999:blog-2912239941107849486.post-61744638427000589662008-11-03T00:28:00.000-08:002008-11-03T00:42:32.037-08:00How to configure SMC EZ-Connect usb wifi stick into Ubuntu<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEikZSfaA6wdkyUsdPusHFPewutikn-itxjhyo8bzJsuWyiGgl8c4piq7qiTL1uSE5SsPBB5l25sWinVIBlNfFpvymqVDwAGoYAlNwBsCNqZxxHgm_EpMwaoxnjgv7syDNSc0kgindVagLY/s1600-h/USB+Wifi+AppInformatica.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 275px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEikZSfaA6wdkyUsdPusHFPewutikn-itxjhyo8bzJsuWyiGgl8c4piq7qiTL1uSE5SsPBB5l25sWinVIBlNfFpvymqVDwAGoYAlNwBsCNqZxxHgm_EpMwaoxnjgv7syDNSc0kgindVagLY/s400/USB+Wifi+AppInformatica.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5264345655627982754" /></a><br /><br />My current distro is xubuntu 8.10, but it could be apply to<br /> an older xubuntu 8.04, kubuntu, and ubuntu distributions:<br /><br /> 1. Install ubuntu<br /> 2. Install ndiswrapper from cd instalation folder. Click over this two files: <br /> "/pool/main/n/ndiswrapper-common_1.50-1ubuntu1_all.deb" and <br /> "/pool/main/n/ndiswrapper-utils-1.9_1.50-1ubuntu1_amd64.deb"<br /> 3. Copy your ".inf" file from SMC driver CD to a local folder.<br /> 4. Type this into console (changing your name and driver name, of course):<br /> ndiswrapper -i /home/user_name/xxxxx.inf<br /> ndiswrapper -mi<br /> 5. NOTE: You could be use ndisgtk also, and remember that if your ubuntu<br /> runs at 64bit you need the 64 bit driver (xp64 for example).<br /> 6. Type sudo gedit /etc/network/interfaces<br /> 7. Copy and paste this into file:<br /> auto lo<br /> iface lo inet loopback<br /><br /> auto wlan0<br /> iface wlan0 inet dhcp<br /> pre-up ifconfig wlan0 up<br /> pre-up iwconfig wlan0 essid WLAN_20<br /> pre-up iwconfig wlan0 key s:'C1131DA6BFB21'<br /><br /> 8. NOTE: Change 'WLAN_20' to your wireless name and 'C1131DA6BFB21' to your WEP password.<br /> 9. Save file changes and reboot<br /> 10. Open firefox and type www.google.com :)chelvishttp://www.blogger.com/profile/15313184110344661718noreply@blogger.com23tag:blogger.com,1999:blog-2912239941107849486.post-64198498517213963812008-10-24T13:23:00.000-07:002009-02-03T09:27:17.796-08:003DisplayForumThis month I've been busy by preparing my conference for the first <a href="http://www.3displayforum.org">3DisplayForum</a>. In the website you'll can download the conferences of the other partners soon.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJD6Y39d25xEawcfDKXTN_z4KR9jyJYhh2Dtp6SvdSx9YRbXNP2pJnQO4XmTfOYbLoRIDJjNfDGZxK04jw1Crvh3U1LyuygUCcKLXqaG1VjW17puTRF1x2iIgZqlwg92_fc-A0JFKBmPA/s1600-h/chelvis_conference.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJD6Y39d25xEawcfDKXTN_z4KR9jyJYhh2Dtp6SvdSx9YRbXNP2pJnQO4XmTfOYbLoRIDJjNfDGZxK04jw1Crvh3U1LyuygUCcKLXqaG1VjW17puTRF1x2iIgZqlwg92_fc-A0JFKBmPA/s400/chelvis_conference.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5260824034049324818" /></a><br />Hey, that's me :D<br /><br />My conference was titled "Photo-realistic illumination in real-time" and you can download the PDF of the conference <a href="http://www.gamedusa.com/dev/private/myself/presentacion_elvis_03.pdf">here</a> (sorry, at now only in spanish).<br /><br />This year was showed in Madrid, I hope that if you live in Spain you can <br />attend next year if you're interested.chelvishttp://www.blogger.com/profile/15313184110344661718noreply@blogger.com4tag:blogger.com,1999:blog-2912239941107849486.post-45772765426737408912008-10-05T12:37:00.000-07:002008-10-05T12:45:07.207-07:0010.000 visitsHey, 10.000 visits, but seriously: I'm not worthy.<br />Anyway, a lot of thanks ^^chelvishttp://www.blogger.com/profile/15313184110344661718noreply@blogger.com0tag:blogger.com,1999:blog-2912239941107849486.post-23632066615488295062008-09-02T13:21:00.000-07:002008-09-02T13:25:03.693-07:00Google ChromeI've been download google chrome and all that I can say is that it's the fastest web-browser I ever seen. Newer times, newer browser. Wow, but we want the Linux and Mac version too :Dchelvishttp://www.blogger.com/profile/15313184110344661718noreply@blogger.com1tag:blogger.com,1999:blog-2912239941107849486.post-63276904325982083732008-08-12T16:58:00.000-07:002008-08-12T17:12:03.571-07:00OpenGL 3.0Unlike other coders I'm very glad with the new openGL specification, because I hate strong object-oriented design in a low level API. Until now I design my 3d engines using this design paradigm but with the use in some games I learned that the most useful code was the oldest openGL design that avoids classes and pointers (at least at the highest level). With this in mind I built a lite 3d framework that uses index instead pointers ala openGL.<br /><br />I'm sure that people that has been used the two APIs can remember entire openGL sintax because it uses the same subset for all commands.<br /><br />I believe that Khronos group follows a smart movement by avoiding API re-design every 2 years like directX does when new GPU features arrives.chelvishttp://www.blogger.com/profile/15313184110344661718noreply@blogger.com3tag:blogger.com,1999:blog-2912239941107849486.post-71193863919241731902008-08-12T14:14:00.000-07:002008-08-12T14:21:21.629-07:00Source codeUntil now, I haven't release any code examples because my huge 3d engine size, but in order to write the article for ShaderX7 book I wrote a lite openGL framework and I want to share which they are interested in the near future. In all forms and by contract issues I cannot share things that I'll use in my actual company. But when I wrote any interesting stuff I'll try to share it.<br /><br />Thanks for reading ^^chelvishttp://www.blogger.com/profile/15313184110344661718noreply@blogger.com2tag:blogger.com,1999:blog-2912239941107849486.post-87600791142521997632008-08-12T13:26:00.000-07:002008-08-12T13:58:18.638-07:00Chunked lod tests<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjR0jK9qdYVDZOmCVvp6LmYiiRSoi-JrYdwTu0s3WvB3lz37FsmjKSSEiBrWAK-jVM0uoreomIo-Zg0hKduHkOTCsEEx42rLWU6z4VHbbLC_cgEH5oOaU98gIMXuZqma_FcMMgOr4qjFBQ/s1600-h/clod.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjR0jK9qdYVDZOmCVvp6LmYiiRSoi-JrYdwTu0s3WvB3lz37FsmjKSSEiBrWAK-jVM0uoreomIo-Zg0hKduHkOTCsEEx42rLWU6z4VHbbLC_cgEH5oOaU98gIMXuZqma_FcMMgOr4qjFBQ/s400/clod.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5233738150090210994" /></a><br />A lot of time without any post, bad, bad, bad.<br />I've been busy writing the demo for shaderX7 article, thanks to <a href="http://www.etherbrain.com">Nico</a> for the 3d mesh for the demo ^^.<br /><br />Well, I've been testing some terrain implementations: SOARX, Clipmapping but the winner by far is the chunked lod algorithm.<br /><br /><a href="http://tulrich.com/geekstuff/chunklod.html">http://tulrich.com/geekstuff/chunklod.html</a><br /><br />The image above is how the technique appears in my engine.chelvishttp://www.blogger.com/profile/15313184110344661718noreply@blogger.com5tag:blogger.com,1999:blog-2912239941107849486.post-23559128504708465952008-06-29T12:45:00.000-07:002008-06-29T14:20:51.801-07:00My own planet (III)I just been uploaded a video of the planet:<br /><br /><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/OXoPofy7WNI&hl=en"></param><embed src="http://www.youtube.com/v/OXoPofy7WNI&hl=en" type="application/x-shockwave-flash" width="425" height="344"></embed></object><br /><br />The unique improvement is the presence of normal mapping.chelvishttp://www.blogger.com/profile/15313184110344661718noreply@blogger.com3tag:blogger.com,1999:blog-2912239941107849486.post-73266423160866942182008-06-28T14:21:00.000-07:002008-06-28T14:29:08.051-07:00ShaderX7Finally, I wrote an article called "Screen-space approximate local irradiance" for ShaderX7 book that will be released in lastest days of December 2008. yiiiiihaaaa!!! :p<br /><br />On July I'll try to finish the demo with full source code that will be included in the cd-rom.<br /><br />For this hot summer: A lot of work, a lot of work!!!!!!!chelvishttp://www.blogger.com/profile/15313184110344661718noreply@blogger.com6tag:blogger.com,1999:blog-2912239941107849486.post-77707584579515629212008-06-22T04:40:00.000-07:002008-12-08T21:59:26.640-08:00My own planet (II)<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFfepumKmf5TUjPtfB_1hsiJjc_VmzTY1mmUJGcNTB0n4u9wNuuTHWBq-tA3Mv9cSBNy0zcIib-gFQeZ2TnGMtfeh7ZCh2ciREYmXc2cHjpFXFMJWR6uokB_kOsxun8V2h3AV0xNeKmHg/s1600-h/spain_from_space.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFfepumKmf5TUjPtfB_1hsiJjc_VmzTY1mmUJGcNTB0n4u9wNuuTHWBq-tA3Mv9cSBNy0zcIib-gFQeZ2TnGMtfeh7ZCh2ciREYmXc2cHjpFXFMJWR6uokB_kOsxun8V2h3AV0xNeKmHg/s400/spain_from_space.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5214669784044968530" /></a><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVRXy-4awXFJnCRxHYGI6oa3qdV7ckA68PqdgwY5XV_yKhAq96lESGipZlYz5-I66FROROVqxaJsLstEat4ROXE-qpWIF69RfkMykp6ftShyphenhyphenm7l6NkvZzFdKhATRtqzINAtc7KZ66WSZg/s1600-h/near_blending.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVRXy-4awXFJnCRxHYGI6oa3qdV7ckA68PqdgwY5XV_yKhAq96lESGipZlYz5-I66FROROVqxaJsLstEat4ROXE-qpWIF69RfkMykp6ftShyphenhyphenm7l6NkvZzFdKhATRtqzINAtc7KZ66WSZg/s400/near_blending.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5214670005559742418" /></a><br /><br />New improvements has been added to my 3d planet (that suspiciously, looks-like to our earth :p).<br /><br />* Added cloud layer. It completes one full round each 30 minutes.<br />* Data (frontier, coast lines, etc) near blending when the camera is near to the planet.<br />* Stars texture map for not to feel alone in the universe.<br />* Earth lights map for night texture with automatic blending.<br />* Ground scattering.chelvishttp://www.blogger.com/profile/15313184110344661718noreply@blogger.com3