﻿<?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>C++博客-AstaTus-随笔分类-HLSL</title><link>http://www.cppblog.com/AstaTus/category/9587.html</link><description>       -- 夏天不热。。</description><language>zh-cn</language><lastBuildDate>Mon, 16 Feb 2009 03:47:38 GMT</lastBuildDate><pubDate>Mon, 16 Feb 2009 03:47:38 GMT</pubDate><ttl>60</ttl><item><title>phong 光照模型。。</title><link>http://www.cppblog.com/AstaTus/archive/2009/02/16/73911.html</link><dc:creator>AstaTus</dc:creator><author>AstaTus</author><pubDate>Mon, 16 Feb 2009 02:10:00 GMT</pubDate><guid>http://www.cppblog.com/AstaTus/archive/2009/02/16/73911.html</guid><wfw:comment>http://www.cppblog.com/AstaTus/comments/73911.html</wfw:comment><comments>http://www.cppblog.com/AstaTus/archive/2009/02/16/73911.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/AstaTus/comments/commentRss/73911.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/AstaTus/services/trackbacks/73911.html</trackback:ping><description><![CDATA[&nbsp;&nbsp; 前些日子 乘着有闲功夫，慢慢的hlsl看了起来，发现以前学的数学知识全用上了，只可惜忘得都差不多了，又要恶补数学了。<br>&nbsp;&nbsp;&nbsp;做了个比较简单的 phong 光照模型。<br>&nbsp;&nbsp;&nbsp;<img src="http://www.cppblog.com/images/cppblog_com/astatus/phong.jpg" border=0><br>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">float4x4&nbsp;Scal;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>float4x4&nbsp;World;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>float4x4&nbsp;View;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>float4x4&nbsp;projection;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>float4x4&nbsp;WorldViewProjection;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>float3&nbsp;EyePosition;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>float3&nbsp;LightDir;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>float4&nbsp;LightColor;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">struct</span><span style="COLOR: #000000">&nbsp;VertexInput<br><img id=Codehighlighter1_173_257_Open_Image onclick="this.style.display='none'; Codehighlighter1_173_257_Open_Text.style.display='none'; Codehighlighter1_173_257_Closed_Image.style.display='inline'; Codehighlighter1_173_257_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_173_257_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_173_257_Closed_Text.style.display='none'; Codehighlighter1_173_257_Open_Image.style.display='inline'; Codehighlighter1_173_257_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_173_257_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_173_257_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;float4&nbsp;&nbsp;Position&nbsp;:&nbsp;POSITION;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;float2&nbsp;&nbsp;Tex&nbsp;:&nbsp;TEXCOORD0;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;float3&nbsp;&nbsp;Normal&nbsp;:&nbsp;NORMAL;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">struct</span><span style="COLOR: #000000">&nbsp;VertexOutput<br><img id=Codehighlighter1_282_397_Open_Image onclick="this.style.display='none'; Codehighlighter1_282_397_Open_Text.style.display='none'; Codehighlighter1_282_397_Closed_Image.style.display='inline'; Codehighlighter1_282_397_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_282_397_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_282_397_Closed_Text.style.display='none'; Codehighlighter1_282_397_Open_Image.style.display='inline'; Codehighlighter1_282_397_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_282_397_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_282_397_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;float4&nbsp;&nbsp;Position&nbsp;:&nbsp;POSITION;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;float2&nbsp;&nbsp;&nbsp;&nbsp;Tex&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;TEXCOORD0;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;float3&nbsp;&nbsp;&nbsp;&nbsp;Normal&nbsp;:&nbsp;TEXCOORD1;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;float3&nbsp;&nbsp;View&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;TEXCOORD2;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>VertexOutput&nbsp;VertexMain(VertexInput&nbsp;input)<br><img id=Codehighlighter1_445_774_Open_Image onclick="this.style.display='none'; Codehighlighter1_445_774_Open_Text.style.display='none'; Codehighlighter1_445_774_Closed_Image.style.display='inline'; Codehighlighter1_445_774_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_445_774_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_445_774_Closed_Text.style.display='none'; Codehighlighter1_445_774_Open_Image.style.display='inline'; Codehighlighter1_445_774_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_445_774_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_445_774_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;VertexOutput&nbsp;output&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;(VertexOutput)</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WorldViewProjection&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;mul(mul(View,&nbsp;World),&nbsp;projection);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;output.Position&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;mul(mul(input.Position,&nbsp;Scal),&nbsp;WorldViewProjection);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;output.Tex&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;input.Tex;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;output.Normal&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;mul(input.Normal,&nbsp;World);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;output.View&nbsp;&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;EyePosition&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">&nbsp;mul(input.Position,&nbsp;&nbsp;World);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;output;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>float4&nbsp;PixelMain(VertexOutput&nbsp;input)&nbsp;:&nbsp;COLOR0<br><img id=Codehighlighter1_823_1344_Open_Image onclick="this.style.display='none'; Codehighlighter1_823_1344_Open_Text.style.display='none'; Codehighlighter1_823_1344_Closed_Image.style.display='inline'; Codehighlighter1_823_1344_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_823_1344_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_823_1344_Closed_Text.style.display='none'; Codehighlighter1_823_1344_Open_Image.style.display='inline'; Codehighlighter1_823_1344_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_823_1344_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_823_1344_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">float</span><span style="COLOR: #000000">&nbsp;diffsum;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">float</span><span style="COLOR: #000000">&nbsp;specularsum;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;float4&nbsp;color;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">float</span><span style="COLOR: #000000">&nbsp;sunshinepower;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;float4&nbsp;amibent&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;float4(</span><span style="COLOR: #000000">0.1f</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">0.1f</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">0.1f</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">1.0f</span><span style="COLOR: #000000">);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;sunshinepower&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">16.0f</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;diffsum&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;specularsum&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">漫反射</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;LightDir&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;normalize(LightDir);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;diffsum&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;saturate(dot(LightDir,&nbsp;input.Normal));<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">镜面反射</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;float3&nbsp;L&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">LightDir;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;float3&nbsp;R&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;normalize(reflect(L,&nbsp;input.Normal));<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;float3&nbsp;V&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;normalize(input.View);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;specularsum&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;pow(saturate(dot(R,&nbsp;V)),&nbsp;sunshinepower);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;color&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;specularsum&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;diffsum&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">&nbsp;LightColor&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;amibent;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;color;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>technique&nbsp;techR&nbsp;<br><img id=Codehighlighter1_1364_1471_Open_Image onclick="this.style.display='none'; Codehighlighter1_1364_1471_Open_Text.style.display='none'; Codehighlighter1_1364_1471_Closed_Image.style.display='inline'; Codehighlighter1_1364_1471_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_1364_1471_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1364_1471_Closed_Text.style.display='none'; Codehighlighter1_1364_1471_Open_Image.style.display='inline'; Codehighlighter1_1364_1471_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_1364_1471_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_1364_1471_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;pass&nbsp;p0<br><img id=Codehighlighter1_1376_1469_Open_Image onclick="this.style.display='none'; Codehighlighter1_1376_1469_Open_Text.style.display='none'; Codehighlighter1_1376_1469_Closed_Image.style.display='inline'; Codehighlighter1_1376_1469_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_1376_1469_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1376_1469_Closed_Text.style.display='none'; Codehighlighter1_1376_1469_Open_Image.style.display='inline'; Codehighlighter1_1376_1469_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_1376_1469_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_1376_1469_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;VertexShader&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;compile&nbsp;vs_2_0&nbsp;VertexMain();<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PixelShader&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;compile&nbsp;ps_2_0&nbsp;PixelMain();<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span></div>
<img src ="http://www.cppblog.com/AstaTus/aggbug/73911.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/AstaTus/" target="_blank">AstaTus</a> 2009-02-16 10:10 <a href="http://www.cppblog.com/AstaTus/archive/2009/02/16/73911.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>