SOP:

simple moveKernel

#include "interpolate.h" 
float lerpConstant( constant float * in, int size, float pos);

float3 getFloat3(global float * data, int i)
{
        return (float3)(data[i*3+0], data[i*3+1], data[i*3+2]);
}

void setFloat3(global float * dataout, int i, float3 datain)
{
        dataout[i*3+0] = datain.s0;
        dataout[i*3+1] = datain.s1;
        dataout[i*3+2] = datain.s2;
}

kernel void moveKernel( 
                 float time,
                 int test_length, 
                 global float * test
                 
)
{
    int idx = get_global_id(0);
    if (idx >= test_length)
        return;

    float3 datain = getFloat3(test,idx);
    datain.s1 += time;
    setFloat3(test,idx, datain);
}
View Code

相关文章:

  • 2021-06-02
  • 2021-11-21
  • 2021-10-11
  • 2021-11-04
  • 2022-12-23
  • 2022-12-23
  • 2021-11-07
  • 2021-05-26
猜你喜欢
  • 2022-12-23
  • 2021-11-18
  • 2021-11-18
  • 2022-12-23
  • 2021-06-17
  • 2021-12-02
相关资源
相似解决方案