⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 graphics.cpp

📁 用于GPU通用计算的编程语言BrookGPU 0.4
💻 CPP
字号:
#include <stdio.h>#include <stdlib.h>#include <brook/brook.hpp>int isdebug=1;int linecount=0;void DrawLine (char * data, float x1, float y1, float x2, float y2, int width) {     int lx,gx,ly,gy,i;  ++linecount;  lx = (int)(x1<x2?x1:x2);  gx = (int)(x1<x2?x2:x1);  ly = (int)(y1<y2?y1:y2);  gy = (int)(y1<y2?y2:y1);  if (lx<0||ly<0||gx<0||gy<0) return;  if (gx-lx<.25){    for (i=ly;i<=gy;++i){      	if (isdebug)      data[i*width+lx]+=63;        else      data[i*width+lx]=127;    }  }else if (gy-ly<.25) {    for (i=lx;i<=gx;++i){      if (isdebug)      data[ly*width+i]+=63;      else data[ly*width+i]=127;    }  }else {    printf ("unsupported draw from %f %f to %f %f\n",x1,y1,x2,y2);  }}void Draw (float4 * dat, int datanum, char * pic, int width) {  int i;  for (i=0;i<datanum;++i) {    float4 data=dat[i];    if (finite_float(data.x)&&finite_float(data.y)&&finite_float(data.z)&&finite_float(data.w)) {      DrawLine(pic,data.x,data.y,data.x,data.w,width);      DrawLine(pic,data.x,data.y,data.z,data.y,width);      DrawLine(pic,data.x,data.w,data.z,data.w,width);      DrawLine(pic,data.z,data.w,data.z,data.y,width);    }  }  if (isdebug)     printf ("Line count: %d\n",linecount);}void Draw (float4 * dat, float4 datasize, char * pic, int width) {   Draw(dat,(int)(datasize.x*datasize.y),pic,width);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -