摘要:假定——[numthreads(TX, TY, TZ)] // 线程组尺寸。既线程组内有多少个线程。Dispatch(GX, GY, GZ); // 线程组的数量。既有多少个线程组。那么——SV_GroupThreadID={iTX, iTY, iTZ} // 【线程组内的】线程3D编号SV_GroupID={iGX, iGY, iGZ} // 线程组的3D编号SV_DispatchThreadID={iGX*TX+iTX, iGY*TY+iTY, iGZ*TZ+iTZ} // 将线程组展开后,每个线程的全局3D编号。SV_GroupIndex=iTX + iTY*TX + iTZ*TX*TY
阅读全文
随笔分类 - GS0 ShaderType_着色器类型
摘要:Wakeari(有诡)中有一个有趣的渲染模式——念摄模式。但在该模式下帧率暴跌。于是我对其进行了分析。非念摄模式下有60帧——念摄模式下仅有14帧——60变为14,帧率暴跌至原来的1/4左右。技术分析估计该游戏采取的是“渲染两次”方案。具体步骤为——1.根据鼠标拖动的区域,生成一张掩码位图(念摄区域图);2.将外衣的模型标记为可见,渲染场景,输出到纹理A;3.将外衣的模型标记为隐藏,渲染场景,输出到纹理B;4.根据掩码位图,合并纹理A 和 纹理B,然后输出到屏幕。该方案有两个缺点——1.第2步、第3步共渲染两次,使帧率下降一半。2.在第4步合并纹理图时,需等待第2步、第3步的渲染操作彻底完成后
阅读全文