我正在尝试存根某些类的任何实例.我需要存根fetch方法,用一些数据填充自己.
如何访问self变量,修改变量并返回fetch方法?
MyObject.any_instance.stub(:fetch) { self }
Run Code Online (Sandbox Code Playgroud)
不返回MyObject实例.
也许,在这种情况下,模拟更有用.不幸的是,我还没有理解它们.
我正在尝试在WebGL上实现GPGPU计算,我需要在其中存储中间结果。整个计算不适合一个片段着色器,因此我必须将其拆分为几轮。
我实现了纹理乒乓技术,其中有两个纹理,可以交换每个渲染。
我有数千次渲染回合来获取结果数据,其中新数据依赖于以前的数据(不可能并行执行)。我有一个很大的纹理来存储所有数据,但是每轮需要在几个像素上进行计算(每轮8-20像素,纹理为1024x1024)。
我典型的片段着色器代码如下:
void main () {
vec4 c = gl_FragCoord - 0.5;
float position = (c.y * TEXTURE_SIZE) + c.x;
float offset = mod(position, BLOCK_SIZE);
float block = floor(position / BLOCK_SIZE);
if ( offset >= (TMP_WORK_OFFSET) && offset < (TMP_WORK_OFFSET + WORKS_PER_ROUND)) {
//Do the computation here
} else {
//Just return the pixel from the texture
gl_FragColor = texture2D(uSampler, vTextCoord.st);
}
}
Run Code Online (Sandbox Code Playgroud)
目前,我每轮渲染整个帧,并且我想配置顶点以仅渲染优化所需的像素。第一个想法如下:
1. Set full frame squad vertecies.
2. Switch to simpleCopy shader program.
3. Copy …Run Code Online (Sandbox Code Playgroud)