摘要: Hatching Shader 是最初在NICONICO上看到的MME的效果( 手描き風シェーダー by ogugu )·前段时间把它改写为了适合自己引擎的方式· 简单的讲它就是把预制的纹理和场景渲染的结果相互混合· 实作上Hatching Shader本体是个ImageProcess·其输入除去场景的目标纹理·还需要UV纹理·和预制的Hatching纹理至少三张Texture2D· 这里指的UV纹理只是简单的把模型变换后的TexCoord的两个值写入到纹理的RG通道就可以了· Hatching Shader的计算 阅读全文
posted @ 2013-11-14 18:25 macom 阅读(654) 评论(0) 推荐(0)
摘要: 基本上都是网上闲逛找到的·日本:OROCHI3:HP:http://www.siliconstudio.co.jp/middleware/orochi/大蛇引擎,看介绍蛮不错的3D引擎·Alimght: HP: http://almight.jp/免费的羽量级基于HTML5的AVG引擎·ArtemisEngine : HP: http://artemis.idcorp.jp/跟上面那个差不多NS : HP: http://www.nscripter.com/ONS : HP: http://onscripter.sourceforge.jp/onscripter. 阅读全文
posted @ 2013-11-06 21:44 macom 阅读(1034) 评论(0) 推荐(2)
摘要: 之前就打算做的SSAO一直都有点问题没解决·一直拖到现在才实装· 原始场景AO·一次高斯模糊·(这里其实被坑了下·一直没注意以为是ImageProcess的普通的高斯模糊就可以了·)混合· 阅读全文
posted @ 2013-11-05 17:46 macom 阅读(223) 评论(0) 推荐(0)
摘要: 之前给自己的渣引擎添加了简易的漫画效果· 简易的MangaShader其实和CartoonShader差不多一样·也一样需要额外准备一张(或者几张)纹理资源·作为网点·主要的处理都在像素(片元)着色器·首先把颜色转换为亮度(直接dot一个float3(0.29f, 0.58f, 0.11f)就行)·先由预先指定的阀值决定划分出不同的色块·当处于网点的色块时·从模型坐标转换到屏幕坐标·然后贴上去就行了·稍微不同的地方: if(t_Value < s_ColorLevel1){ //填充色 C 阅读全文
posted @ 2013-10-31 19:21 macom 阅读(849) 评论(0) 推荐(0)
摘要: 其实就基本SM加上一个靠近百分比过滤·下面这里是使用对周边取样的片段· float t_DepthMap = DepthMap.Sample( DepthMapSampler, t_ProjPos.xy ).r; float4 t_OutColor = t_DepthMap >= t_DepthScene ? s_OutColor : s_ShadowColor; t_DepthMap = DepthMap.Sample( DepthMapSampler, t_ProjPos.xy + float2(-viewport_inv_width, 0) ).r; t_Out 阅读全文
posted @ 2013-10-30 22:24 macom 阅读(441) 评论(0) 推荐(0)
摘要: Simple Shadow Mapping 最基本的SM。之前曾经被坑过,后来发现其实原理并不麻烦。就是 绘制深度图 加上 投影纹理映射 以及简单的比较就行了。 首先要获得深度图·其实要怎么获取·获取什么样的值(W-BUF或者Z-BUF)并没有太重要的关系·只要能有一张把光源当做摄像机所绘制出的深度图并保证比较时是一致的应该就可以了·下面是简易的HLSL:#pragma pack_matrix( row_major )cbuffer Transforms{ float4x4 cb_WVP;};struct VS_TO_PS{ float4 Pos : S 阅读全文
posted @ 2013-10-30 21:20 macom 阅读(339) 评论(0) 推荐(0)
摘要: 其实ID3D11ShaderReflection原本就能获取HLSL文件信息·由获取到的信息创建InputLayout其实是比较容易的· Reflection接口由函数D3DReflect创建·需要四个参数·分别是编译着色器时得到的 缓冲指针 · 缓冲大小 · GUID(也就是IID_ID3D11ShaderReflection) 和ID3D11ShaderReflection接口· 获得ID3D11ShaderReflection接口后·调用GetInputParameterDesc获得D3D11_SIGNATU 阅读全文
posted @ 2013-10-30 12:06 macom 阅读(956) 评论(0) 推荐(0)
点击右上角即可分享
微信分享提示