﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>IT博客-平民程序 - linghuye's blog</title><link>http://www.cnitblog.com/linghuye/</link><description>&lt;p align=right style="background-color: transparent"&gt;天下风云出我辈，一入江湖岁月催。皇图霸业谈笑中，不胜人生一场醉。提剑跨骑挥鬼雨，白骨如山鸟惊飞。尘事如潮人如水，只笑江湖几人回。&lt;p align=right style="background-color: transparent;"&gt;&lt;/p&gt;</description><language>zh-cn</language><lastBuildDate>Tue, 09 Feb 2010 11:32:20 GMT</lastBuildDate><pubDate>Tue, 09 Feb 2010 11:32:20 GMT</pubDate><ttl>60</ttl><item><title>Office2007安装失败一种</title><link>http://www.cnitblog.com/linghuye/archive/2010/01/10/63651.html</link><dc:creator>linghuye</dc:creator><author>linghuye</author><pubDate>Sun, 10 Jan 2010 08:49:00 GMT</pubDate><guid>http://www.cnitblog.com/linghuye/archive/2010/01/10/63651.html</guid><wfw:comment>http://www.cnitblog.com/linghuye/comments/63651.html</wfw:comment><comments>http://www.cnitblog.com/linghuye/archive/2010/01/10/63651.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/linghuye/comments/commentRss/63651.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/linghuye/services/trackbacks/63651.html</trackback:ping><description><![CDATA[<font face="Arial" size="2">症状: 重装Office2007,安装条在滚动到一半左右的时候,报错&#8220;错误25004。Per-user install not supported.&#8221;<br>搜索网络后解决,方法为,</font><font size="2">打开注册表编辑器找到<br>
HKEY_LOCAL_MACHINE\Software\Classes\Installer\Products\，删除所有000021打头的键值。<br>
这些地方记录的是Office2007的安装源路径，卸载不干净会导致下次安装过程中出错.<br>
</font><font face="Arial" size="2"> </font> <img src ="http://www.cnitblog.com/linghuye/aggbug/63651.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/linghuye/" target="_blank">linghuye</a> 2010-01-10 16:49 <a href="http://www.cnitblog.com/linghuye/archive/2010/01/10/63651.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>DX10残留的固定流水线的渲染状态备忘</title><link>http://www.cnitblog.com/linghuye/archive/2009/11/29/62901.html</link><dc:creator>linghuye</dc:creator><author>linghuye</author><pubDate>Sun, 29 Nov 2009 15:16:00 GMT</pubDate><guid>http://www.cnitblog.com/linghuye/archive/2009/11/29/62901.html</guid><wfw:comment>http://www.cnitblog.com/linghuye/comments/62901.html</wfw:comment><comments>http://www.cnitblog.com/linghuye/archive/2009/11/29/62901.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/linghuye/comments/commentRss/62901.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/linghuye/services/trackbacks/62901.html</trackback:ping><description><![CDATA[D3D10_BLEND_DESC -&gt; CreateBlendState -&gt; ID3D10BlendState<br>D3D10_DEPTH_STENCIL_DESC -&gt; CreateDepthStencilState-&gt; ID3D10DepthStencilState<br>D3D10_RASTERIZER_DESC -&gt; CreateRasterizerState -&gt; ID3D10RasterizerState<br><br>struct D3D10_BLEND_DESC <br>{<br>&nbsp;&nbsp;&nbsp; BOOL AlphaToCoverageEnable;<br>&nbsp;&nbsp;&nbsp; BOOL BlendEnable[8];<br>&nbsp;&nbsp;&nbsp; D3D10_BLEND SrcBlend;<br>&nbsp;&nbsp;&nbsp; D3D10_BLEND DestBlend;<br>&nbsp;&nbsp;&nbsp; D3D10_BLEND_OP BlendOp;<br>&nbsp;&nbsp;&nbsp; D3D10_BLEND SrcBlendAlpha;<br>&nbsp;&nbsp;&nbsp; D3D10_BLEND DestBlendAlpha;<br>&nbsp;&nbsp;&nbsp; D3D10_BLEND_OP BlendOpAlpha;<br>&nbsp;&nbsp;&nbsp; UINT8 RenderTargetWriteMask[8];<br>};<br><br>struct D3D10_DEPTH_STENCIL_DESC <br>{<br>&nbsp;&nbsp;&nbsp; BOOL DepthEnable;<br>&nbsp;&nbsp;&nbsp; D3D10_DEPTH_WRITE_MASK DepthWriteMask;<br>&nbsp;&nbsp;&nbsp; D3D10_COMPARISON_FUNC DepthFunc;<br>&nbsp;&nbsp;&nbsp; BOOL StencilEnable;<br>&nbsp;&nbsp;&nbsp; UINT8 StencilReadMask;<br>&nbsp;&nbsp;&nbsp; UINT8 StencilWriteMask;<br>&nbsp;&nbsp;&nbsp; D3D10_DEPTH_STENCILOP_DESC FrontFace;<br>&nbsp;&nbsp;&nbsp; D3D10_DEPTH_STENCILOP_DESC BackFace;<br>};<br><br>struct D3D10_RASTERIZER_DESC <br>{<br>&nbsp;&nbsp;&nbsp; D3D10_FILL_MODE FillMode;<br>&nbsp;&nbsp;&nbsp; D3D10_CULL_MODE CullMode;<br>&nbsp;&nbsp;&nbsp; BOOL FrontCounterClockwise;<br>&nbsp;&nbsp;&nbsp; INT DepthBias;<br>&nbsp;&nbsp;&nbsp; FLOAT DepthBiasClamp;<br>&nbsp;&nbsp;&nbsp; FLOAT SlopeScaledDepthBias;<br>&nbsp;&nbsp;&nbsp; BOOL DepthClipEnable;<br>&nbsp;&nbsp;&nbsp; BOOL ScissorEnable;<br>&nbsp;&nbsp;&nbsp; BOOL MultisampleEnable;<br>&nbsp;&nbsp;&nbsp; BOOL AntialiasedLineEnable;<br>};<br><br><br><img src ="http://www.cnitblog.com/linghuye/aggbug/62901.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/linghuye/" target="_blank">linghuye</a> 2009-11-29 23:16 <a href="http://www.cnitblog.com/linghuye/archive/2009/11/29/62901.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>阅读一款3D引擎的方法备忘</title><link>http://www.cnitblog.com/linghuye/archive/2009/11/29/62870.html</link><dc:creator>linghuye</dc:creator><author>linghuye</author><pubDate>Sun, 29 Nov 2009 14:15:00 GMT</pubDate><guid>http://www.cnitblog.com/linghuye/archive/2009/11/29/62870.html</guid><wfw:comment>http://www.cnitblog.com/linghuye/comments/62870.html</wfw:comment><comments>http://www.cnitblog.com/linghuye/archive/2009/11/29/62870.html#Feedback</comments><slash:comments>6</slash:comments><wfw:commentRss>http://www.cnitblog.com/linghuye/comments/commentRss/62870.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/linghuye/services/trackbacks/62870.html</trackback:ping><description><![CDATA[要带着引擎系统所共有的问题去阅读,不要被具体引擎的实现思路牵着走,要思考这个引擎如何实现或绕过(如不考虑低端机)这些必然要面临的问题.<br><br>首先,最重要的必须,在Debug模式下调试起来一个主场景程序,然后沿着代码流走几遍,在代码里闲逛,生成第一印象,留意基础工具设施类(如字符串内存管理),大约3小时.<br>然后带着如下每一个问题(不分先后)去走流程,走逻辑,弄清引擎的业务处理方法.<br><br>1.SetStreamSource,SetIndices,DrawIndexedPrimitive的调用是在哪里(哪个cpp哪个类的哪个函数),整个工程有几个DrawIndexedPrimitve,DrawPrimitveUp,DrawXXX,被统一管理了吗,还是零零散散地分布在各个cpp各个类?<br><br>2.纹理资源是如何管理的?句柄,ID,指针? 按使用时间,按使用计数? 模型顶点资源是如何管理的,是否有Buffer分配上的优化(比如顶点缓冲整合)? 渲染的实例数据如何管理,如何与资源概念区分的? 纯3D资源如Shader/RenderTarget是如何管理的?<br><br>3.场景管理是怎样搭建的,如何包含区分节点实例数据和资源数据?镜头是如何被各模块访问的?剔除不可见物件的代码行在哪里?兼容各种算法吗,使用了具体的算法是什么?不论使用何种算法,场景管理模块是否提供了清晰的需求定义接口?<br><br>4.骨骼动画是在哪里计算的,具体到顶点乘以矩阵是在哪个cpp的哪个代码行里?Socket实现在哪里?如果有高级动画系统,骨架在哪里,有什么功能?动作融合的矩阵间过渡代码在哪一行?<br><br>5.异步数据加载是怎样做的,在哪个cpp里,由哪个模块管理?各个资源的加载读取cpp代码行在哪里?<br><br>6.渲染管线如何为ShadowMap提供深度图,如何为CubeMap,水面反射提供场景RenderTarget?如何管理固定流水线状态RasterState的?<br><br>7.材质管理系统是如何运作的(通常都是technique + multipass),如何并入管线的,如何从理论上保证可以实现各式各样的效果的?如何抽象兼容固定和可编程流水线的? 如果是抽象管理的,如何抽象掉不同的technique下的不同的数据?管线里是否有独立的后期效果,还是用材质表达出来?材质是否可以脚本化?材质是要分组的,排序的代码段在哪个cpp的哪里?<br><br>8.特效如粒子系统到最后是使用哪个DrawXXX画出来的? 粒子系统是动态公式计算(不要理会具体公式)还是帧动画?<br><br>9.界面2D Texture Draw是如何被支持的?文字渲染是如何被支持的,特别是如何支持中文的,字体资源如何被管理?是否使用Freetype,是否支持东亚文字?<br><br>10.物理系统的接口是如何定义引擎的需求的?或者就是乱糟糟地直接用上.<br>      <img src ="http://www.cnitblog.com/linghuye/aggbug/62870.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/linghuye/" target="_blank">linghuye</a> 2009-11-29 22:15 <a href="http://www.cnitblog.com/linghuye/archive/2009/11/29/62870.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>高斯模糊备忘</title><link>http://www.cnitblog.com/linghuye/archive/2009/07/04/59827.html</link><dc:creator>linghuye</dc:creator><author>linghuye</author><pubDate>Sat, 04 Jul 2009 07:58:00 GMT</pubDate><guid>http://www.cnitblog.com/linghuye/archive/2009/07/04/59827.html</guid><wfw:comment>http://www.cnitblog.com/linghuye/comments/59827.html</wfw:comment><comments>http://www.cnitblog.com/linghuye/archive/2009/07/04/59827.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cnitblog.com/linghuye/comments/commentRss/59827.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/linghuye/services/trackbacks/59827.html</trackback:ping><description><![CDATA[<span style="color: #ffef00; font-size: 14pt;">http://theinstructionlimit.com/?p=14<br><span style="color: #ffffff; font-size: 12pt;">这篇对高斯模糊的基本数学原理和实际实现讲解得非常清楚,应该算是对高斯模糊讲解最好的文章了.</span><br></span>  <img src ="http://www.cnitblog.com/linghuye/aggbug/59827.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/linghuye/" target="_blank">linghuye</a> 2009-07-04 15:58 <a href="http://www.cnitblog.com/linghuye/archive/2009/07/04/59827.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>解决颠倒成像过程中遇到的几个问题</title><link>http://www.cnitblog.com/linghuye/archive/2009/06/30/59742.html</link><dc:creator>linghuye</dc:creator><author>linghuye</author><pubDate>Tue, 30 Jun 2009 13:19:00 GMT</pubDate><guid>http://www.cnitblog.com/linghuye/archive/2009/06/30/59742.html</guid><wfw:comment>http://www.cnitblog.com/linghuye/comments/59742.html</wfw:comment><comments>http://www.cnitblog.com/linghuye/archive/2009/06/30/59742.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cnitblog.com/linghuye/comments/commentRss/59742.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/linghuye/services/trackbacks/59742.html</trackback:ping><description><![CDATA[如何上下颠倒一个场景的成像? <br>我的第一个念头是想把镜头上下颠倒(Up向量取负)即可,后来想想不对,镜头上下颠倒后,世界也左右颠倒了.<br>然后想可以在投影矩阵上搞鬼,因为经过正常投影矩阵作用后的顶点的y值分布在[-1,1]之间,所以对y取负,就可以使画面颠倒呈现(而且对上层毫无影响).如果使用可编程流水线,只要在VertexShader里将输出的gl_Position的y值取负即可.如果使用固定流水线,需要将正常的投影矩阵左乘(DX是右乘)一个Scale(1.0f, -1.0f, 1.0)矩阵即可,也可以直接将正常投影矩阵的第2行(DX是第2列)取负.<br>实作后,果然画面正确地上下颠倒了.但是发现,从VS到PS的法线的插值结果不对了,图像化PS中的法线值后呈现的颜色和无颠倒的图像颜色完全不同,似乎前后颠倒了,如下:<br>void main()<br>{&nbsp;&nbsp; &nbsp;<br>&nbsp;&nbsp; &nbsp;gl_Position = ftransform();<br>&nbsp;&nbsp; &nbsp;gl_Position.y = -gl_Position.y;<br>&nbsp;&nbsp; &nbsp;<br>&nbsp;&nbsp;&nbsp; // 将顶点法线传入PS<br>&nbsp;&nbsp;&nbsp; gl_TexCoord[0] = vec4(gl_Normal, 1.0); <br>}<br>void main()<br>{&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; // 将法线值显示出来<br>&nbsp;&nbsp;&nbsp; gl_FragData[0] = gl_TexCoord[0];<br>}<br>根据Perspective-Correct Interpolation的数学原理,深度值倒数是线性插值的,而从VS到PS的数值是根据深度值倒数做的插值:<br><img alt="" src="http://www.cnitblog.com/images/cnitblog_com/linghuye/1.png" width="258" height="90"><img alt="" src="http://www.cnitblog.com/images/cnitblog_com/linghuye/2.PNG" width="325" height="105"><br>研究公式后,觉得y值取负理应不会影响到z值的正确计算,z值不变,整个插值的结果应该是不变的,茫然不知所以.<br>今天突然想到,y值取负后,所有三角形成像颠倒了,三角形的顶点顺序也逆反了,原来逆时针的变成了顺时针,影响了GL_CULL_FACE,输出的画面会呈现前后颠倒的假象,实作下果然如此,修改了CULL_MODE后,终于得到想要的画面了.<br><br>其实,我想说,搞图形学,你不懂数学原理能行吗? <br><br><span style="color: #ffef00;">Reference:</span><br style="color: #ffef00;"><span style="color: #ffef00;">Mathematics for 3D Game Programming and Computer Graphics</span>    <img src ="http://www.cnitblog.com/linghuye/aggbug/59742.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/linghuye/" target="_blank">linghuye</a> 2009-06-30 21:19 <a href="http://www.cnitblog.com/linghuye/archive/2009/06/30/59742.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>glOrtho矩阵的问题</title><link>http://www.cnitblog.com/linghuye/archive/2009/06/28/59686.html</link><dc:creator>linghuye</dc:creator><author>linghuye</author><pubDate>Sun, 28 Jun 2009 04:21:00 GMT</pubDate><guid>http://www.cnitblog.com/linghuye/archive/2009/06/28/59686.html</guid><wfw:comment>http://www.cnitblog.com/linghuye/comments/59686.html</wfw:comment><comments>http://www.cnitblog.com/linghuye/archive/2009/06/28/59686.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/linghuye/comments/commentRss/59686.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/linghuye/services/trackbacks/59686.html</trackback:ping><description><![CDATA[<div>1.MSDN中给出的glOrtho矩阵数学表达式是不符合实践的,是误导的.</div><div>2.很多网站上的glOrtho数学表达式是错误的,查资料时要注意.</div><div>3.正确的表达式应该是 http://www.opengl.org/sdk/docs/man/xhtml/glOrtho.xml</div><div>4.注意在传入参数时,far/near是正数,但实际的含义是指-far,-near,因为OpenGL是右手坐标系,镜头空间的+Z指向观察者,-Z才指向世界深处.</div><div>&nbsp;</div>
<img src ="http://www.cnitblog.com/linghuye/aggbug/59686.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/linghuye/" target="_blank">linghuye</a> 2009-06-28 12:21 <a href="http://www.cnitblog.com/linghuye/archive/2009/06/28/59686.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>3D世界寻路问题的解决方案</title><link>http://www.cnitblog.com/linghuye/archive/2009/06/18/59484.html</link><dc:creator>linghuye</dc:creator><author>linghuye</author><pubDate>Thu, 18 Jun 2009 11:57:00 GMT</pubDate><guid>http://www.cnitblog.com/linghuye/archive/2009/06/18/59484.html</guid><wfw:comment>http://www.cnitblog.com/linghuye/comments/59484.html</wfw:comment><comments>http://www.cnitblog.com/linghuye/archive/2009/06/18/59484.html#Feedback</comments><slash:comments>8</slash:comments><wfw:commentRss>http://www.cnitblog.com/linghuye/comments/commentRss/59484.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/linghuye/services/trackbacks/59484.html</trackback:ping><description><![CDATA[<hr style="width: 100%; height: 2px;">Reference to: <a style="color: #ffef00; font-size: 18pt;" href="http://www.ai-blog.net/archives/2008_07.html">http://www.ai-blog.net/archives/2008_07.html</a>
<br><br>今天某人问到我3D游戏的寻路,我现在的公司是从来只做伪3D,绝对不做真3D的,我是没实作过3D寻路的.<br>我想起Game Gems里有篇文章论述这个问题,当初只是粗略看了看,有点印象,接着搜索资料时,找到这篇博客文.<br>看完上文,我对3D游戏的寻路再无疑惑,真是完美的方案,强烈推荐阅读.<br><br>贴几张原文中的图,呵呵,魔兽世界的寻路方案也知道了.<br><img alt="" src="http://www.cnitblog.com/images/cnitblog_com/linghuye/Halaa_ab.jpg" width="538" height="430"><hr style="width: 100%; height: 2px;"><img alt="" src="http://www.cnitblog.com/images/cnitblog_com/linghuye/Halaa_waypoints2_AB.jpg" width="538" height="430"><hr style="width: 100%; height: 2px;"><img alt="" src="http://www.cnitblog.com/images/cnitblog_com/linghuye/Halaa_navmesh2_AB.jpg" width="538" height="430"><hr style="width: 100%; height: 2px;"><img alt="" src="http://www.cnitblog.com/images/cnitblog_com/linghuye/shattrath_navmesh.jpg" width="536" height="364">    <img src ="http://www.cnitblog.com/linghuye/aggbug/59484.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/linghuye/" target="_blank">linghuye</a> 2009-06-18 19:57 <a href="http://www.cnitblog.com/linghuye/archive/2009/06/18/59484.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>如何让Ansi工程支持Unicode Edit的输入</title><link>http://www.cnitblog.com/linghuye/archive/2009/04/17/56436.html</link><dc:creator>linghuye</dc:creator><author>linghuye</author><pubDate>Fri, 17 Apr 2009 02:28:00 GMT</pubDate><guid>http://www.cnitblog.com/linghuye/archive/2009/04/17/56436.html</guid><wfw:comment>http://www.cnitblog.com/linghuye/comments/56436.html</wfw:comment><comments>http://www.cnitblog.com/linghuye/archive/2009/04/17/56436.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnitblog.com/linghuye/comments/commentRss/56436.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/linghuye/services/trackbacks/56436.html</trackback:ping><description><![CDATA[<p>1.使用CreateWindowExW创建控件,如<br>hEditWnd = CreateWindowExW(WS_EX_NOPARENTNOTIFY | WS_EX_CLIENTEDGE, L"Edit", NULL, WS_VISIBLE | WS_CHILD | WS_BORDER | WS_TABSTOP | ES_AUTOHSCROLL, 0, 0, 300, 24, m_hWnd, (HMENU)IDC_UNICODE_EDIT, NULL, NULL);</p>
<p>2.在焦点进入Edit控件时,进入自己的消息泵,此消息泵使用GetMessageW,DispatchMessageW来完成消息分发.<br>&nbsp;m_bStopMonitorUnicodeEdit = false;<br>&nbsp;for(;;)<br>&nbsp;{&nbsp;<br>&nbsp;&nbsp;if(m_bStopMonitorUnicodeEdit)<br>&nbsp;&nbsp;&nbsp;break;<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;MSG msg = { 0 };<br>&nbsp;&nbsp;BOOL bRet = ::GetMessageW(&amp;msg, NULL, 0, 0);<br>&nbsp;&nbsp;if(bRet == -1)<br>&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;continue;&nbsp;&nbsp; // error, don't process<br>&nbsp;&nbsp;}<br>&nbsp;&nbsp;else if(!bRet)<br>&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;break;&nbsp;&nbsp;// WM_QUIT! exit message loop<br>&nbsp;&nbsp;}<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;::TranslateMessage(&amp;msg);<br>&nbsp;&nbsp;::DispatchMessageW(&amp;msg);<br>&nbsp;}</p>
<p>4.在焦点退出Edit控件时,&nbsp;退出消息泵.<br>&nbsp;&nbsp;&nbsp; m_bStopMonitorUnicodeEdit = true;<br><br>Reference:<br>在网络上查过资料,那些回答都是垃圾,连问题的根源都没摸著边.</p>
<img src ="http://www.cnitblog.com/linghuye/aggbug/56436.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/linghuye/" target="_blank">linghuye</a> 2009-04-17 10:28 <a href="http://www.cnitblog.com/linghuye/archive/2009/04/17/56436.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>程序的工作态度</title><link>http://www.cnitblog.com/linghuye/archive/2009/04/17/56432.html</link><dc:creator>linghuye</dc:creator><author>linghuye</author><pubDate>Thu, 16 Apr 2009 16:11:00 GMT</pubDate><guid>http://www.cnitblog.com/linghuye/archive/2009/04/17/56432.html</guid><wfw:comment>http://www.cnitblog.com/linghuye/comments/56432.html</wfw:comment><comments>http://www.cnitblog.com/linghuye/archive/2009/04/17/56432.html#Feedback</comments><slash:comments>11</slash:comments><wfw:commentRss>http://www.cnitblog.com/linghuye/comments/commentRss/56432.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/linghuye/services/trackbacks/56432.html</trackback:ping><description><![CDATA[清明加年假,休了5天,在妻子的老家,一个闽浙赣三省交界的乡村过的.春暖花开,过得相当的惬意.回福州的客车上,暮色霭霭,望着窗外,想着自己何时才能过上惬意的人生,想给自己放假时就放假,放个几天也可,几个月也可,十几年也可,不用为生计发愁.虽然,现在的薪资也算高了,但是离开这份工作,我的生活依然没有保障,这种感觉让我非常地不舒服.<br><br>我经常想,没有经济自由就没有独立人格,写出程序也都是垃圾.我在公司里写的全是丑陋的产品代码,没有生气,没有灵魂,我自己看着都觉得恶心.我在公司里写的没有一个是完全按自己的思路实现的程序,全是市场,上头,保持兼容,保持稳定的思路.我就是一个代码工人,听到有人叫我牛人,我都觉得非常害臊,我大部分时间写的代码都是在养家糊口,只能在博客里发发牢骚,写写自己喜欢的代码.<br><br>还有公司里评比,评审这些事,我憎恶这种感觉,源于我憎恶被别人考试这种感觉.大学毕业时,就因这种感觉跟系主任和论文指导老师都闹翻了,因为他们总让我感觉,他们能左右我的前路,如果不听从他们的建议,他们能损害我的利益,这种感觉令我非常不舒服,浑身上下每个毛孔都不舒服.<br><br>工作几年后,在工作中总是碰到无穷无尽的Bug,很多Bug很烦人,扰得几天心绪不宁,一直在想这些Bug到底是怎么回事,即使休息时一想起这些Bug,就像想起不开心的往事,搞得心情很糟.所以,之后我学会了在非工作时间忘记这些事情,不在休息时去想这些问题,否则生活会相当地痛苦.怎样忘记这些Bug? 一定学工作无所谓些!不能为了几行代码,电脑里的几段指令,这些虚无的技术,搞得自己的实体生活都不开心,回家多陪陪老婆孩子才是生活的真正意义.<br><br>为,早日退休,过上无忧无虑的生活,而奋斗终生!
<br>  <img src ="http://www.cnitblog.com/linghuye/aggbug/56432.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/linghuye/" target="_blank">linghuye</a> 2009-04-17 00:11 <a href="http://www.cnitblog.com/linghuye/archive/2009/04/17/56432.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Galaxy Texture Demo</title><link>http://www.cnitblog.com/linghuye/archive/2009/04/14/56373.html</link><dc:creator>linghuye</dc:creator><author>linghuye</author><pubDate>Tue, 14 Apr 2009 15:00:00 GMT</pubDate><guid>http://www.cnitblog.com/linghuye/archive/2009/04/14/56373.html</guid><wfw:comment>http://www.cnitblog.com/linghuye/comments/56373.html</wfw:comment><comments>http://www.cnitblog.com/linghuye/archive/2009/04/14/56373.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/linghuye/comments/commentRss/56373.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/linghuye/services/trackbacks/56373.html</trackback:ping><description><![CDATA[Pixel Shader实现Galaxy效果,ShaderX2中使用cg实现.此Demo使用glsl和hlsl实现.<br><a href="http://www.cnitblog.com/Files/linghuye/GalaxyTexture.rar"><span style="color: yellow;">http://www.cnitblog.com/Files/linghuye/GalaxyTexture.rar</span>
</a><br><br>按Enter键切换galaxy模式,按小键盘数字键切换变换速度.<br><br>References:<br>ShaderX2: Galaxy Texture<br>       <img src ="http://www.cnitblog.com/linghuye/aggbug/56373.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/linghuye/" target="_blank">linghuye</a> 2009-04-14 23:00 <a href="http://www.cnitblog.com/linghuye/archive/2009/04/14/56373.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>