最近看的一个问题,最后想通很简单但一开始自己狠坑了自己一把,简单记录一下。
为了实现运行时喷涂,直接动态RT解决问题:
喷涂时利用2uv直接绘制到一张RenderTexture
模型正常渲染的时候采样这张RenderTexture。
阅读全文
这个话题其实已经连着好几次了orz(之前博客分享过Metal 2.1中的新关键字invariant和奇妙的Shader精度),但昨天有朋友又遇到PreZ挂了的情况: D3D11下如果关掉Shader Optimize后PreZ和Shading Pass的深度又对不上,但打开Shader Optimize就显示正常。
阅读全文
最近尝试利用UE4自带的功能生成物理简模,参考Setting Up Collisions With Static Meshes有几种模式:
直接生成简单的包围盒/球/胶囊体;
利用DOP(discrete oriented polytopy)即若干对齐轴平面向内挤压;
Auto Convex自动生成。
此外可以将多个简模组合使用,这里不再赘述。我们一开始是批量Auto Convex,结果发现对于一些”规则”网格生成的结果非常诡异。例如题图中的一个长方形盒子,生成的Auto Convex似乎只有一个表面。
阅读全文
这次是有几个同事遇到的一个问题: release版本编译引擎没问题,但是debug下会在链接步骤挂掉:
[arm64-v8a] SharedLibrary : libGame.soD:\SDK\android-ndk-r21\toolchains\llvm\prebuilt\windows-x86_64\bin/../lib/gcc/aarch64-linux-android/4.9.x/../../../../aarch64-linux-android/bin\ld: final link failed: File truncatedclang++: error: linker command failed with exit code 1 (use -v to see invocation)
阅读全文
最近一段时间突然发现打包机上编译引擎安卓版本极慢,正好有现成的IncrediBuild所以研究下能不能用来加速。IB本身是商业软件,对Visual Studio的支持已经非常好了: 既可以使用Extension形式直接调用,又可以使用命令行传参sln。但是网上关于结合NDK使用的资料就非常少,这周花了大半天终于跑通流程,就此记录一下。
阅读全文
最近用RenderDoc调试的时候发现GLES的glCopySubImageData结果不太对,翻了下代码发现实现不是特别完整(只支持了整块拷贝的情况)。于是动手自己实现了一发,结果测试的时候居然卡在了一个编译安卓版本上。
之前我都是在Mac下编译的安卓,这次手头没有合适设备不得不研究了下如何在Windows上编译。关于这块网上资料比较少,CONTRIBUTING/Compiling.md也语焉不详,因此就在这里记录下步骤。
阅读全文
最近在家闲的快发霉了,无聊之下花了点功夫把部分代码在OSX上跑起来(之前都是在Win上开发),遇到了一个很有意思的崩溃:目前定位出来是不同compiler下的memory layout区别。
阅读全文