在计算着色器(使用Unity)中,我有一个光线投影查找与网格三角形的交叉点.在某些时候,我想返回找到多少个十字路口.
我可以通过标记像素清楚地看到有多少个交叉点,但是如果我只是为计算着色器中的每个交集增加一个全局int(并通过缓冲区返回),那么我得到的数字就没有意义了.我认为这是因为我正在制造竞争条件.
我看到opengl有"原子计数器":https://www.opengl.org/wiki/Atomic_Counter,这看起来就像我在这种情况下需要的那样.我没有在Unity和DirectCompute文档中找到这样的功能.有没有办法做到这一点?
我可以创建一个appendBuffer,但它看起来很傻,因为我确实只需要返回一个int.
我刚刚编写了以下代码段,并将其保存在Packages/User/HTML文件夹中,作为"add-script-source.sublime-snippet".
<snippet>
<content><![CDATA[
<script type="text/javascript" src="${1:script.js}">${2}</script>
]]></content>
<!-- Optional: Set a tabTrigger to define how to trigger the snippet -->
<tabTrigger>scriptsrc</tabTrigger>
<!-- Optional: Set a scope to limit where the snippet will trigger -->
<scope>text.html</scope>
</snippet>
Run Code Online (Sandbox Code Playgroud)
现在,我只想让这个片段在HTML文件中工作,但事实并非如此.如果我注释掉"scope"标记,它将在JavaScript中工作,但仍然不在HTML中.我的印象是,User文件夹下面的文件夹名称也为Sublime Text提供了适当的范围(如本视频中所述https://tutsplus.com/lesson/your-first-snippet/),这不会出现做任何事.每当我将范围标记设置为ANYTHING时,代码段都不会触发.
问题可能是什么?