﻿<?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++博客-λ-calculus（惊愕到手了欧耶）-随笔分类-3D</title><link>http://www.cppblog.com/vczh/category/9410.html</link><description>【QQ：343056143（已满），504254078】【MSN：vczh@hotmail.com】【Email：vczh@163.com】</description><language>zh-cn</language><lastBuildDate>Wed, 03 Aug 2011 20:42:45 GMT</lastBuildDate><pubDate>Wed, 03 Aug 2011 20:42:45 GMT</pubDate><ttl>60</ttl><item><title>劣质模型编辑器</title><link>http://www.cppblog.com/vczh/archive/2011/08/03/152388.html</link><dc:creator>陈梓瀚(vczh)</dc:creator><author>陈梓瀚(vczh)</author><pubDate>Wed, 03 Aug 2011 12:54:00 GMT</pubDate><guid>http://www.cppblog.com/vczh/archive/2011/08/03/152388.html</guid><wfw:comment>http://www.cppblog.com/vczh/comments/152388.html</wfw:comment><comments>http://www.cppblog.com/vczh/archive/2011/08/03/152388.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.cppblog.com/vczh/comments/commentRss/152388.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/vczh/services/trackbacks/152388.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp; 自己本来想体验一下开发一个简陋的模型编辑器以便于把我高中做的那个破即时RPG游戏给弄个续集的，没想到这东西也不是一件好差事啊。先上图。<br /><br />&nbsp;&nbsp;&nbsp; 这个模型编辑器才刚刚开始做，菜单都还没做完整。暂时有添加模型、选择模型、平面或者点、旋转放大平移选中的模型或他的一部分。这样就花了我两三个星期了。DirectX11竟然没有D3D11Font，结果10的Font、D2D10和D3D11Device结合起来又十分麻烦，因此我才去了个猥琐的做法：创建DIBSections，用GDI画字，然后逐个像素变换成D3D11Texture2D需要的格式，最后贴上去。点的高亮矩形也是这么干的。<br /><br />&nbsp;&nbsp;&nbsp; 然后我创建了一个sphere，然后拖动几个选中的点，因此就变成了这样&#8230;&#8230;<br /><br />&nbsp;&nbsp;&nbsp; （代码可以在<a style="text-decoration: underline" href="http://vlpp.codeplex.com" target="_blank">Vczh Library++3.0</a>的Candidate\Simulator\DirectX\EditorSolution找到）<br /><br /><img border="0" alt="" src="http://www.cppblog.com/images/cppblog_com/vczh/DXVME_01.jpg" width="806" height="570" /><br /><br /> <img src ="http://www.cppblog.com/vczh/aggbug/152388.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/vczh/" target="_blank">陈梓瀚(vczh)</a> 2011-08-03 20:54 <a href="http://www.cppblog.com/vczh/archive/2011/08/03/152388.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>DirectX11用起来好爽啊</title><link>http://www.cppblog.com/vczh/archive/2011/07/15/151089.html</link><dc:creator>陈梓瀚(vczh)</dc:creator><author>陈梓瀚(vczh)</author><pubDate>Fri, 15 Jul 2011 12:25:00 GMT</pubDate><guid>http://www.cppblog.com/vczh/archive/2011/07/15/151089.html</guid><wfw:comment>http://www.cppblog.com/vczh/comments/151089.html</wfw:comment><comments>http://www.cppblog.com/vczh/archive/2011/07/15/151089.html#Feedback</comments><slash:comments>16</slash:comments><wfw:commentRss>http://www.cppblog.com/vczh/comments/commentRss/151089.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/vczh/services/trackbacks/151089.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;&nbsp; DirectX最振奋人心的一点就是，取消了所有固定管线，功能全部用shader来做。这样就再也不需要受到各种功能上的限制的束缚了。譬如opengl旧版本的时候，可以输入多个贴图，然后每一层的贴图给一个blend function，搞得好生复杂。到了后来，大家都不用固定管线了。现在DirectX11直接取消了固定管线，API反而简洁了许多，也不会有各种鸟事发生。...&nbsp;&nbsp;<a href='http://www.cppblog.com/vczh/archive/2011/07/15/151089.html'>阅读全文</a><img src ="http://www.cppblog.com/vczh/aggbug/151089.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/vczh/" target="_blank">陈梓瀚(vczh)</a> 2011-07-15 20:25 <a href="http://www.cppblog.com/vczh/archive/2011/07/15/151089.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>暂时换换口味，重操旧业</title><link>http://www.cppblog.com/vczh/archive/2011/07/09/150501.html</link><dc:creator>陈梓瀚(vczh)</dc:creator><author>陈梓瀚(vczh)</author><pubDate>Fri, 08 Jul 2011 16:18:00 GMT</pubDate><guid>http://www.cppblog.com/vczh/archive/2011/07/09/150501.html</guid><wfw:comment>http://www.cppblog.com/vczh/comments/150501.html</wfw:comment><comments>http://www.cppblog.com/vczh/archive/2011/07/09/150501.html#Feedback</comments><slash:comments>11</slash:comments><wfw:commentRss>http://www.cppblog.com/vczh/comments/commentRss/150501.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/vczh/services/trackbacks/150501.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;&nbsp; 其实编译器也不是不做了，只是长时间连续做一个不能看的编译器，总是有点不爽。因此我决定把业余的时间的主要部分花在编译器上，而次要的部分则玩游戏，出去游乐，学DirectX11。&nbsp;&nbsp;&nbsp; 在我还是14岁的时候那会，刚开始学习编程不久就买了那本《Visual Basic高级图形程序设计教程》，从此我走上了做图形的道路上。后来做游戏，到了大...&nbsp;&nbsp;<a href='http://www.cppblog.com/vczh/archive/2011/07/09/150501.html'>阅读全文</a><img src ="http://www.cppblog.com/vczh/aggbug/150501.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/vczh/" target="_blank">陈梓瀚(vczh)</a> 2011-07-09 00:18 <a href="http://www.cppblog.com/vczh/archive/2011/07/09/150501.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>图形学真是一个打发时间的好东西（三）</title><link>http://www.cppblog.com/vczh/archive/2011/01/22/139112.html</link><dc:creator>陈梓瀚(vczh)</dc:creator><author>陈梓瀚(vczh)</author><pubDate>Sat, 22 Jan 2011 06:45:00 GMT</pubDate><guid>http://www.cppblog.com/vczh/archive/2011/01/22/139112.html</guid><wfw:comment>http://www.cppblog.com/vczh/comments/139112.html</wfw:comment><comments>http://www.cppblog.com/vczh/archive/2011/01/22/139112.html#Feedback</comments><slash:comments>7</slash:comments><wfw:commentRss>http://www.cppblog.com/vczh/comments/commentRss/139112.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/vczh/services/trackbacks/139112.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp; 今天做了一整天终于优化了kd-tree和Ambient Occlusion。先上<a style="TEXT-DECORATION: underline" href="http://www.cppblog.com/Files/vczh/Vczhsim.rar" target=_blank>代码</a>，后上图。<br><br>&nbsp;&nbsp;&nbsp; 首先是做了一个kd-tree，渲染一幅有一千三百多万个三角形的图仅需要0.4秒。<br><img border=0 alt="" src="http://www.cppblog.com/images/cppblog_com/vczh/Vczhsim_007.jpg" width=816 height=638><br><br>&nbsp;&nbsp;&nbsp; 其次是Ambient Occlusion<br><img border=0 alt="" src="http://www.cppblog.com/images/cppblog_com/vczh/Vczhsim_008.jpg" width=816 height=638><br><br>&nbsp;&nbsp;&nbsp; 第三幅是对比图。上图有Ambient Occlusion，下图没有。<br><img border=0 alt="" src="http://www.cppblog.com/images/cppblog_com/vczh/Vczhsim_009.jpg" width=491 height=768>&nbsp;<br><br>&nbsp;&nbsp;&nbsp; 再加两张（博客发布后才添加的）。算法没变，只不过多了模型，就暂时不更新代码了：<br><img border=0 alt="" src="http://www.cppblog.com/images/cppblog_com/vczh/Vczhsim_012.jpg" width=816 height=638><br><br><img border=0 alt="" src="http://www.cppblog.com/images/cppblog_com/vczh/Vczhsim_013_B.jpg" width=816 height=638>
<img src ="http://www.cppblog.com/vczh/aggbug/139112.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/vczh/" target="_blank">陈梓瀚(vczh)</a> 2011-01-22 14:45 <a href="http://www.cppblog.com/vczh/archive/2011/01/22/139112.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>图形学真是一个打发时间的好东西（二）</title><link>http://www.cppblog.com/vczh/archive/2011/01/21/138990.html</link><dc:creator>陈梓瀚(vczh)</dc:creator><author>陈梓瀚(vczh)</author><pubDate>Thu, 20 Jan 2011 17:10:00 GMT</pubDate><guid>http://www.cppblog.com/vczh/archive/2011/01/21/138990.html</guid><wfw:comment>http://www.cppblog.com/vczh/comments/138990.html</wfw:comment><comments>http://www.cppblog.com/vczh/archive/2011/01/21/138990.html#Feedback</comments><slash:comments>9</slash:comments><wfw:commentRss>http://www.cppblog.com/vczh/comments/commentRss/138990.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/vczh/services/trackbacks/138990.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp; 最近休了几天假玩一玩所以进展比较慢。直到今天我做了高亮、4*4全屏幕消锯齿、圆柱体和三角形模型。不过目前三角形我没有用kd-tree，所以巨慢。在i7上做一个36096个面的Menger Sponge再加上全屏幕消锯齿花掉了20分钟&#8230;&#8230;<br><br>&nbsp;&nbsp;&nbsp; 点击<a style="TEXT-DECORATION: underline" href="http://www.cppblog.com/Files/vczh/Vczhsim.rar" target=_blank>这里</a>下载当前进度的代码。<br><br>&nbsp;&nbsp;&nbsp; 下面开始贴图：<br><br>&nbsp;&nbsp;&nbsp; Blinn Specular：<br>
<div align=center src_cetemp="/images/cppblog_com/vczh/Vczhsim_003.jpg"><img border=0 alt="" src="http://www.cppblog.com/images/cppblog_com/vczh/Vczhsim_003.jpg" width=816 height=638></div>
<br><br>&nbsp;&nbsp;&nbsp; 全屏幕消锯齿：<br>
<div align=center src_cetemp="/images/cppblog_com/vczh/Vczhsim_004_B.jpg"><img border=0 alt="" src="http://www.cppblog.com/images/cppblog_com/vczh/Vczhsim_004_B.jpg" width=816 height=638></div>
<br><br>&nbsp;&nbsp;&nbsp; 传说中三万多个三角形的Menger Sponge<br>
<div align=center src_cetemp="/images/cppblog_com/vczh/Vczhsim_005.jpg"><img border=0 alt="" src="http://www.cppblog.com/images/cppblog_com/vczh/Vczhsim_005.jpg" width=816 height=638></div>
<br><br>&nbsp;&nbsp;&nbsp; 无聊做的圆柱体求交函数：<br>
<div align=center src_cetemp="/images/cppblog_com/vczh/Vczhsim_006.jpg"><img border=0 alt="" src="http://www.cppblog.com/images/cppblog_com/vczh/Vczhsim_006.jpg" width=816 height=638></div>
<img src ="http://www.cppblog.com/vczh/aggbug/138990.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/vczh/" target="_blank">陈梓瀚(vczh)</a> 2011-01-21 01:10 <a href="http://www.cppblog.com/vczh/archive/2011/01/21/138990.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>图形学真是一个打发时间的好东西</title><link>http://www.cppblog.com/vczh/archive/2011/01/09/138196.html</link><dc:creator>陈梓瀚(vczh)</dc:creator><author>陈梓瀚(vczh)</author><pubDate>Sun, 09 Jan 2011 07:54:00 GMT</pubDate><guid>http://www.cppblog.com/vczh/archive/2011/01/09/138196.html</guid><wfw:comment>http://www.cppblog.com/vczh/comments/138196.html</wfw:comment><comments>http://www.cppblog.com/vczh/archive/2011/01/09/138196.html#Feedback</comments><slash:comments>15</slash:comments><wfw:commentRss>http://www.cppblog.com/vczh/comments/commentRss/138196.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/vczh/services/trackbacks/138196.html</trackback:ping><description><![CDATA[<p>&nbsp;&nbsp;&nbsp; 每年总有那么几个星期不想写编译器，这个时候做做ray tracing就变成一件很美妙的事情了。因此这个星期重写了<a style="TEXT-DECORATION: underline" href="http://www.cppblog.com/vczh/archive/2009/02/01/72759.html" target=_blank>当年那个超烂的光线追踪</a>，然后加上了贴图的功能。当然图是可以直接贴在物体上的，还支持了法线贴图，譬如说下面做的地球在不同方向的光线的照射下显得有立体效果：<br><br>
<div align=center src_cetemp="/images/cppblog_com/vczh/Vczhsim_002.jpg"><img border=0 alt="" src="http://www.cppblog.com/images/cppblog_com/vczh/Vczhsim_002.jpg" width=816 height=638></div>
<br>&nbsp;&nbsp;&nbsp; 之所以FPS有16是因为我已经不再当年那个破thinkpad上渲染，而在一个i7四核超线程三通道的CPU上做了。渲染的时候为了简单，把屏幕等分成了八行，然后创建八个线程分别绑定到八个CPU上面去（SetThreadAffinityMask），最后渲染完出来。当然比起那些专业的还是显得相当慢，现在很多光线追踪软件都用了GPU来做，不过我GPU也没用，SSE指令也没用，就纯粹C++写。如今也懒得用C++做GUI了，所以把核心用C++做成了之后，export几个函数出来，用C#的P/Invoke直接调用。C++渲染完以后给一个HBITMAP，C#拿过来就往窗口上画，还是十分方便的哈。多语言开发万岁。<br><br>&nbsp;&nbsp;&nbsp; 重写了光线追踪之后仍然把折射和反射给做了，因此可以做出个类似凸透镜一样的东西：<br><br>
<div align=center src_cetemp="/images/cppblog_com/vczh/Vczhsim_001.jpg"><img border=0 alt="" src="http://www.cppblog.com/images/cppblog_com/vczh/Vczhsim_001.jpg" width=816 height=638></div>
<br>&nbsp;&nbsp;&nbsp; 需要提一下的是，做贴图的时候实现了nearest、linear和bicubic三种插值方法。nearest基本上就是不插值，所以放大了之后会有马赛克效果。linear是线性插值，如果放得太大还是能看出一点模糊的马赛克。bicubic效果就好很多了，如果大家有兴趣的话可以到<a style="TEXT-DECORATION: underline" href="http://en.wikipedia.org/wiki/Bicubic_interpolation" target=_blank>这里</a>去看。为了达到更好的效果，后面还有计划做ray differential和各向异性过滤。ray differential之后就可以做photon mapping（一种比较高效的全局光照模型）了。做完photon mapping之后，无聊的心情大概就结束了，可以继续写编译器了吧。<br><br>&nbsp;&nbsp;&nbsp; 嗯嗯，虽然ray differential和photon mapping还没做，<a style="TEXT-DECORATION: underline" href="http://www.cppblog.com/Files/vczh/[005]Vczhsim-skybox.rar" target=_blank>我就先把代码丢上啦</a>，不仅可以做备份，大家也能搞下来看一看。当然需要有Visual Studio 2010才能编译的。选择release编译之后到release文件夹下去启动，debug的话慢的不能忍。而且我的多线程模型是一个核（超线程的话算两个）一个线程，那些古老的双核CPU大概性能会很惨不忍赌吧&#8230;&#8230;<br>
<p>&#160;</p>
<img src ="http://www.cppblog.com/vczh/aggbug/138196.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/vczh/" target="_blank">陈梓瀚(vczh)</a> 2011-01-09 15:54 <a href="http://www.cppblog.com/vczh/archive/2011/01/09/138196.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>GI实现光源穿透版透明物体</title><link>http://www.cppblog.com/vczh/archive/2009/02/01/72759.html</link><dc:creator>陈梓瀚(vczh)</dc:creator><author>陈梓瀚(vczh)</author><pubDate>Sat, 31 Jan 2009 17:47:00 GMT</pubDate><guid>http://www.cppblog.com/vczh/archive/2009/02/01/72759.html</guid><wfw:comment>http://www.cppblog.com/vczh/comments/72759.html</wfw:comment><comments>http://www.cppblog.com/vczh/archive/2009/02/01/72759.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cppblog.com/vczh/comments/commentRss/72759.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/vczh/services/trackbacks/72759.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;使用<a style="TEXT-DECORATION: underline" href="http://www.cppblog.com/vczh/archive/2009/01/30/72716.html" target=_blank>这篇文章</a>使用的相同的算法渲染的一张带有透明物体的图。图中的正方形板的下方有淡淡的黄色，球背后的阴影边缘是软的。由于没有优化的缘故，这幅图在2&#215;1.5GHz的笔记本上渲染了一个半小时。<br><br>
<div align=center src_cetemp="/images/cppblog_com/vczh/VCZH_RT_18.jpg"><img height=636 alt="" src="http://www.cppblog.com/images/cppblog_com/vczh/VCZH_RT_18.jpg" width=816 border=0></div>
<img src ="http://www.cppblog.com/vczh/aggbug/72759.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/vczh/" target="_blank">陈梓瀚(vczh)</a> 2009-02-01 01:47 <a href="http://www.cppblog.com/vczh/archive/2009/02/01/72759.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>使用GI获得柔和阴影</title><link>http://www.cppblog.com/vczh/archive/2009/01/30/72716.html</link><dc:creator>陈梓瀚(vczh)</dc:creator><author>陈梓瀚(vczh)</author><pubDate>Fri, 30 Jan 2009 14:54:00 GMT</pubDate><guid>http://www.cppblog.com/vczh/archive/2009/01/30/72716.html</guid><wfw:comment>http://www.cppblog.com/vczh/comments/72716.html</wfw:comment><comments>http://www.cppblog.com/vczh/archive/2009/01/30/72716.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/vczh/comments/commentRss/72716.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/vczh/services/trackbacks/72716.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 所谓的GI可以简单的理解为渲染一个像素的时候，就在那个像素的法向量位置渲染一个半球，统计并作为光源输入。现在使用一个比较粗糙的平行光在天空盒上的投影函数：f(t)=cos(t)*4/(1-cos(a))，其中a是光斑夹角的一半。GI花了好长时间，图如下：<br><br>&nbsp;&nbsp;<a href='http://www.cppblog.com/vczh/archive/2009/01/30/72716.html'>阅读全文</a><img src ="http://www.cppblog.com/vczh/aggbug/72716.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/vczh/" target="_blank">陈梓瀚(vczh)</a> 2009-01-30 22:54 <a href="http://www.cppblog.com/vczh/archive/2009/01/30/72716.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>修正了Fresnel，正确绘制高亮和凸多面体</title><link>http://www.cppblog.com/vczh/archive/2009/01/28/72651.html</link><dc:creator>陈梓瀚(vczh)</dc:creator><author>陈梓瀚(vczh)</author><pubDate>Wed, 28 Jan 2009 08:27:00 GMT</pubDate><guid>http://www.cppblog.com/vczh/archive/2009/01/28/72651.html</guid><wfw:comment>http://www.cppblog.com/vczh/comments/72651.html</wfw:comment><comments>http://www.cppblog.com/vczh/archive/2009/01/28/72651.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/vczh/comments/commentRss/72651.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/vczh/services/trackbacks/72651.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要:     之前搞错了一个fresnel公式，实际上全透明物体的fresnel公式应当如下：<br><br>    f=入射角<br>    t=出射角，有sint=sinf/n<br>    新的factor=(sin2(f-t)/sin2(f+t)+tan2(f-t)/tan2(f+t))/2，这样的话出现全反射的时候，factor=1。&nbsp;&nbsp;<a href='http://www.cppblog.com/vczh/archive/2009/01/28/72651.html'>阅读全文</a><img src ="http://www.cppblog.com/vczh/aggbug/72651.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/vczh/" target="_blank">陈梓瀚(vczh)</a> 2009-01-28 16:27 <a href="http://www.cppblog.com/vczh/archive/2009/01/28/72651.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>重新使用Fresnel为材质建模并增加锥形</title><link>http://www.cppblog.com/vczh/archive/2009/01/25/72560.html</link><dc:creator>陈梓瀚(vczh)</dc:creator><author>陈梓瀚(vczh)</author><pubDate>Sat, 24 Jan 2009 17:55:00 GMT</pubDate><guid>http://www.cppblog.com/vczh/archive/2009/01/25/72560.html</guid><wfw:comment>http://www.cppblog.com/vczh/comments/72560.html</wfw:comment><comments>http://www.cppblog.com/vczh/archive/2009/01/25/72560.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/vczh/comments/commentRss/72560.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/vczh/services/trackbacks/72560.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 由于之前的建模方法乱七八糟，现在使用一般的Fresnel方法为材质建模。这是一个处理折射和反射光比率的函数。计算方法如下：factor=bias+scale(1+I×N)^power，将factor剪裁之[0,1]范围内之后，折射光/反射光比率为factor/(1-factor)。bias、scale与power是材质参数，需直接指定。&nbsp;&nbsp;<a href='http://www.cppblog.com/vczh/archive/2009/01/25/72560.html'>阅读全文</a><img src ="http://www.cppblog.com/vczh/aggbug/72560.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/vczh/" target="_blank">陈梓瀚(vczh)</a> 2009-01-25 01:55 <a href="http://www.cppblog.com/vczh/archive/2009/01/25/72560.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>实现透明物体折射</title><link>http://www.cppblog.com/vczh/archive/2009/01/22/72485.html</link><dc:creator>陈梓瀚(vczh)</dc:creator><author>陈梓瀚(vczh)</author><pubDate>Thu, 22 Jan 2009 14:02:00 GMT</pubDate><guid>http://www.cppblog.com/vczh/archive/2009/01/22/72485.html</guid><wfw:comment>http://www.cppblog.com/vczh/comments/72485.html</wfw:comment><comments>http://www.cppblog.com/vczh/archive/2009/01/22/72485.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cppblog.com/vczh/comments/commentRss/72485.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/vczh/services/trackbacks/72485.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 明天得开始研究别人是怎么处理材质的了。目前使用的方法是(反射来源×反射基准)×折射比率+(光源×材质颜色)×(1-折射比率)+[(折射来源+底面反射)×衰减+(1-衰减)]×透明物体内部颜色减。等材质完全做完之后，目前的渲染算法就可以为GI服务了。最后是计算混合的代码：&nbsp;&nbsp;<a href='http://www.cppblog.com/vczh/archive/2009/01/22/72485.html'>阅读全文</a><img src ="http://www.cppblog.com/vczh/aggbug/72485.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/vczh/" target="_blank">陈梓瀚(vczh)</a> 2009-01-22 22:02 <a href="http://www.cppblog.com/vczh/archive/2009/01/22/72485.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>孔子曰：三日不编程，食肉无味</title><link>http://www.cppblog.com/vczh/archive/2009/01/19/72324.html</link><dc:creator>陈梓瀚(vczh)</dc:creator><author>陈梓瀚(vczh)</author><pubDate>Mon, 19 Jan 2009 08:48:00 GMT</pubDate><guid>http://www.cppblog.com/vczh/archive/2009/01/19/72324.html</guid><wfw:comment>http://www.cppblog.com/vczh/comments/72324.html</wfw:comment><comments>http://www.cppblog.com/vczh/archive/2009/01/19/72324.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.cppblog.com/vczh/comments/commentRss/72324.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/vczh/services/trackbacks/72324.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 由于一时找不到题目写，所以这两天就搞了一个简单的基于光线追踪的软件渲染器。准备花点时间做下去了。从昨天开始到现在实现的东西有反射、阴影、多光源、线性变换等。<br>&nbsp;&nbsp;<a href='http://www.cppblog.com/vczh/archive/2009/01/19/72324.html'>阅读全文</a><img src ="http://www.cppblog.com/vczh/aggbug/72324.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/vczh/" target="_blank">陈梓瀚(vczh)</a> 2009-01-19 16:48 <a href="http://www.cppblog.com/vczh/archive/2009/01/19/72324.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>