#!/bin/bash echo Converting ISPC tutorial $1 to CPP tutorial $2 cp $1 $2 sed -i.backup 's/.isph\"/.h\"/g' $2 sed -i.backup 's/RTC_INTERSECT_UNIFORM | RTC_INTERSECT_VARYING/RTC_INTERSECT1/g' $2 sed -i.backup 's/RTC_INTERSECT_VARYING/RTC_INTERSECT1/g' $2 sed -i.backup 's/print(/printf(/g' $2 sed -i.backup 's/uniform //g' $2 sed -i.backup 's/ uniform//g' $2 sed -i.backup 's/varying //g' $2 sed -i.backup 's/ varying//g' $2 sed -i.backup 's/programIndex/0/g' $2 sed -i.backup 's/extern/extern \"C\"/g' $2 sed -i.backup 's/export/extern \"C\"/g' $2 sed -i.backup 's/launch\[numTilesX\*numTilesY\] renderTile(/launch_renderTile(numTilesX\*numTilesY,/g' $2 sed -i.backup 's/launch\[numPhi+1\] animateSphere(/launch_animateSphere(animateSphere,numPhi+1,/g' $2 sed -i.backup 's/M_PI/float(pi)/g' $2 sed -i.backup 's/\*pi\*/\*float(pi)\*/g' $2 sed -i.backup 's/\*pi\//\*float(pi)\//g' $2 sed -i.backup 's/one_over_pi/float(one_over_pi)/g' $2 sed -i.backup 's/one_over_two_pi/float(one_over_two_pi)/g' $2 sed -i.backup 's/one_over_four_pi/float(one_over_four_pi)/g' $2 sed -i.backup 's/[^_]two_pi/float(two_pi)/g' $2 #sed -i.backup 's/RTC_MATRIX_COLUMN_MAJOR/RTC_MATRIX_COLUMN_MAJOR_ALIGNED16/g' $2 sed -i.backup 's/sync;//g' $2 sed -i.backup 's/make_Vec2f/Vec2f/g' $2 sed -i.backup 's/make_Vec3f/Vec3f/g' $2 sed -i.backup 's/make_Vec3fa/Vec3fa/g' $2 sed -i.backup 's/make_Sample3f/Sample3f/g' $2 sed -i.backup 's/\#if 0 \/\/ FIXME: pointer gather/\#if 1 \/\/ FIXME: pointer gather/g' $2 sed -i.backup 's/foreach (i=0 ... N)/for (size_t i = 0; i= numMaterials) continue;//g' $2 sed -i.backup 's/foreach_unique (id in materialID)//g' $2 sed -i.backup 's/ISPCMaterial\* material = \&materials\[id\];/ISPCMaterial\* material = \&materials\[materialID\];/g' $2 sed -i.backup 's/\#define __device__//g' $2 sed -i.backup 's/__device__//g' $2 sed -i.backup 's/make_Ray/RTCRay/g' $2 sed -i.backup 's/\#define PARALLEL_COMMIT//g' $2