标签:
今天用cuda block内thread的形式来修改 两个for循环的 六面体一直不对。
// for (int i= 0;i<boxPointNums-1;i++)// { unsigned int j= threadIdx.x; unsigned int i= threadIdx.y; // for (int j = 0; j<boxPointNums-1;j++) {
是由于在计算vertex坐标时, i、j顺序的不正确会影响到坐标位置:
boxVerticesCuda[gridIndexNumsTop].Pos,-boxLength/2+widthBlock*j, boxTopY, (boxLength/2-lengthBlock*i));
而block内的thread.x thread.y,执行顺序应该是和for循环相反的,导致最后绘制出错。主要还是刚开始以for ...for绘制,导致行列顺序固定,后修改成cuda后,需要进行行列匹配。 如果是先cuda绘制,在for...for 也许不会。
源码等2015,5,1号在传
CUDA + DX10 注意:block内部thread矩阵的形式
标签:
原文地址:http://www.cnblogs.com/dust-fly/p/4339591.html