首页 > 其他 > 详细

Houdini OpenCL

时间:2017-08-29 13:39:03      阅读:705      评论:0      收藏:0      [点我收藏+]

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

binding:

技术分享

 

 

 

<2>

Houdini OpenCL

原文:http://www.cnblogs.com/gearslogy/p/7447755.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!